Servlet(一)----快速入门

时间:2020-03-08
本文章向大家介绍Servlet(一)----快速入门,主要包括Servlet(一)----快速入门使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

## Servlet:server applet

  *  概念:运行在服务端的小程序

    *  servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。

    *  将来我们自定义一个类,实现servlet接口,复写方法。

  *  快速入门

    1、创建javaee项目

<dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>4.0.1</version>
          <scope>provided</scope>
      </dependency>

      <dependency>
          <groupId>javax.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.2</version>
      </dependency>

    2、定义一个类,实现Servlet接口

public class ServletDemo01 implements Servlet

    3、实现接口中的抽象方法

    4、配置Servlet(在web.xml中配置)

<servlet>
        <servlet-name>RequestTest</servlet-name>
        <servlet-class>com.seu.servlet.RequestTest</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>RequestTest</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>

  *  执行原理

    1、当服务器接收到客户端的浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径。

    2、查找web.xml文件,是否有对应的<url-pattern>标签体内容。

    3、如果有,则在找到对应的<servlet-class>全类名。

    4、Tomcat会将字节码文件加载进内存,并且创建其对象。

    5、调用方法。

  *  Servlet中的生命周期

    1、被创建:执行init方法,只执行一次

    * servlet什么时候被创建?

      *  默认情况下,第一次被访问时,Servlet被创建

      *  可以配置执行Servlet的创建时机

<!--指定Servlet的创建时机:1、第一次被访问时,创建。值为负数 2、在服务器启动时,创建。值为正整数或0-->
        <load-on-startup>5</load-on-startup>

      *  Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的。

        *  多个用户同时访问时,可能存在线程安全问题。

        *  解决:尽量不要再Servlet中定义成员变量。即使定义了成员变量,也不要对其修改值。

    2、提供服务:执行service方法,执行多次

      *  每次访问Servlet时,service方法都会被调用一次。

    3、被销毁:执行destroy方法,执行一次

      *  Servlet被销毁时执行。服务器关闭时,Servlet被销毁。

      *  只有服务器正常关闭时,才会执行destroy方法。

      *  destroy方法在Servlet销毁之前执行,一般用于释放资源。

原文地址:https://www.cnblogs.com/21seu-ftj/p/12442517.html