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的config\server.xml下找到

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

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

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

  • 关闭:

    1. 正常关闭:

      1. bin\shutdow.bat
      2. ctrl+c
    2. 强制关闭:

      *点击启动窗口的 x

  • 配置:

    • 部署项目的方式:

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

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

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

        ? *war包会自动解压缩

      2. 配置conf\server.xml文件:

        找到 标签体,在里面配置

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

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

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

      3. 在config\Catalina\localhost下创建任意名称的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("资源路径")

原文地址:https://www.cnblogs.com/lilyen/p/12681281.html

时间: 2024-10-07 00:22:21

Tomcat和Servlet入门小结的相关文章

JavaEE实战——Servlet入门、Servlet生命周期、绝对路径、ServletContext

前言 接下来的三篇博客我会分别介绍Servlet的以下三个方面: 1.Servlet程序编写 ----- 生命周期 2.ServletAPI Request Response 3.Cookie 和 Session Servlet的作用:Servlet 用来 动态web资源 开发 静态web资源 : 固定数据文件 动态web资源 : 通过程序动态生成数据文件 Servlet技术基于Request-Response编程模型 ---- HTTP协议也是基于请求响应 模型 * Servlet技术 用来

JavaWeb之Servlet入门(二)

1. 准备 在JavaWeb之Servlet入门(一)中,我们完成了第一个Servlet程序,完成了从URL到后台控制器的中转过程,接下来我们延续JavaWeb之Servlet入门(一)学习下如何传参及返回,如何配置404和error页. 2. Servlet传递参数 1)调整HelloServlet public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException

浅谈JavaWEB入门必备知识之Servlet入门案例详解

工欲善其事.必先利其器,想要成为JavaWEB高手那么你不知道servlet是一个什么玩意的话,那就肯定没法玩下去,那么servlet究竟是个什么玩意?下面,仅此个人观点并通过一个小小的案例来为大家详述一下什么是servlet... 个人观点:说白了,servlet就是一个java应用程序.一个运行在服务器上java类,servlet就是java处理web请求的一种机制,它具有独立于平台和协议的特性,可以生成动态的Web页面.再形象点,就是你通过IE等浏览器发送一个http请求后会根据你请求的内

java之servlet入门操作教程一续

本节主要是在java之servlet入门操作教程一  的基础上使用myeclipse实现自动部署的功能 准备: java之servlet入门操作教程一 中完成myFirstServlet项目的创建:        myeclipse配置tomcat服务器  中tomcat的简单配置 目标: 学会myeclipse中项目在tomcat的自动部署 操作如下图流程: 1. 2. 3. 4. 5. 如上,项目已经运行起来了. 6.在浏览器中,输入路径url:http://localhost:8080/m

javaWeb核心技术第七篇之HTTP、Tomcat、Servlet、Request和Response

- Web服务器 - 概念: - web资源: "英文直译"网"的意思 资源:一切数据文件 web资源:通过网络可以访问到的资源,通常指的是一切放在服务器上的文件" - web资源的分类: - 静态的web资源: " 内容是一成不变的" - 动态的web资源: " 内容有可能在不同的时间或者不同的人访问的时候会发生改变的" - web技术分类 - 静态的web技术 " 例如: html css js .....&qu

线段树入门小结

QUE:线段树? 称谓: 从刘汝佳的书中得知,"这种数据结构在学术界没有统一的术语,但线段树是最常见的叫法.其他叫法包括区间树(interval tree).范围树(range tree)等,但这些属于在特定的场合(如计算几何)中有着特殊的意义".怎么叫看读者的心情,以下统一用线段树称呼. 先来作一些了解: 线段树是一棵二叉树,它的左右儿子也都是一棵线段树.(定义) 线段树也叫区间树,为什么叫它区间树呢?因为线段树是一种基于区间的数据结构. 线段树的每个节点代表一个区间 [L,R],其

Tomcat部署servlet小应用无法找到相应的servlet类的问题可能原因

今天特别有成就感, 感谢上帝,是他让我不轻易放弃.好了下面简单介绍一下我的问题.我最近在学习 Headfirst servlet JSP 第81页面关于部署一个小应用.但是无论怎么调试无法找到servlet,最开始是web.xml里面的servlet和servlet-mapping位置放错了,在这里也提醒一下各位,请一定要仔细检查这个部署文件,确定没有错. <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi=&qu

30天轻松学习javaweb_修改tomcat的servlet模板

在MyEclipse目录下搜索com.genuitec.eclipse.wizards得到搜索结果 com.genuitec.eclipse.wizards_9.0.0.me201108091322.jar解压出文件夹,修改com.genuitec.eclipse.wizards_9.0.0.me201108091322\templates\Servlet.java 的模板文件使用jar命令将文件夹打包成jar包:1.在dos窗口中进入到解压后的com.genuitec.eclipse.wiza

IT忍者神龟之tomcat、servlet、JSP、JSTL版本支持对应表

Tomcat版本 Servlet版本 Jsp版本 Jstl版本 6.0.x 2.5 2.1 1.2.1.1.x 5.5.x 2.4 2.0 1.1.x 5.0.x 2.4 2.0 1.1 4.1.x 2.3 1.2 1.0 3.3.x 2.2 1.1 jstl对应的jar包说明: (1)JSTL1.0(包含2个jar文件:jstl.jar和standard.jar.这两个jar文件都存在于Standard1.0.x的发布版本中.) 下载地址:http://archive.apache.org/d