实训第二天笔记---servlet

实训第二天笔记—servlet

第二天笔记思维导图

servlet概述

  • 什么是servlet

    Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口)

    用来处理客户端请求、响应给浏览器的动态资源。

    Servlet是JavaWeb三大组件之一(Servlet、Filter、Listener),且最重要。

  • servlet的作用

    用来处理从客户端发送过来的请求,并对该请求作出响应

    Servlet的任务有:

    1.获取请求数据

    2.处理请求

    3.完成响应

Servlet的访问路径

  1. 什么是urlPatterns?

    用来给Servlet设置访问路径

  2. 两种设置方式

    • 注解设置 @WebServlet (name urlPatterns value)都可以用来设置servlet的访问路径,但只有value可以省略变量名

    • Servlet传统配置方式

      <!--配置servlet类-->
      
        <servlet> 3
      
          <servlet-name>Demo1Servlet</servlet-name>
      
          <servlet-class>com.wzx.Demo01Servlet</servlet-class>
      
        </servlet>
      
        <!-- 配置servlet类的访问地址-->
      
        <servlet-mapping>  2
      
          <servlet-name>Demo1Servlet</servlet-name>
      
          <url-pattern>/abc</url-pattern>
      
        </servlet-mapping>
      
      

      servlet的xml与url的关系图解:

servlet的xml与url的关系图解

Servlet的生命周期

  1. 什么是生命周期?

    就是一个对象从创建到销毁的过程.

  2. Servlet继承关系

    实现Servlet接口

    GenericServlet实现Servlet接口

    HttpServlet继承GenericServlet

    MyServlet继承HttpServlet

要想对servlet类更加了解,那么就要分析它的源码,我这边用一张图来表示servlet各类的关系:
servlet源码分析
Servlet的url-pattern路径

  1. url-pattern配置方式共有三种:
  • 完全路径匹配 :以 / 开始

例如: /ServletDemo4 , /aaa/ServletDemo5 , /aaa/bbb/ServletDemo6

  • 目录匹配 :以 / 开始 需要以 * 结束.

例如: /* (所有) ,/aaa/* (aaa目录下的所有) ,/aaa/bbb/*

  • 扩展名匹配 :不能以 / 开始 以 * 开始的. 例如: .do , .action 、.jsp 、.jpg

***** 错误的写法 : /*.do

  • 缺省路径 /

通常情况访问 html页面时,首先从当前web项目的web.xml文件寻找匹配路径,如果如果没有找到,再从tomcat默认的web.xml匹配,将使用缺省servlet

ServletContext

  1. 什么是ServletContext
  • ServletContext是Servlet中自带一个对象

  • ServletContext对象时在第一次访问Servlet时,自动创建

  • 一个项目中只有一个ServletContext对象

  1. ServletContext可以实现多个Servlet之间数据的共享
    • ServletContext可以实现多个Servlet之间数据的共享图解:
      ServletContext图解

猜你喜欢

转载自blog.csdn.net/qq_37924905/article/details/108475224