您的位置:首页 > 编程语言 > Java开发

Servlet—Servlet简介、Servlet调用过程

2016-02-21 17:33 543 查看

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()方法。

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息