没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
目录
Java Servlet 和 JSP 教程....................................................................................................................1
3.2.2Servlet 的编译和安装...............................................................................................................7
3.2.3运行 Servlet...............................................................................................................................7
Java Servlet 和 JSP 教程
1概述
1.1 JavaServlet 及其特点
Servlet 是 Java 技术对 CGI 编程的回答。Servlet 程序在服务器端运行,
动态地生成 Web 页面。与传统的 CGI 和许多其他类似 CGI 的技术相比,
JavaServlet 具有更高的效率,更容易使用,功能更强大,具有更好的可移
植性,更节省投资(更重要的是, 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 编写,ServletAPI 具有完善的标准。因此,为 I-PlanetEnt
erpriseServer 写 的 Servlet 无 需 任 何 实 质 上 的 改 动 即 可 移 植 到
Apache、MicrosoftIIS 或者 WebStar?负跛械闹髁鞣衿鞫贾苯踊蛲 ü寮
С 諷 ervlet。
节省投资
不仅有许多廉价甚至免费的 Web 服务器可供个人或小规模网站使用,而
且对于现有的服务器,如果它不支持 Servlet 的话,要加上这部分功能也往
往是免费的(或只需要极少的投资)。
1.2JSP 及其特点
JavaServerPages(JSP)是一种实现普通静态 HTML 和动态 HTML 混合
编码的技术,有关 JSP 基础概念的说明请参见《JSP 技术简介 》。
许多由 CGI 程序生成的页面大部分仍旧是静态 HTML,动态内容只在
页面中有限的几个部分出现。但是包括 Servlet 在内的大多数 CGI 技术及其
变种,总是通过程序生成整个页面。JSP 使得我们可以分别创建这两个部
分。例如,下面就是一个简单的 JSP 页面:
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD><TITLE>欢迎访问网上商店</TITLE></HEAD>
<BODY>
<H1>欢迎</H1>
<SMALL>欢迎,
<!--首次访问的用户名字为"NewUser"-->
<%out.println(Utils.getUserNameFromCookie(request));%>
要设置帐号信息,请点击
<AHREF="Account-Settings.html">这里</A></SMALL>
<P>
页面的其余内容...
</BODY></HTML>
下面是 JSP 和其他类似或相关技术的一个简单比较:
JSP 和 ActiveServerPages(ASP)相比
Microsoft 的 ASP 是一种和 JSP 类似的技术。JSP 和 ASP 相比具有两方面
的优点。首先,动态部分用 Java 编写,而不是 VBScript 或其他 Microsoft
语言,不仅功能更强大而且更易于使用。第二,JSP 应用可以移植到其他
操作系统和非 Microsoft 的 Web 服务器上。
JSP 和纯 Servlet 相比
JSP 并没有增加任何本质上不能用 Servlet 实现的功能。但是,在 JSP 中
编写静态 HTML 更加方便,不必再用 println 语句来输出每一行 HTML 代
码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可
以方便地分开:比如,由页面设计专家进行 HTML 设计,同时留出供
Servlet 程序员插入动态内容的空间。
JSP 和服务器端包含(Server-SideInclude,SSI)相比
SSI 是一种受到广泛支持的在静态 HTML 中引入外部代码的技术。JSP
在这方面的支持更为完善,因为它可以用 Servlet 而不是独立的程序来生成
动态内容。另外,SSI 实际上只用于简单的包含,而不是面向那些能够处
理表单数据、访问数据库的“真正的”程序。
JSP 和 JavaScript 相比
JavaScript 能够在客户端动态地生成 HTML。虽然 JavaScript 很有用,但
它只能处理以客户端环境为基础的动态信息。除了 Cookie 之外,HTTP 状
态和表单提交数据对 JavaScript 来说都是不可用的。另外,由于是在客户
端运行,JavaScript 不能访问服务器端资源,比如数据库、目录信息等等。
2 安装
2.1 安装 Servlet 和 JSP 开发工具
要学习 Servlet 和 JSP 开发,首先你必须准备一个符合 JavaServlet2.1/2.2
和 JavaServerPages1.0/1.1 规范的开发环境。Sun 提供免费的 JavaServerWebDev
elopmentKit(JSWDK),可以从 http://java.sun.com/products/servlet/下载。
安装好 JSWDK 之后,你还要告诉 javac,在编译文件的时候到哪里去寻找
Servlet 和 JSP 类。JSWDK 安装指南对此有详细说明,但主要就是把 servlet.jar
和 jsp.jar 加入 CLASSPATH。CLASSPATH 是一个指示 Java 如何寻找类文件的环
境变量,如果不设置 CLASSPATH,Java 在当前目录和标准系统库中寻找类;
如果你自己设置了 CLASSPATH,不要忘记包含当前目录(即在 CLASSPATH
中包含“.”)。
另外,为了避免和其他开发者安装到同一 Web 服务器上的 Servlet 产生命名冲
突,最好把自己的 Servlet 放入包里面。此时,把包层次结构中的顶级目录也加
入 CLASSPATH 会带来不少方便。请参见下文具体说明。
2.2 安装支持 Servlet 的 Web 服务器
除了开发工具之外,你还要安装一个支持 JavaServlet 的 Web 服务器,或者
在现有的 Web 服务器上安装 Servlet 软件包。如果你使用的是最新的 Web 服务
器或应用服务器,很可能它已经有了所有必需的软件。请查看 Web 服务器的文
档,或访问 http://java.sun.com/products/servlet/industry.html 查看支持 Servlet 的
服务器软件清单。
虽然最终运行 Servlet 的往往是商业级的服务器,但是开始学习的时候,用一
个能够在台式机上运行的免费系统进行开发和测试也足够了。下面是几种当前
最受欢迎的产品。
ApacheTomcat.
Tomcat 是 Servlet2.2 和 JSP1.1 规范的官方参考实现。Tomcat 既可以单独作
为小型 Servlet、JSP 测试服务器,也可以集成到 ApacheWeb 服务器。直到
2000 年早期,Tomcat 还是唯一的支持 Servlet2.2 和 JSP1.1 规范的服务器,但
已经有许多其它服务器宣布提供这方面的支持。
Tomcat 和 Apache 一样是免费的。不过,快速、稳定的 Apache 服务器安装和
配置起来有点麻烦,Tomcat 也有同样的缺点。和其他商业级 Servlet 引擎相比,
配置 Tomcat 的工作量显然要多一点?咛迩氩渭鹔 ttp://jakarta.apache.org/。
JavaServerWebDevelopmentKit(JSWDK).
JSWDK 是 Servlet2.1 和 JSP1.0 的官方参考实现。把 Servlet 和 JSP 应用部署
到正式运行它们的服务器之前,JSWDK 可以单独作为小型的 Servlet、JSP 测试
服务器。JSWDK 也是免费的,而且具有很好的稳定性,但它的安装和配置也
较为复杂?咛迩氩渭鹔 ttp://java.sun.com/products/servlet/download.html。
AllaireJRun.
JRun 是 一 个 Servlet 和 JSP 引 擎 , 它 可 以 集 成 到 NetscapeEnterprise 或
FastTrackServer 、 IIS 、 MicrosoftPersonalWebServer 、 版 本 较 低 的
Apache、O'eilly 的 WebSite 或者 StarNineWebSTAR。最多支持 5 个并发连接的
限制版本是免费的,商业版本中不存在这个限制,而且增加了远程管理控制台
之类的功能?咛迩氩渭鹔 ttp://www.allaire.com/products/jrun/。
NewAtlanta的 ServletExec
ServletExec 是一个快速的 Servlet 和 JSP 引擎,它可以集成到大多数流行的
Web 服 务 器 , 支 持 平 台 包 括 Solaris 、 Windows 、 MacOS 、 HP-UX 和
Linux。ServletExec 可以免费下载和使用,但许多高级功能和管理工具只有在
购买了许可之后才可以使用。NewAtlanta 还提供一个免费的 Servlet 调试器,
该调试器可以在许多流行的 JavaIDE 下工作?咛迩氩渭鹔 ttp://newatlanta.com/。
Gefion 的 LiteWebServer(LWS)
LWS 是一个支持 Servlet2.2 和 JSP1.1 的免费小型 Web 服务器。 Gefion 还有
一个免费的 WAICoolRunner 插件,利用该插件可以为 NetscapeFastTrack 和
EnterpriseServer 增 加 Servlet2.2 和 JSP1.1 支 持 ? 咛 迩 氩 渭 鹔 ttp://
www.gefionsoftware.com/。
Sun 的 JavaWebServer.
该服务器全部用 Java 写成,而且是首先提供 Servlet2.1 和 JSP1.0 规范完整
支持的 Web 服务器之一。虽然 Sun 现在已转向 Netscape/I-PlanetServer,不再
发展 JavaWebServer,但它仍旧是一个广受欢迎的 Servlet、JSP 学习平台。要
得到免费试用版本,请访问 http://www.sun.com/software/jwebserver/try/。
3 Servlet
3.1 Servlet 基本结构
下面的代码显示了一个简单 Servlet 的基本结构。该 Servlet 处理的是 GET 请
求,所谓的 GET 请求,如果你不熟悉 HTTP,可以把它看成是当用户在浏览器
地址栏输入 URL、点击 Web 页面中的链接、提交没有指定 METHOD 的表单时
浏览器所发出的请求。Servlet 也可以很方便地处理 POST 请求。POST 请求是
提交那些指定了 METHOD=“POST”的表单时所发出的请求,具体请参见稍后
几节的讨论。
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassSomeServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsServletException,IOException{
//使用“request”读取和请求有关的信息(比如 Cookies)
//和表单数据
//使用“response”指定 HTTP 应答状态代码和应答头
//(比如指定内容类型,设置 Cookie)
剩余59页未读,继续阅读
资源评论
oligaga
- 粉丝: 50
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功