Of course, popularity alone is no proof of good technology. Numerous counter-examples abound. But our point is that you are not experimenting with a new and unproven technology when you work with server-side Java.
References:
[1] Clifton G.M. Branham, Arthur Jonathan .Servlets and JSP in an undergraduate database course[J].Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications,2003(3):1490-1496.
[2] Kirkegaard, Christian.Static analysis for Java servlets and JSP[J].Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics),2006(4):336-352.
[3] Nakaike,Takuya.JSP Splitting for improving execution performance[J].Proceedings - International Symposium on Applications and the Internet,2004[8]:117-126.
[4] Hassan, Doaa .Developing a security typed java servlet[J].Proceedings - The 4th International Symposium on Information Assurance and Security,2008(10):215-220.
B.原文的翻译
Servlet和JSP技术概述
Nagle ,Wiegley
摘 要:Servlet程序运行在服务器端。与传统的CGI以及其他许多类似的技术相比,Servlet在生成动态网页这方面更高效,更易于使用,功能更强大,具有更好的便携性,更节约投资。
关键词:JSP技术;Servlet;HTTP server
1 Servlet 工作原理
Servlet是在Web服务器或应用服务器上运行,作为从Web浏览器或其他HTTP客户端和数据库或应用程序的HTTP服务器上的请求之间的中间层的Java程序。他们的工作是执行以下任务,如图1-1所示。
图1 - 1网络中间件的作用
1.1阅读客户端发送的显式数据。
终端用户通常在Web页面上的HTML表单输入此数据。然而,数据也可能来自一个applet或自定义HTTP客户端程序。
1.2阅读由浏览器发送的HTTP隐式请求数据。论文网
图1-1显示了单箭头从客户去到Web服务器(servlet和JSP执行层),但实际上有两个品种的数据终端用户在表单的数据和幕后HTTP信息。这两个品种是至关重要的。在HTTP信息包括cookies,关于媒体类型和压缩方案的浏览器理解的信息,等等。
1.3生成的结果。
这个过程可能需要涉及一个数据库、执行一个RML或者EJB访问,调用Web服务,或者直接计算的响应。真实数据可以是关系数据库,这是很好的。但是你的数据库可能不会发出HTTP或者在HTML中返回结果,因此Web浏览器不能直接跟数据库。即使可以,为了安全起见,你可能不会希望它。同样的道理也适用于大多数其他applications.You需要在Web中间层来提取文档内的结果。
1.4发送显式数据(即,文件)到客户端。
本文件可以以各种格式发送,包括文本(HTML或XML),二元(GIF图像),或者甚至象是一些其他的基础格式的顶部层叠的gzip压缩格式。但是,HTML是迄今为止最常见的格式,所以重要的servlet/ JSP任务是包裹的HTML内的结果。
1.5发送隐式HTTP响应数据。
图1-1显示了单箭头从Web中间层(servlet或JSP页面)到客户端去。但是,实际上有两个品种数据的发送:文档本身和背后的幕后HTTP信息。同样,这两个品种有效的发展至关重要。发送HTTP响应数据包括告诉是什么类型的文档被返回(例如,HTML),设置cookie和缓存参数,以及其他类似任务的浏览器或其他客户端。
2 为什么要建立网页动态?
许多客户端请求可以通过预置的文件来满足,而服务器会处理,但不调用servlet的这些请求。在很多情况下,然而,静态的结果是不充分的,并且需要为每个请求要生成的页面。有许多的原因网页需要在即时内置的原因。