Tomcat 服务器介绍

Tomcat 目录介绍

  • Tomcat 主目录有 bin, conf, lib, logs, temp, webapps, work 7个文件夹
  1. bin 目录
    • 主要用来存放 tomcat 命令
    • .sh 结尾的是 linux 命令
    • .bat 结尾的是 windows 命令
    • startup.sh 用来启动 tomcat
    • shutdown.sh 用来关闭 tomcat
  2. conf 目录
    • 主要用来存放 tomcat 的一些配置文件
    • server.xml 可以设置端口号, 设置域名或 IP, 请求编码等
    • web.xml 可以设置 tomcat 支持的文档类型. MIME 类型, 说明文档内容是什么类型的
    • tomcat-users.xml 可以设置管理 tomcat 的用户与权限
    • 在 Catalina 目录下可以设置默认加载的项目
  3. lib 目录
    • 主要用来存放 tomcat 运行需要加载的 jar 包
  4. logs 目录
    • 主要用来存放 tomcat 在运行过程中产生的日志文件
  5. temp 目录
    • 主要用来存放 tomcat 在运行过程中产生的临时文件
  6. webapps 目录
    • 主要用来存放应用程序(项目)
    • Tomcat 默认访问的是该目录下的 ROOT 目录
  7. work 目录
    • 用来存放 tomcat 在运行时的编译后文件
    • 通过 webapps 中的项目生成的

Tomcat 的启动和关闭

  1. terminal 命令行方式
    • 跳转到 tomcat 的 bin 目录
    • 执行 sudo sh startup.sh 启动 Tomcat
    • 执行 sudo sh shutdown.sh 关闭 Tomcat
  2. 借用 Tomcat Controller 小工具

查看 tomcat 版本

  • 进入 tomcat 的 bin 目录
  • 执行 ./version.sh , 即可查看

在 tomcat 中配置外部应用

  • 把项目放到 Tomcat 之外, 也就是外部应用.

  • 第一种方式: conf/server.xml

    • 打开 server.xml 文件, 找到 元素, 在其中添加 元素,
      代码内容: <Context path="itcast_hello" docBase="C:/hello" />
    • path: 指定当前应用的名称
    • docBase: 指定应用的物理位置
    • 浏览器访问路径: "http://localhost:8080/itcast_hello/index.html"
  • 第二种方式: conf/Catalina/localhost

    • 在该目录下创建 itcast_hello.xml 文件, 在该文件中编写 元素,
      代码内容: <Context docBase="C:/hello" />
    • 新建的文件名: 即是当前应用的名称
    • docBase: 指定应用的物理位置
    • 浏览器访问路径: "http://localhost:8080/itcast_hello/index.html"

conf/context.xml

  • 在 javaweb 项目, 修改 jsp 不需要重启 tomcat 服务器;但是, 修改 Servlet 或 java 类时, 需要重启 tomcat.
  • 项目开发阶段,可以配置 <Context reloadable="true">, 这样, 就不需要重启 tomcat.

conf/server.xml 介绍

<?xml version="1.0" encoding="UTF-8"?>
<Server>

    <Service name="Catalina">

        // 负责 HTTP 协议的连接, 不处理请求   (角色: 饭店服务员)
        <Connector port="8080" protocol="HTTP/1.1"
                    connectionTimeout="20000"
                    redirectPort="8443"/>

        // 处理请求, (角色: 大厨)
        <Engine name="Catalina" defaultHost="localhost">

            // 主机 (可以有多个)
            <Host name="localhost" appBase="webapps"
                  unpachWARs="true" autoDeploy="true">

                  // 表示项目 (可以有多个)
                  <Context path="hello" docBase="C:/hello" />
            </Host>
        </Engine>
    </Service>
</Server>

常见问题

问题一:

tomcat 在 eclipse 中能够正常启动, 但是浏览器访问 "http://localhost:8080", 返回 404 错误; 而
手动启动 tomcat 服务器, 访问 "http://localhos:8080" 能正常访问.

解决方法




参考资料:

原文地址:https://www.cnblogs.com/linkworld/p/7573742.html