Servlet—Servlet简介、Servlet调用过程

来源:互联网 发布:做微信视频的软件 编辑:程序博客网 时间:2024/06/05 23:06

1. Servlet简介

Servlet是sun公司提供的一门用于开发动态web资源的技术。Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:

1)编写一个Java类,实现servlet接口。

2)把开发好的Java类部署到web服务器中。

1.1 Servlet例子

下面以一个向浏览器输出“hello servlet!”为例,来粗略地了解下Servlet。

1)在webapps目录下新建一个day05的web应用,在day05下新建一个WEB-INF\classes,在classes新建FirstServlet.java

package com.oner;import java.io.*;import javax.servlet.*;public class FirstServlet extends GenericServlet{public void service(ServletRequest req,ServletResponse res) throws ServletException,java.io.IOException{OutputStream out = res.getOutputStream();out.write("hello servlet!".getBytes());}}


2)编译FirstServlet.java

进入classes目录,编译FirstServlet.java



发现编译出错,提示程序包javax.servlet不存在。这是由于我们使用的环境是JavaSE的环境,但是引用了J2EE的一些资源,所以需要将servlet程序包配置到classpath下,然后再次编译。


这是打开classes目录,发现有com/oner/FirstServlet.class文件,说明编译成功。

3)在day05\web-inf目录,新建一个web.xml文件,对servlet进行配置。

<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="http://java.sun.com/xml/ns/javaee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"    version="2.5"><servlet>        <servlet-name>FirstServlet</servlet-name>        <servlet-class>com.oner.FirstServlet</servlet-class>    </servlet><servlet-mapping>        <servlet-name>FirstServlet</servlet-name>        <url-pattern>/FirstServlet</url-pattern>    </servlet-mapping></web-app>

4)将day05这个web应用发送到TomCat服务器下的webapps目录下。



5)启动TomCat服务器

6)在浏览器中输入http://192.168.80.101:8080/day05/FirstServlet


1.2 Servlet调用过程

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:
1)Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。

2)装载并创建该Servlet的一个实例对象。

3)调用Servlet实例对象的init()方法。

4)创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。

5)WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。

用下面一张图来表示整个过程:





0 0
原创粉丝点击