云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Servlet入门指南

Servlet入门指南

  • 62 次阅读
  • 3 次下载
  • 2025/12/13 17:01:27

Servlet入门指南

1.简介

Servlet是在Web服务器端加载并运行的Java应用程序,具体运行在Servlet引擎管理的JVM上,负责Servlet和用户的通信以及调用Servlet的方法。Servlet和用户的通信采用请求/响应模式,用于以动态响应客户机请求形式扩展Web服务器(Web Container)的功能。

Servlet是一个执行在服务器端的Java Class文件,载入前必须先将Servlet程序代码编译成.class文件,然后将此class文件放在servlet Engline路径下。Servlet API使用javax.servlet和javax.servlet.http两个包的接口类。Servlet是开发服务器端应用程序的一个很好选择, Servlet与JSP结合使用,能提供更强大的服务器端功能。

Servlet的最大的缺点是不能有效地管理页面的逻辑部分和页面的输出部分,导致Servlet代码非常混乱,而用JSP和JavaBean/Servlet结合可以有效地管理页面的逻辑部分和页面的输出部分。当服务器上的一个JSP网页被第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个Java文件,再将这个Java文件编译成class字节码文件(即Servlet类),然后执行以响应客户的请求,当这个JSP页面再次被请求执行时,JSP引擎将直接执行这个字节码文件来响应客户,响应速度比第一次执行快很多。

两者可以互相调用,一般Servlet较多应用于业务逻辑(页面HTML输出不多或没有),而JSP偏重于数据展现,同一份数据可以用不同形式的视图来展现。

2. 基本引擎分类

? 大多数的J2EE服务器,如:BEA WebLogic,WebSphere Application,

JBoss等。

? 具有内置Servlet容器的Web服务器,如:Tomcat。

? 使用Servlet引擎插件的产品,如JRun、 Apache Web服务器、Microsoft

IIS等,这些产品都需要安装Web插件来集成Java运行时环境

3. Servlet 处理请求的过程

1. 用户从客户机将HTTP请求发送给Web服务器。

2. Web容器实例化Servlet,并创建线程。 3. Web服务器将该请求发送给Servlet。 4. Servlet处理该请求。

5. Servlet将响应发送给Web服务器。 6. Web服务器将响应转发送给客户机。

Servlet被发来的第一个请求激活,然后继续运行于后台,以线程形式处理请求,速度非常快,直到Servlet被修改时才再次加载。

一个Servlet在同一时刻只有一个实例,并且它在Sevlet的使用期间将一直保留。

4. Servlet的生命周期

(1)初始化阶段

在下列情形下Web容器装入Servlet,创建一个Servlet实例,调用Servlet的init()方法对Servlet实例初始化:

? ? ?

Servlet容器启动时。

在Servlet容器启动后,客户首次向Servlet发出请求。 Servlet的类文件被修改后,重新加载。

(2)服务阶段

如果容器接收到对此Servlet的请求,那么它根据配置文件Web.xml中URL与Servlet映射关系将请求转发至此Servlet的service()方法。 service()方法中调用doGet()或doPost()。 (3)终止阶段

实例被销毁,通过调用Servlet的destory()方法来销毁Servlet,关闭数据库连接、中断后台线程等。

5. Tomcat 的主要目录结构

① /bin: 存放Tomcat服务器的可执行文件和运行用的Jar包。

② /conf :存放Tomcat服务器的各种配置文件,其中最重要的是server.xml。 ③ /server :包含3个子目录classes、lib和webapps。

④ /common/lib 存放Tomcat服务器以及所有Web应用都可以访问的JAR。 ⑤ /logs:存放了Tomcat的日志文件。

⑥ /webapps:当发布Web应用时,默认情况下把Web应用文件放于此目录下。 ⑦ /work:Tomcat把由JSP生成的Servlet放于此目录下。

其中server.xml是用于整个Web服务器的,可以配置Web服务器的端口、应用目录、应用的入口、用户访问安全等信息。

6. Web应用的目录结构

Web应用有固定的结构,在/webapps目录下创建一个目录myapp。则这个Web应用的目录结构如下:

① /myapp:Web应用的根目录,所有的JSP和Html文件都存放在该目录下。 ② /myapp/WEB-INF:存放Web应用的描述文件web.xml。

③ /myapp/WEB-INF/classes:存放各种class文件,servlet类文件也存放与该目录下。

④/myapp/WEB-INF/lib:存放Web应用所需的各种JAR文件。如可以存放JDBC驱动程序的JAR文件。

示例Servlet程序如下所示:

import java.io.*;

import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {

response.setContentType(\ PrintWriter out = response.getWriter(); out.println(\ out.println(\

out.println(\ out.println(\ out.println(\

out.println(\ out.println(\ out.println(\ out.close(); } }

7. 配置文件web.xml

Java Web 应用通过一个基于XML的发布描述文件来配置其发布信息。Web.xml文件中可包含的配置信息有:

① Servlet的定义; ② Servlet的初始化参数; ③ Servlet以及JSP的映射; ④ 安全域配置参数; ⑤ 资源引用; ⑥ 环境变量的定义。

配置文件web.xml可以自己编写,也可以从其他应用(如Root、JSP-examples、servlets-examples等)目录下拷贝过来修改。

8. 部署Servlet文件的步骤

① 编写Servlet并编译成class文件,编译时,将servlet-api.jar文件(在/common/lib 目录下)加入到classpath中;

② 将编译好的class文件拷贝到应用的WEB-INF/classes/下(如/myapp/WEB-INF/classes/);

③ 在web.xml中进行配置 ,具体可参见下面的web.xml,在...之间添加如下内容:

HelloServlet HelloServlet

HelloServlet /HelloServlet/*

保存web.xml 文件,注意,备份修改前的web.xml 。

重新启动Tomcat 服务器,在地址栏http://localhost:8080/HelloServlet 访问HelloServlet .class 即可。

注意:如果Tomcat已经启动,需要重启Tomcat

搜索更多关于: Servlet入门指南 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

Servlet入门指南 1.简介 Servlet是在Web服务器端加载并运行的Java应用程序,具体运行在Servlet引擎管理的JVM上,负责Servlet和用户的通信以及调用Servlet的方法。Servlet和用户的通信采用请求/响应模式,用于以动态响应客户机请求形式扩展Web服务器(Web Container)的功能。 Servlet是一个执行在服务器端的Java Class文件,载入前必须先将Servlet程序代码编译成.class文件,然后将此class文件放在servlet Engline路径下。Servlet API使用javax.servlet和javax.servlet.http两个包的接口类。Servlet是开发服务器端应用程序的一个很好选择, Servlet与JSP结合使用,能提供更强大的服务器端功能。

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com