Tomcat

1.官网上各种安装包的区别

  1. installer版本:是一个安装程序,执行exe文件就可以安装啦。
  2. source版本:这是一个源代码包,需要经过计算机编译才能执行安装。
  3. binary 和 archive 一样:这是二进制包,已编译好的可直接使用的程序,这里需要解压缩,解压缩后,点击bin目录下的.sh或者.bat执行文件即可使用。

  1. Source Code Distributions:源代码版本
  2. Binary Distributions:二进制版本
    1. Core:是Tomcat正式的二进制发布版本,一般大家做开发或者学习的时候应该下载Core下的。
      1. 下载链接:Apache Tomcat® - Welcome!
    2. Deployer:是基于Tomcat的web应用的发布器,就是在把写好的JavaEE应用发布到Tomcat的时候可以使用Deployer来动态的发布。所以它不是真正的Tomcat二进制版本,它只是一个用以发布基于Tomcat的Web应用的发布工具而已。
      1. Tomcat中的Web应用发布:
        1. 发布:指的是把一个Web应用安装到Tomcat服务器中的过程。在Tomcat中发布Web应用可以有两种方式:
        2. 静态发布:指的是在Tomcat未启动的时候,把做好的Web应用直接复制到Tomcat服务器中。
        3. 动态发布:有两种情况
          1.  指的是在Tomcat已经启动运行的情况下,通过Tomcat的自动部署功能动态操作已经发布的Web应用.
          2. 指的是通过Tomcat Manager这个Web应用通过远程把做好的Web应用发布到正在运行的Tomcat中去。
      2. Deployer的作用就在动态发布Web应用到Tomcat中去的时候体现出来的。Deployer是一个命令行的工具,它可以编译、验证Web应用,还可以把Web应用的全部资源打包到War文件中。

tomcat的安装

1.从官网下载:Apache Tomcat® - Welcome!

2.一路next,安装时全选(会包括webapps)

3.自动读取JDK路径,要提前安装

4.浏览器输入localhost:8080(可以在安装时就修改端口号)

