JavaWeb学习笔记3
初识Servlet
Servlet做了什么?
- 本身不做任何业务处理
- 知识接受请求并决定调用哪个JavaBean去处理请求
- 确定用哪个页面来显示处理返回的数据
Servlet是什么?
- Server+Applet,是一种服务器端的Java应用程序
- 只有当一个服务器段的程序使用了Servlet API的时候,这个服务端的程序才能称之为Servlet
主要Servlet API介绍
- javax.servlet.Servlet接口:
- 所有Java Servlet的基础接口类,规定了必须由Servlet具体类实现的方法集
- javax.servlet.GenericServlet类
- 是Servlet的通用版本,是一种与协议无关的Servlet
- javax.servlet.http.HttpServlet类
- 在GenericServlet基础上扩展的基于HTTP协议的Servlet
如何创建Servlet
- 实现Servlet接口
- 继承GenericServlet类
- 继承HttpServlet类
Servlet中主要方法
- init():Servlet的初始化方法,仅仅会执行一次
- service():处理请求和生成响应
- destory():在服务器停止并且程序中的Servlet对象不再使用的时候调用,只执行一次
- ServletRequest
- 封装客户的请求信息
- 作用相当于JSP内置对象request
- ServletResponse
- 创建响应信息,将处理结果返回给客户端
- 作用相当于JSP内置对象response
- ServletConfig
- 包含了servlet的初始化参数信息
Servlet生命周期
Servlet生命周期各个阶段
- 加载和实例化
- 初始化
- 处理请求
- 销毁
生命周期 | 谁来做 | 何时做 |
---|---|---|
实例化 | Servlet容器 | 当Servlet容器启动或者容器检测到客户端请求时 |
初始化 | Servlet容器 | 实例化后,容器调用Servlet的init()初始化对象 |
处理请求 | Servlet容器 | 得到客户端请求并作出处理时 |
销毁 | Servlet容器 | 当程序中的Servlet对象不再使用的时候,或者Web服务器停止运行的时候 |
部署运行Servlet
Servlet部署与运行
- 修改web.xml(部署描述文件)
- 添加:把Servlet内部名映射到一个Servlet类名
- 添加:把用户访问的URL映射到Servlet的内部名
注意:与中的必须一致
Servlet生命周期
Servlet配置
Servlet的作用
- 负责接收请求,调用相应Service方法,决定如何响应,本身不做业务逻辑
创建和部署Servlet(重点)
- 创建:继承自HttpServlet
- 部署:修改web.xml,添加、
Servlet的好处
- 专人专职:JSP负责显示,Servlet负责控制