4 Tomcat 和 servlet的笔记

Tomcat

部署

  1. 直接将项目放到webapps目录即可  简化部署:将项目打成一个war包,再将war包部署到webapps目录下     (war包会自动解压缩)
  2.   配置conf/server.xml文件  (在<Host>标签体中配置
                        <Context docBase="D:\hello" path="/hehe" />
                        * docBase:项目存放的路径
                        * path:虚拟目录)
  3. 在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写
                        <Context docBase="D:\hello" />
                        * 虚拟目录:xml文件的名称

 静态项目和动态项目

目录结构 

    java动态项目的目录结构:

           项目的根目录:

                -----WEB-INF目录:

                   ------web.xml:web项目的核心配置文件

                ----------classes目录:放置字节码文件的目录

                      ----lib目录:放置依赖的jar包

Servlet

概念:运行在服务器端的小程序

        Servlet就是一个接口,定义了java类被浏览器访问到(Tomcat)的规则。

         将来我们定义一个类,实现servlet接口,复写方法

servlet的快速入门

  1. 创建javaEE项目
  2. 定义一个类,实现servlet接口 【 public class ServletDemo1 implements Servlet】
  3. 实现接口中的抽象方法
  4. 配置servlet

            在web.xml中配置:
            <!--配置Servlet -->
            <servlet>
                <servlet-name>demo1</servlet-name>
                <servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class>
            </servlet>
        
            <servlet-mapping>
                <servlet-name>demo1</servlet-name>
                <url-pattern>/demo1</url-pattern>
            </servlet-mapping>

servlet执行原理

  1. 当服务器接收到客户端浏览器的请求后,会解析请求url路径
  2. 查找web.xml文件,是否有对应的<url=pattern>标签体内容
  3. 如果有,则在找到对应的<servlet-class>全类名
  4. Tomcat会将字节码文佳加载进内存,并且创建其对象
  5. 调用方法

Servlet的生命周期

被创建  

           默认情况下,第一次被访问时,servlet被创建

          可以配置执行servlet的创建时机

        在web.xml文件中配置

             1. 第一次被访问时,创建
                            * <load-on-startup>的值为负数
                        2. 在服务器启动时,创建
                            * <load-on-startup>的值为0或正整数 

  Servlet的init方法,只执行一次,说明一个servlet在内存中只存在一个对象,servlet是单例的

  解决:尽量不要在servlet中定义成员变量,即使定义了成员变量,也不要对修改值

提供服务

         每次访问servlet时,service方法都会被调用一次

被销毁

  Servlet被销毁时执行。服务器关闭时,servlet被销毁。

只有服务器正常关闭时,才会执行destroy方法。

destroy方法在Servlet被销毁之前执行,一般用于释放资源

Servlet3.0

好处:支持注解配置。可以不需要web.xml了

步骤:

创建JavaEE项目,选择servlet的版本3.0以上

定义一个类,实现servlet接口

复写方法

在类上使用@WebServlet注解,进行配置    @WebServlet("资源路径")

 IDEA与Tomcat的相关配置

  1. idea会为每一个Tomcat部署的项目单独建立一份配置文件
  2. 工作空间项目 和Tomcat 部署的web项目

         【Tomcat真正访问的是Tomcat部署的web项目,,Tomcat部署的web项目对应着 工作空间项目的web目录下的所有资源 】

        【WEB-INF目录下的资源不能被浏览器直接访问】

     3.   端点调试:使用小虫子启动debug启动

为了简化servlet要实现HttpServlet接口

可以设置WebServlet的访问路径,设置多级的内容  ("/aa/bb")   ("/aa/*")   ("*.do")

猜你喜欢

转载自blog.csdn.net/dyt998/article/details/115267318