Java-20221014

Servlet

  1. 概念:server applet : 运行在服务器端的小程序

    1. 本质:Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。
    2. 将来我们定义一个类,实现Servlet接口,复写方法。
  2. Servlet快速入门

    1. 创建JavaEE项目

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

      public class ServletDemo1 implements Servlet
      
    3. 实现接口中的抽象方法

    4. 配置Servlet

      web.xml里配置

      
          <servlet>
              <servlet-name>demo1servlet-name>
              <servlet-class>com.emnets.java1014.web.servlet.ServletDemo1servlet-class>
          servlet>
          <servlet-mapping>
              <servlet-name>demo1servlet-name>
              <url-pattern>/demo1url-pattern>
          servlet-mapping>
      
  3. Servlet原理

    1. 服务器接收到客户端浏览器的请求,解析URL路径,获取Servlet的资源路径
    2. 查找web.xml文件,是否有对应的标签体内容。
    3. 如果有,将其对应的字节码文件加载进内存Class.forName()
    4. 创建对象 cls.newInstance( );
    5. 调用方法 service
  4. Servlet中的生命周期(五个方法):

    1. 被创建 init()

      1. 什么时候被创建:

        1. 默认情况第一次被访问

        2. 可以配置执行Servlet创建的时机: 在标签下

          
          <load-on-startup>5load-on-startup>
          
      2. Servlet的init方法,只执行一次,说明Servlet在内存中只存在一个对象,说明Servlet是单例的

        1. 多个用户同时访问时,可能存在多线程访问安全问题,加锁会影响性能。
          1. 解决:尽量不要在 Servlet中定义成员变量;定义在方法中定义局部变量
          2. 即使定义了成员变量,尽量不要对它进行写操作。
    2. 提供服务 service() :每次访问都会被调用一次。

    3. 被销毁 destroy():Servlet被销毁时执行。服务器正常关闭时,Servlet被销毁

      1. 在Servlet被销毁之前执行,一般用于释放资源
    4. *获取ServletConfig对象

    5. *获取Servlet的一些信息(一般不实现)

  5. Servlet 3.0

    1. 优势:
      1. 支持注解配置,可以不需要web.xml
    2. 步骤:
      1. 创建Java EE项目,选择Servlet的版本3.0以上,可以不创建web.xml
      2. 定义一个类,实现Servlet接口
      3. 在类上使用@WebServlet注解进行配置 @WebServlet(“资源路径”)
  6. IDEA和tomcat的相关配置

你可能感兴趣的:(JAVA开发,java,servlet,tomcat)