IDEA源码调试Tomcat环境配置
源码下载
源码解压后的文件目录
发布版本解压后的文件目录
下载相同版本的 tomcat,里面有需要的lib包
部署步骤
-
IDEA 专业版(2021.3)构建 Maven 项目
-
复制代码
- 将源码中的 conf 和 webappas 目录复制到新建项目根路径下,java 和 modules 目录复制到新建目录根路径下的 \src\main 目录;
- 将发布版本中的 lib 目录复制到新建项目根路径下。
最终新建项目复制代码后的目录结构是:
-
编辑新建项目根目录下的 pom.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apache</groupId> <artifactId>tomcatcode</artifactId> <version>1.0-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3</version> <configuration> <encoding>UTF-8</encoding> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <version>3.4</version> </dependency> <dependency> <groupId>ant</groupId> <artifactId>ant</artifactId> <version>1.7.0</version> </dependency> <dependency> <groupId>wsdl4j</groupId> <artifactId>wsdl4j</artifactId> <version>1.6.2</version> </dependency> <dependency> <groupId>javax.xml</groupId> <artifactId>jaxrpc</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>org.eclipse.jdt.core.compiler</groupId> <artifactId>ecj</artifactId> <version>4.5.1</version> </dependency> </dependencies> </project>
-
IDEA 中对新建项目引入模块
打开 “文件-项目结构-项目设置-模块-项目名-依赖-添加-JAR或目录-全选该项目 lib 目录下的所有 jar 文件” ,导入成功后如下所示:
-
IDEA 中对新建项目配置启动程序
打开 “运行/调试设置-选择应用程序”,添加主类为:
org.apache.catalina.startup.Bootstrap,添加VM选项为:-Dcatalina.home="<新建项目根目录的绝对路径>",最终结果是: -
启动 Tomcat
默认访问地址:
http://localhost:8080
调试
新建 JSP 文件
在根目录下的 webapps/ROOT 中新建 dd.jsp 文件,访问地址为: http://localhost:8080/dd.jsp
新建网站目录
在项目根目录下的 webapps 中新建文件夹,创建如下图所示
访问地址为: http://localhost:8080/html-project/index.html
或者给这个单独网站做配置,WEB-INF/classes/MyServlet.class 文件是 /src/main/java/MyServlet.java 中创建并构建后从 /target/classes/MyServlet.class 复制而来,MyServlet.java 内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
// /src/main/java/MyServlet.java
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().write("Hello World");
}
}
之后在 WEB-INF/web.xml 中做映射,内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>zhangsan</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>zhangsan</servlet-name>
<url-pattern>*.abc</url-pattern>
</servlet-mapping>
</web-app>
最终访问地址为:http://localhost:8081/html-project/gg.abc
其他
-
更改监听端口
更改项目根目录下的 conf/server.xml 文件,修改端口为 8081 :
1 2 3
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
之后在 IDEA 中重新运行即可。
-
查看web访问日志
访问日志存放在项目根目录 logs 目录下
Ref.
- https://zhuanlan.zhihu.com/p/35454131
- https://blog.csdn.net/github_26672553/article/details/78986725








