Servlets和JSP研发原则

2008-02-23 05:04:49来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

 Servlet和JSP技术是用Java研发服务器端应用的主要技术,是研发商务应用表示端的标准。Java研发者喜欢使用他有多种原因,其一是对于已熟悉Java语言的研发者来说这个技术容易学习;其二是Java把“一次编写,到处运行”的理念带入到Web应用中,实现了“一次编写,到处实现”。而且更为重要的是,假如遵循一些良好的设计原则的话,就能够把表示和内容相分离,创造出高质量的、能够复用的、易于维护和修改的应用程式。比方说,在HTML文档中假如嵌入过多的Java代码(scriptlet),就会导致研发出来的应用很复杂、难以阅读、不容易复用,而且对以后的维护和修改也会造成困难。事实上,在CSDN的JSP/Servlet论坛中,经常能够看到一些提问,代码很长,能够逻辑却不是很清楚,大量的HTML和Java代码混杂在一起,让人看得一头雾水。这就是随意研发的弊端。

  假如您已基本了解JSP和Servlet的各项技术(最好也研发过一些Web应用),那么我们能够一起探讨一下如何研发“好”的应用的一些指导原则。我们首先对Servlet和JSP技术做一个浏览。

  Servlet和JSP概览

  早期的动态网页主要采用CGI(Common Gateway Interface,公共网关接口)技术,您能够使用不同的语言编写CGI程式,如VB、C/C 或Delphi等。虽然CGI技术发展成熟且功能强大,但由于编程困难、效率低下、修改复杂等缺点,所以有逐渐被取代的趋势。在任何的新技术中,JSP/Servlet具备更高效、更容易编程、功能更强、更安全和具备良好的可移植性,因而被许多人认为是未来最有发展前途的动态网站技术。

  和CGI相似,Servlet支持请求/响应模型。当一个客户向服务器递交一个请求时,服务器把请求送给Servlet,Servlet负责处理请求并生成响应,然后送给服务器,再由服务器发送给客户。和CGI不同的是,Servlet没有生成新的进程,而是和HTTP Server处于同一进程中。他通过使用线程技术,减小了服务器的开销。Servlet处理请求的过程是这样的:当收到来自客户端的请求后,调用service方法,该方法中Servlet先判断到来的请求是什么类型的(GET/POST/HEAD…),然后调用相应的处理方法(doGet/doPost/doHead…)并生成响应。

  别看这么复杂,其实简单说来Servlet就是个Java类。和一般类的不同之处是,这个类运行在一个Servlet容器内,能够提供session管理和对象生命周期管理。因而当您使用Servlet的时候,您能够得到Java平台的任何好处,包括安全性管理、使用JDBC访问数据库连同跨平台的能力。而且,Servlet使用线程,因而能够研发出效率更高的Web应用。

  JavaServer Pages (JSP)

  JSP技术是J2EE的一个关键技术,他在更高一级的层次上抽象Servlet。他能够让常规静态HTML和动态产生的内容相结合,看起来像一个HTML网页,却作为Servlet来运行。现在有许多商业应用服务器支持JSP技术,比如BEA WebLogic、IBM WebSphere、 JRun等等。使用JSP比用Servlet更简单。假如您有一个支持JSP的Web服务器,并且有一个JSP文档,您能够把他放倒任何静态HTML文档能够放置的位置,不用编译,不用打包,也不用进行ClassPath的配置,就能够像访问普通网页那样访问他,服务器会自动帮您做好其他的工作。

  JSP工作原理

  JSP 文档看起来就像一个普通静态HTML文档,只但是里面包含了一些Java代码。他使用.jsp的后缀,用来告诉服务器这个文档需要特别的处理。当我们访问一个JSP页面的时候,这个文档首先会被JSP引擎翻译为一个Java源文档,其实就是个Servlet,并进行编译,然后像其他Servlet相同,由Servlet引擎来处理。Servlet引擎装载这个类,处理来自客户的请求,并把结果返回给客户,如下图所示:


图1: 调用JSP页面的流程

  以后再有客户访问这个页面的时候,只要该文档没有发生过更改,JSP引擎就直接调用已装载的Servlet。假如已做过修改的话,那就会再次执行以上过程,翻译、编译并装载。其实这就是所谓的“第一人惩罚”。因为首次访问的时候要执行一系列以上的过程,所以会耗费一些时间;以后的访问就不会这样了。


[1] [2] [3] [4] [5] 下一页

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: Windows下C语言网络编程快速入门

下一篇: JSP设计模式

热门词条
热门标签