1.1 java servlet及其特点
servlet是java技术对cgi编程的回答。servlet程序在服务器端运行,动态地生成web页面。 与传统的cgi和许多其他类似cgi的技术相比,java servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资(更重要的是, servlet程序员收入要比perl程序员高:-):
高效。
在传统的cgi中,每个请求都要启动一个新的进程,如果cgi程序本身的执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。而在servlet中,每个请求由一个轻量级的java线程处理(而不是重量级的操作系统进程)。
在传统cgi中,如果有n个并发的对同一cgi程序的请求,则该cgi程序的代码在内存中重复装载了n次;而对于servlet,处理请求的是n个线程,只需要一份servlet类代码。在性能优化方面,servlet也比cgi有着更多的选择,比如缓冲以前的计算结果,保持数据库连接的活动,等等。
方便。
servlet提供了大量的实用工具例程,例如自动地解析和解码html表单数据、读取和设置http头、处理cookie、跟踪会话状态等。
功能强大。
在servlet中,许多使用传统cgi程序很难完成的任务都可以轻松地完成。例如,servlet能够直接和web服务器交互,而普通的cgi程序不能。servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。
可移植性好。
servlet用java编写,servlet api具有完善的标准。因此,为i-pl.net enterprise server写的servlet无需任何实质上的改动即可移植到apache、microsoft iis或者webstar。几乎所有的主流服务器都直接或通过插件支持servlet。
节省投资。
不仅有许多廉价甚至免费的web服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持servlet的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。
1.2 jsp及其特点
javaserver pages(jsp)是一种实现普通静态html和动态html混合编码的技术,有关jsp基础概念的说明请参见《jsp技术简介 》。
许多由cgi程序生成的页面大部分仍旧是静态html,动态内容只在页面中有限的几个部分出现。但是包括servlet在内的大多数cgi技术及其变种,总是通过程序生成整个页面。jsp使得我们可以分别创建这两个部分。例如,下面就是一个简单的jsp页面:
| <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head><title>欢迎访问网上商店</title></head> <body> <h1>欢迎</h1> <small>欢迎, <!-- 首次访问的用户名字为"new user" --> <% out.println(utils.getusernamefromcookie(request)); %> 要设置帐号信息,请点击 <a href="account-settings.html">这里</a></small> <p> 页面的其余内容。. </body></html> |
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器