手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

Servlets和JSP研发原则

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
 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] 下一页

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS