Servlet
Servlet做什么
- 本身不做任何业务处理
- 只是接受请求并决定调用哪个JavaBean去处理请求
- 确定用那个页面来显示处理返回的数据
Servlet是什么
- Server+Applet,是一种服务器端的Java应用程序
- 只有当一个服务器端的程序使用了Servlet API 的时候,这个服务端的程序才能称为Servlet
Servlet API
主要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():处理请求和生成响应
- destroy():在服务器停止并且程序中的Servlet对象不再使用的时候调用,只执行一次
ServletRequest
- 封装客户的请求信息
- 作用相当于JSP内置对象request
ServletResponse
- 创建响应信息,将处理结果返回给客户端
- 作用相当于JSP内置对象response
ServletConfig
- 包含了Servlet的初始化参数信息
Servlet生命周期
- 加载和实例化
- 初始化
- 处理请求
- 销毁
部署运行Servlet
- 修改web.xml(部署描述文件)
- 添加<servlet>:把Servlet内部名映射到一个Servlet类名
- 添加<servlet-mapping>:把用户访问的URL映射到Servlet的内部名
- <servlet-mapping>与<servlet>中的<servlet-name>必须一致
- 通过URL访问Servlet
JSP Model
MVC
MVC优点
- 多视图共享一个模型,大大提高代码的可重用性
- MVC三个模块相互独立,松耦合架构
- 控制器提高了应用程序的灵活性和可配置性
- 有利于软件工程化管理
MVC缺点
- 原理复杂
- 增加了系统结构和实现的复杂性
- 视图对模型数据的低效率访问
过滤器
- 是向Web应用程序的请求和响应添加功能的Web服务组件
- 过滤器可以统一地集中处理请求和响应
- 使用过滤器技术实现对请求数据的过滤
过滤器的使用步骤
过滤器的应用场合
- 对请求和响应进行统一处理
- 对请求进行日志记录和审核
- 对数据进行屏蔽和替换
- 对数据进行加密和解密