一、Tomcat簡介
Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,
二、下載原始碼
進入tomcat官網
點擊左側導航欄的Tomcat8,然后下載原始碼

三、Idea啟動原始碼
tomcat使用的是ant,大家一般都是對maven比較熟悉,所以先將ant專案轉換成maven專案,
1.轉換成maven專案
直接在專案下新建一個pom.xml,粘貼以下內容,
點擊查看代碼
<?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>org.apache.tomcat</groupId>
<artifactId>Tomcat8.5</artifactId>
<name>Tomcat8.5</name>
<version>8.5</version>
<build>
<finalName>Tomcat8.5</finalName>
<sourceDirectory>java</sourceDirectory>
<testSourceDirectory>test</testSourceDirectory>
<resources>
<resource>
<directory>java</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>test</directory>
</testResource>
</testResources>
<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>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>3.6</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>
<!-- https://mvnrepository.com/artifact/javax.xml/jaxrpc -->
<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>
2. idea匯入專案,設定Application,

啟動類是 org.apache.catalina.startup.Bootstrap,
vm引數是 -Duser.language=en -Duser.region=US -Dfile.encoding=UTF-8,這幾個引數是為了解決控制臺輸出亂碼,
3. 洗掉test、webapps/example,
因為這兩個檔案夾里缺少幾個java檔案,會編譯不通過,或者,你也可以手動洗掉報錯的java檔案,
4. 添加jsp決議器,
找到ContextConfig檔案,在 configureStart方法中添加一句代碼
context.addServletContainerInitializer(new JasperInitializer(), null);

5. 啟動專案
查看控制臺有沒有報錯資訊,有就自己復制錯誤資訊去百度,

現在打開瀏覽器訪問 http://localhost:8080/

熟悉的頁面出來了,啟動原始碼成功!!!
在閱讀原始碼之前,請先了解web服務器(Tomcat原始碼分析 (一)----- 手寫一個web服務器),tomcat架構(Tomcat原始碼分析 (二)----- Tomcat整體架構及組件),生命周期(Tomcat原始碼分析 (三)----- 生命周期機制 Lifecycle)的概念,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/319568.html
標籤:Java
