Tomcat

安装tomcat

进入官网,个人推荐下载解压版,方便快捷

解压到工作目录后就可以使用了 进入bin目录 双击startup.bat linux打开.sh
路径

可能遇到的两个问题

  • 双击之后没有启动tomcat 黑窗口秒关闭—-JAVA_HOME的环境变量没有没配置好
  • 运行日志乱码—-打开cd到tomcat/conf/目录下修改logging.properties找到

java.util.logging.ConsoleHandler.encoding = utf-8

这行将utf-8改为GBK

部署项目

  • 1.直接将项目放到webapps目录下即可
    • /hello :项目访问的路径—->虚拟目录
      将项目打包成一个war包,再将war包放到webapps目录下 war包会自动解压
  • 2.配置conf/server.xml
    • 标签体中配置
    • docBase:项目存放的路径
    • path:虚拟目录
  • 3.在conf\Catalina\localhost创建任意名称的xml文件,在文件中编写
        `<Context docBase="D:\hello">`
    虚拟目录就是文件的名称

静态项目和动态项目:

目录结构:
        --项目的根目录
            --WEB-INF目录
                --web.xml:web项目的核心配置文件
                --classes目录:放置字节码文件的目录
                --lib目录:防止依赖的jar包

Servlet

  • 概念:server applet 运行在服务器端的小程序
  • servlet就是一个接口,定义了java类被浏览器访问到(tomcat识别)的规则

    步骤:

    1.创建javaEE项目
    2.定义一个类,实现Servlet接口
    3.实现接口中的抽象方法
    4.配置 Servlet---- 在web.xml中配置
  • 配置代码
    1
    2
    3
    4
    5
    6
    7
    8
    <servlet>
    <servlet-name>demo1</servlet-name>
    <servlet-class>cn.test.web.Servlet.ServletDemo1</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>demo1</servlet-name>
    <url-pattern>/demo1</url-pattern>
    </servlet-mapping>

    执行原理

  • 1.当服务器接收到客户端浏览器的请求后,会解析请求的URL路径,获取访问的Servlet的资源路径
  • 2.查找web.xml文件,是否有对应的标签体内容
  • 3.如果有,则再找到对应的全类名
  • 4.tomcat会将字节码文件加载进内存,并创建其对象
  • 5.调用方法

    Servlet的生命周期

    1.被创建:执行init方法,只执行一次
    2.提供服务:执行servlet方法,执行多次
    3.被销毁:执行destroy方法,执行一次

Servlet3.0

支持注解文件配置,可以不需要web.xml
步骤:
    1.创建javaEE的项目,选择Servlet的版本 3.0以上,可以不勾选web.xml
    2.定义一个类,实现Servlet接口
    3.重写方法
    4.在类上使用一个注解
        @WebServlet("资源路径")

Servlet的体系结构

  • Servlet 接口

  • GenericServlet 抽象类

    将Servlet接口的其他方法做了默认实现,只将service()方法作为抽象

  • HttpServlet 抽象类 对HTPP协议的一种封装,简化操作

    1.定义类继承HttpServlet

    2.复写doGet/doPost方法

Servlet相关配置

  • 1.urlpartten:Servlet访问的路径

    1.一个Servlet可以定义多个访问路径:WebServlet({"/d4","Demo4"})
    
    2.路径的定义规则:/XXX,/XXX,*.do

评论