Tomcat 服务器介绍
Tomcat 目录介绍
- Tomcat 主目录有 bin, conf, lib, logs, temp, webapps, work 7个文件夹
- bin 目录
- 主要用来存放 tomcat 命令
.sh
结尾的是 linux 命令.bat
结尾的是 windows 命令startup.sh
用来启动 tomcatshutdown.sh
用来关闭 tomcat
- conf 目录
- 主要用来存放 tomcat 的一些配置文件
- server.xml 可以设置端口号, 设置域名或 IP, 请求编码等
- web.xml 可以设置 tomcat 支持的文档类型. MIME 类型, 说明文档内容是什么类型的
- tomcat-users.xml 可以设置管理 tomcat 的用户与权限
- 在 Catalina 目录下可以设置默认加载的项目
- lib 目录
- 主要用来存放 tomcat 运行需要加载的 jar 包
- logs 目录
- 主要用来存放 tomcat 在运行过程中产生的日志文件
- temp 目录
- 主要用来存放 tomcat 在运行过程中产生的临时文件
- webapps 目录
- 主要用来存放应用程序(项目)
- Tomcat 默认访问的是该目录下的 ROOT 目录
- work 目录
- 用来存放 tomcat 在运行时的编译后文件
- 通过 webapps 中的项目生成的
Tomcat 的启动和关闭
- terminal 命令行方式
- 跳转到 tomcat 的 bin 目录
- 执行
sudo sh startup.sh
启动 Tomcat - 执行
sudo sh shutdown.sh
关闭 Tomcat
- 借用 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"
- 打开 server.xml 文件, 找到
-
第二种方式: conf/Catalina/localhost
- 在该目录下创建 itcast_hello.xml 文件, 在该文件中编写
元素,
代码内容:<Context docBase="C:/hello" />
- 新建的文件名: 即是当前应用的名称
- docBase: 指定应用的物理位置
- 浏览器访问路径: "http://localhost:8080/itcast_hello/index.html"
- 在该目录下创建 itcast_hello.xml 文件, 在该文件中编写
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" 能正常访问.
解决方法
参考资料: