利用Java开发Web应用(二): 服务器端的实现
2009-11-05 00:00:00 来源:WEB开发网2. Servlets
Servlet对多数人来说已经不是个陌生的名词了。它在网站的架构中常作为CGI的替代品,用来收集HTTP请求中的数据,并依据这些数据进行某种操作。通常,我们还可以利用Chained Servlet和Filtered Serlvet来简化和模块化Servlet。虽然它也可以用输出流动态的产生HTTP响应作为HTML页面传送给浏览器,但是这种做法会导致Servlet的程序很长,而且适应性不强,所以我们还是应该尽量将显示的工作交给JSP去做。与Perl、shell script等CGI相比,Servlet的优势在于它只驻留一次,可以处理多个HTTP请求,而其他的CGI程序则要对每个请求都创建一个进程。所以,Servlet可以在一定程度上节省对资源的消耗。
很容易得出,Servlet和JSP一样,都面临这同一个问题,那就是它的加载需要时间。当一个Web应用启动后,对某个Servlet的第一次调用往往很慢,而以后的调用就会好多了。这个问题是由Servlet在引擎中的调用方式和生命周期决定的(有关的具体内容请参阅sun公司的Servlet规范文章)。如果一个站点对Web应用的性能十分看重的化,不妨编写一个简单的程序,模拟对所有Servlet和JSP文件的HTTP请求来初始化整个Web应用,使其在真正被应用之前就已经加载好了所有的功能。
Servlet也是一种Java程序,所以它也继承了Java语言的所有特点。如果某个Web应用的所有Servlet都具有一个共同的功能,例如对后端数据库的连接,我们便可以先编写一个通用的Servlet来完成这些功能,而其他的Servlet都从这个通用的Servlet继承下来。当然,这只是 Servlet的优势的一个例子,如果仔细研究一下,你可以发现许多。而且,目前Java的IDE有很多,如IBM的VisualAge for Java、Borland的Jbuilder和Semantic的VisualCafe,它们都可以用来开发Servlet。它的调试相对来说也是容易的。
更多精彩
赞助商链接