zoukankan      html  css  js  c++  java
  • 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销毁之前执行,一般用于释放资源。

    That which doesn't kill me makes me stronger!
  • 相关阅读:
    2-5
    2-4 及 1、2两章 学习心得 和问题
    2-3
    4-8
    4-6
    4-5
    4-4
    4-3
    4-2
    4-1
  • 原文地址:https://www.cnblogs.com/21seu-ftj/p/12442517.html
Copyright © 2011-2022 走看看