Servlet 概述

  1. JSP 显示数据
  2. Servlet 接收请求,调用 JavaBean 去处理请求
  3. JavaBean 负责封装数据(实体类 entity)和处理业务逻辑(Service)

Servlet 做什么

  1. 本身不做任何业务处理(业务处理由 Servlet 业务逻辑层实现)
  2. 只是接收请求 并 决定调用哪个JavaBean(调用业务逻辑层的哪个方法)去处理请求
  3. 确定用哪个页面来显示处理返回的数据(转发或重定向到 JSP 页面)

Servlet 是什么?

  • Server(服务器) + Applet(应用程序),是一种服务器的JAVA应用程序
  • 只有一个服务器端的程序使用了 Server API 的时候
    • 即 一个JAVA类继承了一个 Servlet API 时(包括:Servlet 接口、GenericServlet 类或者 HttpServlet 类)
  • 这个服务器的程序才能称之为 Serverlet

Servlet 中主要方法

  • init():Servlet的初始化方法,仅仅会执行一次
  • sevice():处理请求和生成响应
  • destroy():在服务器停止并且程序中的 Servlet 对象不再使用的时候调用,只执行一次
  • ServletRequest (常用 HttpServletRequest)
  • 封装客户的请求学习
  • 作用相当于 JSP 内置对象 request
  • ServletResponse
  • 创建响应学习,将处理结果返回给客户端
  • 作用相当于 JSP 内置对象 response
  • ServletConfig:包含了 servlet 的初始化参数信息

Servlet 生命周期各个阶段(4个)

  • 阶段1:加载和实例化
  • 阶段2:初始化
  • 阶段3:处理请求
  • 阶段4:销毁

Servlet 生命周期流程步骤(8个步骤)

  1. 浏览器发送请求到容器
  2. 容器解析请求(到 web.xml 去找)
  3. 容器实例化 Servlet
  4. 容器调用 Servlet 的 init 初始化方法
  5. 容器调用 Servlet 的 sevice 请求方法
  6. Servlet 输出响应信息(携带数据转发或重定向)
  7. 容器响应信息到浏览器
  8. 当请求结束并且服务器停止运行时,调用 destory 销毁 Servlet 实例

Servlet 部署与运行

  1. 修改 web.xml (部署描述文件)
  2. 添加 <servlet>:把 Servlet 内部名映射到一个 Servlet 类名
  3. 添加 <servlet-mapping>:把用户名访问的 URL 映射到 Servlet 的内部名
  4. 通过浏览器输入 URL 访问 Servlet

注意: <servlet-mapping> 与 <servlet> 中的 <servlet-name> 必须一致

例如:

<servlet>
    <servlet-name>newsServlet</servlet-name>
    <servlet-class>servlet.NewsServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>newsServlet</servlet-name>
    <url-pattern>/add.do</url-pattern>
</servlet-mapping>

总结及心得(了解即可,不用背)

Servlet 的作用

  • 负责接收请求,调用相应的 Service 方法,决定如何响应,本身不做业务逻辑

创建和部署 Servlet

  • 创建:继承自 HttpServlet
  • 部署:修改 web.xml,添加 <Servlet>、<Servlet-mapping>

Servlet 好处

  • 专人专职:JSP 负责显示,Servlet 负责控制

学习方法

  • 基于了解 Servlet 生命周期的基础
  • 参照本课程新闻添加功能的实现,查询帮助文档独立实现新闻修改、删除等功能