Java-1019

IDEA和tomcat的相关配置

  1. IDEA会为每一个tomcat部署等项目单独建立一份配置文件

    CATALINA_BASE:     /Users/lannisite/Library/Caches/JetBrains/IntelliJIdea2020.3/tomcat/5531471d-a815-43ae-9dbd-76b29594950d
    
  2. 项目的两个存储地方:工作空间 和 tomcat部署的web项目

    1. tomcat真正访问的是“ tomcat部署的web项目” , “ tomcat部署的web项目” 对应着 “工作空间项目” 的web目录下的所有资源。
    2. WEB-INF目录下的资源不能被浏览器直接访问

Servlet体系结构

  1. Servlet体系结构

    1. Servlet接口:有两个实现类:
      1. GenericServlet:继承Servlet的抽象类
      2. HttpServlet:继承GenericServlet的抽象类
  2. GenericServlet:

    1. 只将service方法的抽象,仅需要复写这一个方法,其他方法做了空实现。
    2. 将来定义Servlet类的时候,可以继承GenericServlet,实现service()方法即可。
    3. 如果想复写其他方法,自己手动添加即可。
    4. 相对方便,但是实际开发的时候并不用这个方法
  3. HttpServlet: 对http协议的一种封装,简化操作

    1. 可以自动处理请求时(post、get)方法的判断 doGet() doPost()
    2. 我们想屏蔽post get的处理逻辑,只需要继承httpServlet,复写他的这两个方法即可
    3. http一共有7种请求方式 post get head put delete options trace
    4. P.S. 通过浏览器直接请求:是get方式
  4. Servlet相关配置 (可以配置文件配置,也可以注解配置)

    1. urlpartten:servlet访问路径 @WebServlet(“/demo3”) ,在这里面value是一个数组,所以可以配置多个路径

      @WebServlet({"/d4","/dd4","/demo4"})
      public class ServletDemo4 extends HttpServlet {}
      
    2. 路径定义规则:三种方式

      1. /xxx: (以此为主)
      2. /xxx/xxx :目录结构,访问时必须两层都写
      @WebServlet("/user/demo4")
      public class ServletDemo4 extends HttpServlet {}
      

      /* 通配符

      @WebServlet("/user/*")
      public class ServletDemo4 extends HttpServlet {}
      

​ 访问/user/任意内容都可以,

​ P.S. /* 这样的匹配优先级是最低的,如果有相对应的内容,优先匹配相对应的内容,比如demo3
​ 3. *.do :注意不要写/ ,后缀名随便写

HTTP协议

  1. 概念:Hypter Text Transfer Protocol 超文本传输协议

    1. 传输协议:定义了,客户端和服务器端通信时,发送数据的格式
    2. 特点:
      1. 基于TCP/IP的高级协议,Http也是可靠协议
      2. 默认端口号是80,意味着80端口可以不写
      3. 基于请求响应模型的:一次请求对应一次响应的
      4. http是无状态的:无状态理解:每次请求之间是相互独立的,不能交互数据
    3. 历史版本:
      1. *1.0版本:每次请求都会建立新的链接
      2. *1.1版本:复用链接:请求完成之后,链接会等一会,如果不再用,就释放掉
  2. 请求消息数据格式:对应request 4部分

    1. 请求行

      请求方式	请求URL				请求协议/版本
      GET			 /login.html 	HTTP/1.1
      
      
    2. 请求头

    3. 请求空行

    4. 请求体

  3. 响应消息数据格式:对应response

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