Servlets和JSP Pages最佳实践

心藏措

心藏措

2016-01-29 12:12

Servlets和JSP Pages最佳实践,Servlets和JSP Pages最佳实践
 

Java Servlet技术与JSP技术使Java服务器端技术,目前他们控制了整个服务器端Java技术市场,并且逐渐成为构建商业Web应用的标准。Java开发者喜欢这些技术是由于很多的原因,包括:这些技术很容易学习,一次编写,处处运行(Write Once, Run Anywhere)。更重要的是,如果更高效地采用了下面的实践,Servlet与JSP能够帮助分开Web的表示与内容。“最佳实践”是被证明为开发高质量、可重用与易维护的基于Servlet和JSP的Web应用的较好方法。与此相对应的是,将Java代码混合在HTML中,这样很容易产生低效率、不易重用、难于维护的复杂应用程序。最佳实践将改变这些弊端。

本文将描述为Servlets与JSP准备的最佳实践的重要性;这里假设读者已经了解两者的基本工作原理。这篇文章将涵盖以下内容:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/java/)简要介绍Java Servlet与JavaServer Pages (JSP)。 为开发Servlets 与JSP提供一些提示,技巧与规则。 为Servlet与JSP提供最佳实践。 Servlet和JSP Pages概述

类似于通用网关接口(CGI)脚本,servlets支持请求响应编程模式。当客户端给服务器发送请求时,服务器将请求发送给servlet。然后,servlet构建一个响应,服务器将该响应发送回客户端。然而,跟CGI脚本不同的是,servlets和HTTP服务器运行在同一个进程内。

当发出客户端请求的时候,调用service 方法并传递一个请求和响应对象。Servlet首先判断该请求是GET 操作还是POST 操作。然后它调用下面的一个方法:doGet 或 doPost。如果请求是GET就调用doGet方法,如果请求是POST就调用doPost方法。doGet和doPost都接受请求(HttpServletRequest)和响应(HttpServletResponse)。

最简单地说,servlets是能够使用print语句产生动态HTML内容的Java类。然而,有一点必须要提一下,那就是servlets是在一个容器内运行的,并且APIs 提供了对会话和对象的生命周期的管理。因此,当你使用servlets时,你就能获得Java平台的所有优势,它包括沙箱 (安全)、通过JDBC的数据库存取API和具有跨平台可移植性的servlets。

Java Server Pages (JSP)

JSP技术是Servlet技术的一个较高层次的抽象。它是Sun公司开发、开放的技术,是与Microsoft公司的ASP动态网页技术相似的一种技术,并且它是Java2 企业版(J2EE)的一个关键组件。目前,很多商业的应用服务器(例如BEA WebLogic, IBM WebSphere, Live JRun, Orion等等)都支持JSP。
 

JSP页面如何工作?

JSP页面实际上是一个带有传统HTML和Java代码的Web页面。JSP页面的文件扩展名是.jsp而并不是.html或.htm,该扩展名告诉服务器该页面需要特殊的处理,该特殊处理必须由服务器扩展或插件实现。

当一个JSP页面被读取时,他首先将被编译(JSP引擎来做这件事情)为一个Servlet。 这时候这个Servlet就像其他Servlet一样被交给Servlet引擎来处理。然后Servlet引擎读取那个Servlet对应的类(用ClassLoader)并且执行它,产生一个动态HTML页面(图1)。这个Servlet创建一些必需的元件,然后将这些元件作为一个字符串写入输出流(OutputStream),并显示在浏览器中。
调用JSP页面时,首先会将它编译成一个 (通过JSP引擎) Java servlet。这时,servlet引擎处理该servlet,就像处理任何其他servlet一样。然后,servlet引擎加载servlet类 (使用类加载器) 并执行它创建动态HTML发送给浏览器,如图1所示。Servlet创建所有必需的对象,并将所有对象作为字符串写入到输出流中,并在浏览器中显示。


1: 调用一个JSP页面的请求/响应流程图

下次请求该页面的时候,JSP引擎执行早就装载的servlet除非JSP页面早就更改,在这种情况下,会将它自动重新编译进一个servlet中并执行。

最佳实践

在本节中,将描述在Servelt, 特别是JSP中的最佳实践。强调JSP最佳实践是因为JSP比Servlet得到更为广泛的应用(也许是因为JSP技术促进了表示与逻辑的分离)。一个集成Servlet与JSP的最佳实践是“模型-显示-控制器”设计模式(Model View Controller, MVC),将在本文的后面部分进行讨论。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/java/)HTML页面中不要过多使用Java代码: 将所有的Java代码直接放在JSP页面中,对于小项目而言没有问题,但是过度使用将会导致意大利面条似的代码,难于阅读,难于理解。减少Java代码的方法是编写独立的Java类来实现计算等逻辑。一旦测试了这些类,就创建了实例。 选择合适的include机制: 最好将页眉、页脚和导航条内容存储在单个文件中,并且不要重新动态产生它们。一旦将这些内容存
展开更多 50%)
分享

猜你喜欢

Servlets和JSP Pages最佳实践

Java JAVA基础
Servlets和JSP Pages最佳实践

Servlets和JSP开发原则

编程语言 网络编程
Servlets和JSP开发原则

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JSP与Servlets的区别

Java JAVA基础
JSP与Servlets的区别

JSP实践要点

Java JAVA基础
JSP实践要点

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

C 编程最佳实践

编程语言 网络编程
C 编程最佳实践

c编程最佳实践

编程语言 网络编程
c编程最佳实践

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

IBM的MARS加密算法实现(下)

IBM的MARS加密算法实现(下)

样 式 表 全 接 触(7)

样 式 表 全 接 触(7)
下拉加载更多内容 ↓