- 本章目标
- 了解Servlet API的常用接口和类
- 掌握Servlet的部署和配置
- 会使用Servlet处理用户请求
- 掌握Servlet的生命周期
- 什么是Servlet?
Servlet是在服务器运行的Java程序,可以接收客户端请求并作出响应.
Servlet可以动态生成HTML内容对客户端进行响应.
- Servlet与JSP的关系
----------都可以生成HTML内容
- 初始Servlet
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloServletTest extends HttpServlet {
public void doGet ( HttpServletRequest request,
HttpServletResponse response )
throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println(" <head><title>Servlet</title></head>");
out.println(" <body>");
out.println("你好,欢迎来到Servlet世界");
out.println(" </body>");
out.println("</html>");
out.close();
}
}
- Servlet体系结构
- Servlet接口
定义了所有Servlet需要实现的方法
方法名称 | 功能描述 |
void init(ServletConfig config) | 由Servlet容器调用,用于完成Servlet对象在处理客户端请求前的初始化工作 |
void service ( ServletRequest req, ServletResponse res) | 由Servlet容器调用,用来处理客户端的请求 |
void destory() | 由Servlet容器调用,释放Servlet对象所使用的资源 |
ServletConfig getServletConfig() | 返回ServletConfig对象,该对象包含此Servlet的初始化和启动参数.返回的ServletConfig对象是传递给init()方法的对象 |
S听getServletInfo | 返回有关Servlet的信息,比如作者,版本,版权.返回的字符串是纯文本,而不是任何种类的标记(如HTML,XML等) |
- GenericServlet
提供了Servlet与ServletConfig接口方法的默认实现(service()方法除外)
方法名称 | 功能描述 |
public void init( ServletConfig config) | 对Servlet接口中init()方法的实现, 对ServletConfig示例进行了保存. 此方法还有一个午餐的重载方法,可用于子类中重写 |
public String getInitParameter( String name) | 返回web.xml中名称为name的初始化参数的值 |
public ServletContext getServletContext() | 返回ServletContext对象的引用 |
- HttpServlet抽象类
- 继承自GenericServlet
- 处理HTTP协议的请求和响应
- ServletConfig接口
- 在Servlet初始化过程中获取配置信息
- 一个Servlet只有一个ServletConfig对象
- ServletContext接口
获取Web应用上下文,与Servlet容器进行通信
- 请求、响应相关接口
- ServletRequest接口
获取客户端请求的数据
- HttpServletRequest接口
除了继承ServletRequest接口中的方法,还增加了一些用于读取HTTP请求信息的方法
- ServletResponse接口
设置响应参数和向客户端发送响应数据
- HttpServletResponse接口
除了继承ServletResponse接口中的方法,还增加了适用于HTTP响应的新方法
- Servlet的应用
- 创建Servlet
- 继承HttpServlet
- 重写doPost或doGet()方法
- 部署Servlet
- 编译Servlet到/WEB-INF/classes目录
- 编辑部署描述文件web.xml
- <servlet>
- <servlet-mapping>
- <url-pattern>
- 启动Tomcat,访问Servlet
- 创建Servlet
- 使用Servlet实现控制器
修改控制器
- 使用Servlet实现控制器2-2
- Servlet的生命周期2-1
生命周期的各个阶段
- Servlet的生命周期2-2
Servlet的生命周期
- 获取Servlet初始化参数2-1
Servlet初始化参数配置
- 获取Servlet初始化参数2-2
获取初始化参数
- 获取Servlet上下文参数2-1
配置Servlet上下文
- 获取Servlet上下文参数2-2
读取Servlet上下文
- 总结2-1
- 总结2-2