2、tomcat各目录的作用

  1. bin:存放各种不同平台开启与关闭Tomcat的脚本文件。
    1.     bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。很多环境变量的设置都在此处,例如可以设置JDK路径、TOMCAT路径

      1. startup 用来启动tomcat

      2. shutdown 用来关闭tomcat

      3. 修改catalina可以设置tomcat的内存

  2. lib:存tomcat与web应用的Jar包
    1. JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。(基于zip文件格式将许多文件合成一个压缩文件.jar)

    2. JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。

      以客户的角度来看,.jar文件就是一种封装,他们不需要知道.jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果。

      jar包:通常是开发时要引用通用类,打成包便于存放管理。

      war包:是做好一个web应用后,通常是网站,打成包部署到容器中。

      ear包:企业级应用,通常是EJB打成ear包。

      所有的包都是用jar打的,只不过目标文件的扩展名不一样

    3. jar包是对写好的类进行了打包。我们可以通过将jar包放到lib目录下来使用这些jar包中的类、属性和方法

    4. 作用:JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。涉及因特网应用时,JAR文件显得特别有用。在JAR文件之前,Web浏览器必须重复多次请求Web服务器,以便下载完构成一个“程序片”(Applet)的所有文件;但在将所有这些文件合并到一个JAR文件里以后,只需向远程服务器发出一次请求即可。除此以外,每个文件都是未经压缩的,由于采用了压缩技术,所以可在更短的时间里获得全部数据。

    5. 各类jar包的作用:Java常用jar包作用_guaoran的博客-CSDN博客

  3. conf:存放tomcat的配置文件
    1. server.xml:server.xml是Tomcat的主配置文件.完成两个目标:

      1. 提供Tomcat组件的初始配置.

      2. 说明Tomcat的结构,含义,使得Tomcat通过实例化组件完成起动及构建自身, 如在server.xml所指定的server.xml种的重要元素:元素及其描述

    2. web.xml

      1. Tomcat可以让用户通过将缺省的web.xml放入conf目录中来定义所有关系环境的web.xml的缺省值.建立一个新的关系环境时,Tomcat使用缺省的web.xml文件作为基本设置和应用项目特定的web.xml(放在应用项目的WEB-INF/web.xml文件)来覆盖这些缺省值.

    3. tomcat-users.xml:配置tomcat的用户信息。

    4. context.xml:用来配置环境、开发项目的时候一般都是配置这个文件,也可以配置JNDI。

  4. webapps:web应用的发布目录
    1. webapps目录用来存放应用程序。

      当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包、jar包的形式发布应用。当然,也可以把应用程序放置在磁盘的任意位置,在配置文件中映射好就行。

    2. webapps目录下的ROOT目录介绍:

      webapps目录下有个默认的ROOT目录,也可以把项目war包解压开放入ROOT目录,同样可以运行项目。但放在ROOT目录下之后访问项目方式就会变为:ip+端口号。

    3. 项目放在webapps目录和放在ROOT目录的区别是webapps不需要解压,ROOT需要解压;webapps访问项目需要加项目名,ROOT不需要加项目名。

      tomcat默认看到的cat页面的文件就是在ROOT文件夹下的,如果ROOT目录删除后,tomcat启动后还是会生成的。

    4. webapps是特别要注意的地方。webapps文件夹是部署项目的地方,tomcat启动时,加载webapps文件夹下的项目。但有时候我们在Tomcat的目录下找不到webapps,发现所有的项目在一个叫wtpwebapps的文件夹中,wtpwebapps跟webapps差不多,都是存放编译后的项目。eclipse默认路径是wtpwebapps,因为一些项目需求,可能需要改到webapps下面。

    5. 修改eclipse下tomcat部署路径:eclipse修改web项目部署路径_yuan16423276的博客-CSDN博客

  5. work:tomcat把由各种jsp生成的servlet文件存放的地方
    1. servlet详解:
      1. tomcat与servlet - 知乎 (zhihu.com)
      2. java中Servlet与Tomcat的关系是什么 - 开发技术 - 亿速云 (yisu.com)
  6. logs:tomcat存放日志文件的地方【Tomcat】tomcat logs 目录下各日志文件的含义 - QiaoZhi - 博客园 (cnblogs.com)
    1. catalina.日期.log

        这个主要是记录tomcat启动时候的信息,类似于我们在eclipse中启动服务的时候在控制台看到的信息。在里面可以看到启动的JVM参数以及操作系统等日志信息。如果没有使用log4j等日志机制,系统的的错误信息与打印语句也在这个日志文件中记录。(linux下所有的日志都在catalina.out中)

    2. commons-daemon.日期.log

        这个日期放的估计是利用服务方式启动tomcat作为守护进程的日志记录,因为我的tomcat启动方式是以服务的方式启动的,索引产生这个日志文件记录了服务的启动状态。

    3. host-manager.日期.log

        这个估计是放tomcat的自带的manager项目的日志信息的,也没有看到有什么重要的日志信息

    4. localhost.日期.log

        这个类似于第一种日志,可是信息没有第一种全

    5. localhost_access_log.日期.txt

        这个是存放访问tomcat的请求的所有地址以及请求的路径、时间,请求协议以及返回码等信息(重要)

    6. manager.日志.log

        这个估计也是manager项目专有的日志文件,看不出有什么重要的信息

    7. tomcat7-stderr.日期.log  

        这个是log4j的错误日志,因此在程序中要合理的捕捉异常。

    8. tomcat7-stdout.日期.log  (类似于eclipse的控制台的信息)

        这个是程序中的System语句打印的日志(包括系统抛出的异常),也终于明白了为什么一再强调不能用打印语句进行系统调试

  7. temp:tomcat存放临时文件的地方
    1. temp目录用户存放tomcat在运行过程中产生的临时文件。(清空不会对tomcat运行带来影响)但是,千万不能删除该目录,要不然就会带来未知的错误;用到一些图片处理库时系统会报这个错误。   重新创建后,正常了。

3、怎么设置虚拟路径

方法1(修改配置文件):

在Tomcat的安装目录下,找到server.xml文件

【Tomcat】——【conf】——【server.xml】

进入该文件找到HOST标签

添加以下字段:

/>Tomcat_第1张图片

说明:

path:指定访问该 Web 应用的 URL 入口。

docBase:指定 Web 应用的文件路径,可以给定绝对路径,也可以给定相对于的appBase 属性的相对路径,如果 Web 应用采用开放目录结构,则指定 Web 应用的根目录,如果 Web 应用是个 war 文件,则指定 war 文件的路径。(指定项目所在地址)

reloadable:如果这个属性设为 true,tomcat 服务器在运行状态下会监视在WEB-INF/classes 和 WEB-INF/lib 目录下 class 文件的改动,如果监测到有 class 文件被更新的,服务器会自动重新加载 Web 应用。

crossContext:如果想在应用内调用 ServletContext.getContext()来返回在该虚拟主机上运行的其他 web application 的 request dispatcher,设为 true。在安全性很重要的环境中设为 false,使得 getContext()总是返回 null。缺省值为 false。

Debug:与这个 Engine 关联的 Logger 记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为 0。

这个方法在设置后重启服务器即生效

方法二:不需要重启服务器

在Tomcat根目录下的/conf/Catalina/localhost/ 路径下新建一个filename.xml,并在该xml中编写语句

即可创建虚拟站点,虚拟站点名为filename。

4、怎么修改Tomcat的服务端口

到安装目录(或者解压目录)下找到conf文件夹,在里面找到server.xml的文件,并且进行修改

将port="8080"改为其它的就可以了。

5、tomcat的三个端口含义

关于tomcat中的三个端口的作用及其相关细节 - zhangcscc - 博客园 (cnblogs.com)

  1. Tomcat admin port——管理端口,允许你远程配置tomcat
  2. HTTP——正常的http协议
  3. AJP——Apache JServ Protocol,用来传输二进制的

你可能感兴趣的:(tomcat,java,前端)