Javaservlet和Jsp教程

上传人:j****s 文档编号:45436135 上传时间:2018-06-16 格式:DOC 页数:161 大小:242.50KB
返回 下载 相关 举报
Javaservlet和Jsp教程_第1页
第1页 / 共161页
Javaservlet和Jsp教程_第2页
第2页 / 共161页
Javaservlet和Jsp教程_第3页
第3页 / 共161页
Javaservlet和Jsp教程_第4页
第4页 / 共161页
Javaservlet和Jsp教程_第5页
第5页 / 共161页
点击查看更多>>
资源描述

《Javaservlet和Jsp教程》由会员分享,可在线阅读,更多相关《Javaservlet和Jsp教程(161页珍藏版)》请在金锄头文库上搜索。

1、JavaJava ServletServlet 和和 JSPJSP 教程教程1 概述 1.1 Java Servlet 及其特点 Servlet 是 Java 技术对 CGI 编程的回答。Servlet 程序在服务器端运行,动态地生成 Web 页面。与传统的 CGI 和许多其他类似 CGI 的技术相比,Java Servlet 具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资(更重要的是, Servlet 程序员收入要比 Perl 程序员高:-): 高效 在传统的 CGI 中,每个请求都要启动一个新的进程,如果CGI 程序本身的执行时间较短,启动进程所需要的开销很可能反而

2、超过实际执行时间。而在 Servlet 中,每个请求由一个轻量级的 Java 线程处理(而不是重量级的操作系统进程) 。 在传统 CGI 中,如果有 N 个并发的对同一 CGI 程序的请求,则该 CGI 程序的代码在内存中重复装载了 N 次;而对于Servlet,处理请求的是 N 个线程,只需要一份 Servlet 类代码。在性能优化方面,Servlet 也比 CGI 有着更多的选择,比如缓冲以前的计算结果,保持数据库连接的活动,等等。 方便 Servlet 提供了大量的实用工具例程,例如自动地解析和解码 HTML 表单数据、读取和设置 HTTP 头、处理 Cookie、跟踪会话状态等。 功能

3、强大 在 Servlet 中,许多使用传统 CGI 程序很难完成的任务都可以轻松地完成。例如,Servlet 能够直接和 Web 服务器交互,而普通的 CGI 程序不能。Servlet 还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。 可移植性好 Servlet 用 Java 编写,Servlet API 具有完善的标准。因此,为 I-Planet Enterprise Server 写的 Servlet 无需任何实质上的改动即可移植到 Apache、Microsoft IIS 或者 WebStar?负跛?有的主流服务器都直接或通过插件支持 Servlet。 节省投资 不仅

4、有许多廉价甚至免费的 Web 服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持 Servlet 的话,要加上这部分功能也往往是免费的(或只需要极少的投资) 。1.2 JSP 及其特点 JavaServer Pages(JSP)是一种实现普通静态 HTML 和动态 HTML 混合编码的技术,有关 JSP 基础概念的说明请参见JSP 技术简介 。 许多由 CGI 程序生成的页面大部分仍旧是静态 HTML,动态内容只在页面中有限的几个部分出现。但是包括 Servlet 在内的大多数 CGI 技术及其变种,总是通过程序生成整个页面。JSP 使得我们可以分别创建这两个部分。例如,下面就

5、是一个简单的 JSP 页面: 欢迎访问网上商店 欢迎 欢迎, 要设置帐号信息,请点击 这里 页面的其余内容. 下面是 JSP 和其他类似或相关技术的一个简单比较: JSP 和 Active Server Pages(ASP)相比 Microsoft 的 ASP 是一种和 JSP 类似的技术。JSP 和 ASP 相比具有两方面的优点。首先,动态部分用 Java 编写,而不是VB Script 或其他 Microsoft 语言,不仅功能更强大而且更易于使用。第二,JSP 应用可以移植到其他操作系统和非Microsoft 的 Web 服务器上。 JSP 和纯 Servlet 相比 JSP 并没有增加

6、任何本质上不能用 Servlet 实现的功能。但是,在 JSP 中编写静态 HTML 更加方便,不必再用 println语句来输出每一行 HTML 代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计专家进行 HTML 设计,同时留出供 Servlet 程序员插入动态内容的空间。 JSP 和服务器端包含(Server-Side Include,SSI)相比SSI 是一种受到广泛支持的在静态 HTML 中引入外部代码的技术。JSP 在这方面的支持更为完善,因为它可以用 Servlet而不是独立的程序来生成动态内容。另外,SSI 实际上只用于简单的包含,

7、而不是面向那些能够处理表单数据、访问数据库的“真正的”程序。 JSP 和 JavaScript 相比 JavaScript 能够在客户端动态地生成 HTML。虽然JavaScript 很有用,但它只能处理以客户端环境为基础的动态信息。除了 Cookie 之外,HTTP 状态和表单提交数据对JavaScript 来说都是不可用的。另外,由于是在客户端运行,JavaScript 不能访问服务器端资源,比如数据库、目录信息等等。 2 安装 2.1 安装 Servlet 和 JSP 开发工具 要学习 Servlet 和 JSP 开发,首先你必须准备一个符合Java Servlet 2.1/2.2 和

