文章摘要: Tomcat 服务器是一个免费的开放源代码的轻量级应用服务器。
提示
- 在 Tomcat 安装目录下有
/conf的文件夹,用于存储配置,可对其中的文件进行配置达到不同的效果。 - 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源。静态资源可以直接被浏览器解析。
- 动态资源:每个用户访问相同资源后,得到的结果可能不一样,称为动态资源。动态资源被访问后,需要先转换为静态资源,再返回给浏览器,通过浏览器进行解析。
简介
简要说明
- Tomcat 是由 Apache Software Foundation 开发的一个开源的 Java Servlet、JSP 容器。
- 用于提供一个纯 Java 的 HTTP web 服务器环境,用于运行 Java 代码。
主要功能
- Servlet 容器:Tomcat 是一个 Servlet 容器,负责管理和运行 Java Servlet,处理客户端请求。
- JSP 支持:支持 Java Server Pages (JSP),将 JSP 文件转换为 Servlet,然后执行。
- Websocket 支持:支持 Websocket 协议,实现服务器与客户端之间的全双工通信。
- 负载均衡:通过配置可以实现简单的负载均衡,分发请求到不同的服务器。
- 安全性:提供基于角色的访问控制和 SSL 加密等安全特性。
- 可配置性:通过配置文件可以灵活地配置服务器行为,如连接器、会话管理、数据源等。
注意事项
- 内存配置:合理配置 JVM 内存参数,避免内存泄漏和性能问题。
- 安全性:定期更新 Tomcat 和 Java 以修复安全漏洞。
- 日志管理:配置合适的日志级别和日志文件管理,以便于问题追踪和系统监控。
- 并发处理:根据应用需求调整线程池配置,以优化并发处理能力。
- 版本兼容性:确保应用与 Tomcat 版本兼容,避免因版本差异导致的问题。
适用场景
- Java Web 应用:适用于部署 Java Web 应用程序,特别是使用 Servlet 和 JSP 技术的应用。
- 中小型项目:对于中小型项目和初创企业,Tomcat 是一个轻量级且易于管理的解决方案。
- 开发和测试环境:由于其易用性和可配置性,Tomcat 常被用作开发者的本地开发环境和测试服务器。
- 企业级应用:虽然 Tomcat 主要用于中小型应用,但通过适当的配置和优化,也可以用于企业级应用。
安装与卸载
详细总结:Package-Tomcat-安装与卸载
终端命令
详细总结:Package-Tomcat-终端命令
配置文件
详细总结:Package-Tomcat-配置文件
热门推荐
问题总结
部署与配置(IDEA)
- 将Tomcat添加到IDEA中。
点击菜单栏打开“
设置”窗口:文件 -> 设置切换到“
构建、执行、部署 -> 应用程序服务器”页面,点击“+”添加“Web框架模块”填写“Tomcat的所在目录”
点击
应用,并点击确定
- 添加运行/调试配置。(即提供一键式运行Tomcat服务器)
点击菜单栏打开“
运行/调试窗口”窗口:运行 -> 编辑配置点击“
+”添加“Tomcat服务器->本地”点击切换到“部署”页面,点击“
+”添加“工件”点击
应用,并点击确定
知识总结
WEB-INF:存放项目相关的配置文件
Tomcat程序目录
/tomcat
|-- /bin // 可执行程序文件
|-- /conf // 配置文件
|-- context.xml
|-- server.xml
|-- tomcat-users.xml
|-- web.xml
|-- /lib // Tomcat允许所需要的库文件
|-- /logs // 日志文件
|-- /temp // 临时文件
|-- /webapps //主要Web发布目录
|-- work // 存放jsp编译后产生的class文件
项目目录结构
/Project
|-- /out // 编译文件
|-- /src // 源码文件
|-- /main
|-- /java // java代码目录
|-- /resources // 资源目录
|-- /webapp // Web文件
|-- WEB-INF // Web文件
|-- web.xml // 配置文件
|-- /test
添加环境变量
- 修改
~/.bashrc文件,添加如下内容
export CATALINA_HOME=/path/to/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
- 更新环境变量的命令
source ~/.bashrc
Tomcat服务器与servlet表现层绑定
- 作用:代码解耦。
通过注解的方式
- 写一个类,并继承
HttpServlet - 为该类写上注解,
@WebServlet()
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 获取请求参数
req.getParameter("account");
// 设置响应头
resp.setContentType("text/html;charset=utf-8"); // 设置数据类型
// 返回响应体
resp.getWriter().write("你好,世界。");
}
}
通过修改Tomcat配置文件的方式
- 修改
WEB-INF文件夹中的web.xml文件。
<web-app>
<!--导入servlet-->
<servlet>
<servlet-mame> "servlet在Tomcat服务器中的名称" </servlet-mame>
<servlet-class> "类所在路径,例如:com.cykj.servlet.LoginServlet" </servlet-class>
</servlet>
<!--将servlet映射到指定的URL路径-->
<servlet-mapping>
<servlet-name> "servlet的名称" </servlet-name>
<url-pattern> "url请求模块,例如:/login" </url-pattern>
</servlet-mapping>
</web-app>