zoukankan      html  css  js  c++  java
  • 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应用被卸载前,调用该方法,来释放当前占用 的资源

  • 相关阅读:
    leetcode 131. Palindrome Partitioning
    leetcode 526. Beautiful Arrangement
    poj 1852 Ants
    leetcode 1219. Path with Maximum Gold
    leetcode 66. Plus One
    leetcode 43. Multiply Strings
    pytorch中torch.narrow()函数
    pytorch中的torch.repeat()函数与numpy.tile()
    leetcode 1051. Height Checker
    leetcode 561. Array Partition I
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/15262984.html
Copyright © 2011-2022 走看看