8、JavaServer Pages1.0/1.1 规范的开发环境。Sun 提供免费的JavaServer Web Development Kit(JSWDK) ,可以从http:/ 安装好 JSWDK 之后,你还要告诉 javac,在编译文件的时候到哪里去寻找 Servlet 和 JSP 类。JSWDK 安装指南对此有详细说明,但主要就是把 servlet.jar 和 jsp.jar 加入CLASSPATH。CLASSPATH 是一个指示 Java 如何寻找类文件的环境变量,如果不设置 CLASSPATH,Java 在当前目录和标准系统库中寻找类;如果你自己设置了 CLASSPATH,不要忘记包

9、含当前目录(即在 CLASSPATH 中包含“.” ) 。 另外,为了避免和其他开发者安装到同一 Web 服务器上的Servlet 产生命名冲突,最好把自己的 Servlet 放入包里面。此时,把包层次结构中的顶级目录也加入 CLASSPATH 会带来不少方便。请参见下文具体说明。 2.2 安装支持 Servlet 的 Web 服务器 除了开发工具之外,你还要安装一个支持 Java Servlet的 Web 服务器,或者在现有的 Web 服务器上安装 Servlet 软件包。如果你使用的是最新的 Web 服务器或应用服务器,很可能它已经有了所有必需的软件。请查看 Web 服务器的文档,或访问

10、http:/ 查看支持 Servlet 的服务器软件清单。 虽然最终运行 Servlet 的往往是商业级的服务器,但是开始学习的时候,用一个能够在台式机上运行的免费系统进行开发和测试也足够了。下面是几种当前最受欢迎的产品。 Apache Tomcat. Tomcat 是 Servlet 2.2 和 JSP 1.1 规范的官方参考实现。Tomcat 既可以单独作为小型 Servlet、JSP 测试服务器,也可以集成到 Apache Web 服务器。直到 2000 年早期,Tomcat 还是唯一的支持 Servlet 2.2 和 JSP 1.1 规范的服务器,但已经有许多其它服务器宣布提供这方面的

11、支持。 Tomcat 和 Apache 一样是免费的。不过,快速、稳定的Apache 服务器安装和配置起来有点麻烦,Tomcat 也有同样的缺点。和其他商业级 Servlet 引擎相比,配置 Tomcat 的工作量显然要多一点?咛迩氩渭?http:/jakarta.apache.org/。 JavaServer Web Development Kit (JSWDK). JSWDK 是 Servlet 2.1 和 JSP 1.0 的官方参考实现。把Servlet 和 JSP 应用部署到正式运行它们的服务器之前,JSWDK可以单独作为小型的 Servlet、JSP 测试服务器。JSWDK 也是免费

12、的,而且具有很好的稳定性,但它的安装和配置也较为复杂?咛迩氩渭?http:/ Allaire JRun. JRun 是一个 Servlet 和 JSP 引擎,它可以集成到Netscape Enterprise 或FastTrack Server、IIS、Microsoft Personal Web Server、版本较低的 Apache、Oeilly 的 WebSite 或者StarNine Web STAR。最多支持 5 个并发连接的限制版本是免费的,商业版本中不存在这个限制,而且增加了远程管理控制台之类的功能?咛迩氩渭?http:/ New Atlanta 的 ServletExec Se

13、rvletExec 是一个快速的 Servlet 和 JSP 引擎,它可以集成到大多数流行的 Web 服务器,支持平台包括Solaris、Windows、MacOS、HP-UX 和 Linux。ServletExec 可以免费下载和使用,但许多高级功能和管理工具只有在购买了许可之后才可以使用。New Atlanta 还提供一个免费的 Servlet调试器,该调试器可以在许多流行的 Java IDE 下工作?咛迩氩渭?http:/ Gefion 的 LiteWebServer (LWS) LWS 是一个支持 Servlet 2.2 和 JSP 1.1 的免费小型 Web服务器。 Gefion 还

14、有一个免费的 WAICoolRunner 插件,利用该插件可以为 Netscape FastTrack 和 Enterprise Server 增加Servlet 2.2 和 JSP 1.1 支持?咛迩氩渭?http:/ Sun 的 Java Web Server. 该服务器全部用 Java 写成,而且是首先提供 Servlet 2.1和 JSP 1.0 规范完整支持的 Web 服务器之一。虽然 Sun 现在已转向 Netscape/I-Planet Server,不再发展Java Web Server,但它仍旧是一个广受欢迎的 Servlet、JSP学习平台。要得到免费试用版本,请访问htt

15、p:/ 3 Servlet 3.1 Servlet 基本结构 下面的代码显示了一个简单 Servlet 的基本结构。该Servlet 处理的是 GET 请求,所谓的 GET 请求,如果你不熟悉HTTP,可以把它看成是当用户在浏览器地址栏输入 URL、点击Web 页面中的链接、提交没有指定 METHOD 的表单时浏览器所发出的请求。Servlet 也可以很方便地处理 POST 请求。POST 请求是提交那些指定了 METHOD=“POST”的表单时所发出的请求,具体请参见稍后几节的讨论。 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SomeServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / 使用“request”读取和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号