欢迎光临梧州市中国转运网
详情描述
IDEA中使用Tomcat的完整图文教程

一、准备工作

1.1 环境要求

  • IntelliJ IDEA:Ultimate版本(社区版不支持Java Web开发)
  • Java JDK:1.8或更高版本
  • Tomcat:8.0、9.0或10.0版本

1.2 下载Tomcat

访问 Apache Tomcat官网 下载对应版本的Tomcat(建议选择zip格式) 解压到本地目录(如:D:\apache-tomcat-9.0.xx

二、在IDEA中配置Tomcat

2.1 添加Tomcat服务器

步骤图解:

步骤1:打开IDEA → 菜单栏 → Run → Edit Configurations
步骤2:点击左上角 "+" 号 → 选择 Tomcat Server → Local
步骤3:点击 Configure... → 选择Tomcat安装目录
步骤4:设置服务器名称 → 点击OK

详细操作:

打开配置窗口

添加Tomcat服务器

配置Tomcat路径

完成配置

  • 在Application server中会显示Tomcat版本
  • 可以修改Name(如:Tomcat 9.0.65)
  • 点击Apply保存

三、创建Web项目

3.1 创建新项目

步骤图解:

步骤1:File → New → Project
步骤2:选择 Java Enterprise → 勾选 Web Application
步骤3:设置项目名称和位置
步骤4:选择Tomcat服务器 → 点击Create

详细操作:

选择项目类型

配置项目

  • Project name: MyWebApp
  • Project location: 选择合适路径
  • Application Server: 选择已配置的Tomcat
  • Java EE version: 根据Tomcat版本选择
    • Tomcat 9.0 → Java EE 8
    • Tomcat 10.0 → Jakarta EE 9

四、项目结构说明

创建完成后,项目结构如下:

MyWebApp/
├── src/                          # 源代码目录
├── web/                          # Web资源目录
│   ├── WEB-INF/                  # 配置文件目录
│   │   └── web.xml               # 部署描述符
│   └── index.jsp                 # 首页文件
├── out/                          # 编译输出目录
└── pom.xml                       # Maven配置文件(如果使用Maven)

五、配置部署设置

5.1 配置部署选项

在Run/Debug Configurations中:

Deployment标签页

  • 点击 "+" → Artifact → 选择 war exploded
  • Application context: 设置访问路径(如:/myapp

Server标签页

  • On 'Update' action: Update classes and resources(热部署)
  • On frame deactivation: Update classes and resources
  • HTTP port: 8080(默认端口)
  • JMX port: 1099

5.2 配置热部署

<!-- 在context.xml中添加 -->
<Context reloadable="true">
    <!-- 其他配置 -->
</Context>

六、编写测试代码

6.1 修改index.jsp

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <title>我的Web应用</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 50px;
            background-color: #f0f0f0;
        }
        .container {
            max-width: 800px;
            margin: 0 auto;
            padding: 20px;
            background: white;
            border-radius: 10px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>🎉 IDEA + Tomcat 配置成功!</h1>
        <p>服务器时间:<%= new java.util.Date() %></p>
        <p>Servlet版本:<%= application.getMajorVersion() %>.<%= application.getMinorVersion() %></p>
        <p>服务器信息:<%= application.getServerInfo() %></p>

        <h2>测试链接:</h2>
        <ul>
            <li><a href="hello">测试Servlet</a></li>
            <li><a href="test.jsp">测试JSP</a></li>
        </ul>
    </div>
</body>
</html>

6.2 创建Servlet示例

创建Servlet类

package com.example.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(name = "HelloServlet", value = "/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
        throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();

        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head><title>Hello Servlet</title></head>");
        out.println("<body>");
        out.println("<h1>Hello from Servlet!</h1>");
        out.println("<p>当前时间:" + new java.util.Date() + "</p>");
        out.println("</body>");
        out.println("</html>");
    }
}

七、运行和调试

7.1 启动Tomcat

启动方式:

方法1:点击工具栏的绿色运行按钮 ▶ 方法2:快捷键 Shift + F10 方法3:右键点击项目 → Run 'Tomcat'

控制台输出示例:

信息: Starting Servlet Engine: Apache Tomcat/9.0.65
信息: Initializing Spring root WebApplicationContext
信息: Starting ProtocolHandler ["http-nio-8080"]
信息: Server startup in 1234 ms

7.2 访问应用

打开浏览器 访问地址:http://localhost:8080/myapp/ 或访问:http://localhost:8080/myapp/index.jsp

7.3 调试应用

设置断点:在代码行号旁点击 调试模式启动:点击Debug按钮(🐞图标) 快捷键:Shift + F9

八、常见问题解决

8.1 端口冲突

问题Address already in use: bind 解决

修改Tomcat端口:

  • 编辑 server.xml
  • 修改Connector的port属性
    <Connector port="8081" protocol="HTTP/1.1"
             connectionTimeout="20000"
             redirectPort="8443" />

杀死占用进程:

# Windows
netstat -ano | findstr :8080
taskkill /PID <进程ID> /F

# Linux/Mac
lsof -i :8080
kill -9 <进程ID>

8.2 项目无法访问

检查清单

✅ 项目是否成功部署 ✅ 访问路径是否正确 ✅ Tomcat是否正常启动 ✅ 防火墙是否关闭或添加例外

8.3 热部署失效

解决方案

IDEA设置:

File → Settings → Build, Execution, Deployment → Debugger
勾选:Reload classes after compilation

Tomcat配置:

<Context path="/myapp" docBase="..." reloadable="true">

九、高级配置

9.1 配置SSL/HTTPS

生成证书

keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore

配置server.xml

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true">
    <SSLHostConfig>
        <Certificate certificateKeystoreFile="conf/tomcat.keystore"
                     certificateKeystorePassword="changeit"
                     type="RSA" />
    </SSLHostConfig>
</Connector>

9.2 配置数据库连接池

添加依赖(Maven):

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.30</version>
</dependency>

配置context.xml

<Resource name="jdbc/MyDB"
          auth="Container"
          type="javax.sql.DataSource"
          maxTotal="100"
          maxIdle="30"
          maxWaitMillis="10000"
          username="root"
          password="123456"
          driverClassName="com.mysql.cj.jdbc.Driver"
          url="jdbc:mysql://localhost:3306/mydb"/>

十、最佳实践建议

10.1 项目结构规范

src/
├── main/
│   ├── java/                  # Java源代码
│   │   └── com/
│   │       └── example/
│   │           ├── controller/ # 控制器
│   │           ├── service/    # 业务逻辑
│   │           └── dao/        # 数据访问
│   ├── resources/             # 配置文件
│   └── webapp/               # Web资源
│       ├── WEB-INF/
│       │   ├── web.xml
│       │   └── classes/
│       ├── css/
│       ├── js/
│       └── index.jsp
└── test/                      # 测试代码

10.2 性能优化

JVM参数调整

-Xms512m -Xmx1024m -XX:MaxPermSize=256m

Tomcat优化

  • 调整线程池大小
  • 启用压缩
  • 配置连接超时

10.3 日志配置

配置log4j2
<!-- pom.xml -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.17.2</version>
</dependency>

十一、总结

通过本教程,您已经学会了:

✅ 在IDEA中配置Tomcat服务器 ✅ 创建和部署Web项目 ✅ 编写Servlet和JSP ✅ 调试和运行Web应用 ✅ 解决常见问题

下一步建议

  • 学习使用Maven管理依赖
  • 了解Spring Boot简化配置
  • 探索Docker容器化部署

有用的快捷键

  • Ctrl + Shift + F10:运行当前配置
  • Shift + F10:运行
  • Shift + F9:调试
  • Ctrl + F9:构建项目
  • Ctrl + Shift + R:运行选中的代码片段

参考资源

  • IDEA官方文档
  • Tomcat官方文档
  • Servlet官方文档

注意:本教程基于IDEA 2022.3和Tomcat 9.0编写,不同版本界面可能略有差异,但基本操作流程相同。