Servlet: Servlet的概念和使用

1 基本概念

  Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,是Java语言编写 的服务器端程序,换句话说,Servlet就是运行在服务器上的Java类。

  Servlet用来完成B/S架构下客户端请求的响应处理,也就是交互式地浏览和生成数据,生成动态 Web内容。

2 Servlet的编程步骤

  <1> 建立一个Java Web Application项目,并配置Tomcat服务器

  <2> 自定义类实现Servlet接口,或继承 HttpServlet类(推荐), 并重写service方法

  <3> 将自定义类的信息配置到 web.xml文件,并启动项目,配置方式如下

<!-- 配置Servlet -->
<servlet>
    <!-- HelloServlet是Servlet类的别名 -->
    <servlet-name> HelloServlet </servlet-name>
    <!-- com.lagou.task01.HelloServlet是包含路径的真实的Servlet类名 -->
    <servlet-class> com.lagou.task01.HelloServlet </servlet-class>
</servlet>

<!-- 映射Servlet -->
<servlet-mapping>
    <!-- HelloServlet是Servlet类的别名,与上述名称必须相同 -->
    <servlet-name> HelloServlet </servlet-name>
    <!-- /hello是供浏览器使用的地址 -->
    <url-pattern> /hello </url-pattern>
</servlet-mapping>

  <4> 在浏览器上访问的方式为

http://localhost:8080/工程路径/url-pattern的内容

3 Servlet接口

<1>  基本概念

      javax.servlet.Servlet接口用于定义所有servlet必须实现的方法

<2>  常用的方法

方法声明 功能介绍
void init(ServletConfig config) 由servlet容器调用,以向servlet指示servlet正在 被放入服务中
void service(ServletRequest req, ServletResponse res) 由servlet容器调用,以允许servlet响应请求
ServletConfig getServletConfig() 返回ServletConfig对象,该对象包含此servlet的初 始化和启动参数
String getServletInfo() 返回有关servlet的信息,如作者、版本和版权
void destroy() 由servlet容器调用,以向servlet指示该servlet正 在退出服务

4 GenericServlet类

<1> 基本概念

    javax.servlet.GenericServlet类主要用于定义一个通用的、与协议无关的servlet,该类实现了 Servlet接口

    若编写通用servlet,只需重写service抽象方法即可

<2> 常用的方法

方法声明 功能介绍
abstract void service(ServletRequest req, ServletResponse res) 由servlet容器调用允许servlet响应 请求

5 HttpServlet类

<1> 基本概念

    javax.servlet.http.HttpServlet类是个抽象类,并继承了GenericServlet类

    用于创建适用于网站的HTTP Servlet,该类的子类必须至少重写一个方法

<2> 常用的方法

方法声明 功能介绍
void doGet(HttpServletRequest req, HttpServletResponse resp) 处理客户端的GET请求
void doPost(HttpServletRequest req, HttpServletResponse resp) 处理客户端的POST请求
void init() 进行初始化操作
void service(HttpServletRequest req, HttpServletResponse resp) 根据请求决定调用doGet还是 doPost方法
void destroy() 删除实例时释放资源

 

6 Servlet 的生命周期

 构造方法只被调用一次,当第一次请求Servlet时,调用构造方法,来创建Servlet的实例

 init方法只被调用一次,当创建好Servlet实例后,立即调用该方法,实现Servlet的初始化

 service方法被多次调用,每当有请求时,都会调用service方法,来用于请求的响应

 destroy方法只被调用一次,当该Servlet实例所在的Web应用被卸载前,调用该方法,来释放当前占用 的资源

原文地址:https://www.cnblogs.com/JasperZhao/p/15262984.html