Tomcat和Servlet入门小结

Posted lilyen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat和Servlet入门小结相关的知识,希望对你有一定的参考价值。

Tomcat和Servlet入门小结

Tomcat入门

  • 启动:

      1. 进入bin目录,双击startup.bat,运行该文件

      2. 访问浏览器,输入:http://localhost:8080 访问自己;

    ? 输入:http://别人的ip:8080 访问别人(8080为Tomcat的端口号)

  • 启动时可能遇到的问题:

      1. 黑窗口一闪而过:

      *原因:没有正确配置JAVA_HOME变量;

      1. 启动报错:

      *暴力解决:在cmd中输入netstat -ano找到占用端口号的对应进程并杀死

      *在Tomcat的configserver.xml下找到

      <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
       redirectPort="8445" />
      

      *一般将端口号修改为80(浏览器默认端口号)

      ? *好处:使用浏览器,在访问时就不用输入端口号了

  • 关闭:

    1. 正常关闭:

      1. binshutdow.bat

      2. ctrl+c

    2. 强制关闭:

      *点击启动窗口的 x

  • 配置:

    • 部署项目的方式:

      1. 直接将项目放到webapps目录下即可。

        *项目的访问路径(即保存项目的文件名)就是浏览器访问的虚拟目录

        *简化部署:可以将项目打包成一个war包,再将war包放置在webapps目录下。

        ? *war包会自动解压缩

      2. 配置confserver.xml文件:

        找到 标签体,在里面配置

        <Context docBase="C:项目存放的路径" path="/虚拟目录" />
        

        ? *优点:不用将项目部署在webapps下了,可以放置在任何位置

        ? *缺点:需要修改server.xml文件,可能造成破坏

      3. 在configCatalinalocalhost下创建任意名称的xml文件,在文件中编写

        <Context docBase="C:项目存放的位置"
        

        ? *虚拟路径就是此xml文件的名称

        ? *优点:相比于第二种配置方法,可以避免破坏server.xml文件

    • 静态项目和动态项目:

      • 目录结构:
        • --项目的根目录(存放静态项目)
          • --WEB-INF目录(此目录下的项目不能被浏览器直接访问)
            • --web.xml: web项目的核心配置文件
            • --classes目录:放置字节码文件的目录
            • --lib目录: 放置依赖的jar包

Servlet入门

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

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

  • Java类对Servlet接口的实现:

    1. 创建一个JavaEE项目

    2. 定义一个Java类,实现(implement)Servlet接口

    3. 复习Servlet接口中的抽象方法(Servlet的生命周期方法)

    4. 配置Servlet

      *在web.xml中进行配置:

      <servlet>
          <servlet-name>自定义名称</servlet-name>
          <servlet-class>对应类的全类名</servlet-class>
      </servlet>
      
      <servlet-mapping>
          <servlet-name>自定义的名称</servlet-name>
          <url-pattern>访问的资源路径</url-pattern>
      </servlet-mapping>
      
  • Servlet执行原理:

    1. 当服务器接收到客户端浏览器的请求后,会解析URL路径,访问获取的Servlet的资源路径

    2. 查找web.xml文件,是否有对应的 标签体内容。

    3. 如果有,则找到对应的 全类名

    4. Tomcat会将字节码文件加载进内存,并且创建对象

    5. 调用其方法

  • Servlet中的生命周期方法

    1. init方法:

      *在Servlet被创建时执行,并只执行一次。

         	*Servlet什么时候被执行?
      

      ? *默认情况下,第一次被访问时,Servlet被创建

      ? *可以配置创建Sevlet的时机:

      ? 在web.xml的 标签中配置

      <load-on-startup>负数或正数</load-on-startup>
      

      ? *如果是负数,则Servlet在被访问时创建

      ? *如果时正数,则Servlet在服务器(Tomcat)启动时创建

      ?

    2. service方法:

      *每次访问Servlet时,便会别调用一次

    3. destory方法:

      *Servlet被销毁时执行,并且只执行一次

      *只有当服务器正常关闭时,才会执行

      *destory方法在Servlet被销毁之前执行,相当于释放资源,而init相当于加载资源

  • Servlet 3.0:

    1. 好处:支持直接配置。可以不需要web.xml了

    2. 步骤:

      1. 创建一个JavaEE项目,选择Servlet的版本为3.0以上,可以不创建web.xml

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

      3. 复写方法

      4. 在类上使用@WebServlet注解,进行配置

        *@WebServlet("资源路径")

以上是关于Tomcat和Servlet入门小结的主要内容,如果未能解决你的问题,请参考以下文章

tomcat和servlet快速入门教程!!!

java web 开发入门 --- tomcat/servlet/jsp

Servlet小结

Tomcat根据JSP生成Servlet机制解析

java2小结(草稿)

jetty学习小结