Tomcat源码自然环境构筑
工欲善其事工欲善其事,为的是努力学习Tomcat源码,他们须要先在邻近地区构筑两个Tomcat的运转自然环境。
1.源码自然环境浏览
源码有三种浏览方式:
1.1 官方网站浏览
https://tomcat.apache.org/
1.2 GitHub浏览
总之你也能透过GitHub来拉取源码
https://github.com/apache/tomcat
2.Maven自然环境搭建
2.1 自然环境准备
打开IEDA导入项目,然后在项目中创建两个新的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>apache-tomcat</artifactId>
<version>8.5</version>
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.10.4</version>
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxrpc-api</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>4.5.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
</dependency>
</dependencies>
<build>
<finalName>apache-tomcat</finalName>
<sourceDirectory>java</sourceDirectory>
<resources>
<resource>
<directory>java</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
然后设置项目为Maven项目,选中pom.xml文件,鼠标右点。选择 Add as Maven Project .
在右侧出现的Maven菜单中选择编译项目(compile)
2.2 项目启动
编译成功后进入 Bootstrap中,启动main方法
出现如下提示,说明启动成功,只是中文乱码了
2.3 解决中文乱码问题
中文乱码问题的解决方案,修改两处地方即可
1.修改org.apache.jasper.compiler.LocalizergetMessage(java.lang.String)方法
public static String getMessage(String errCode) {
String errMsg = errCode;
try {
if (bundle != null) {
errMsg = bundle.getString(errCode);
}
} catch (MissingResourceException e) {
}
try{
errMsg = new String(errMsg.getBytes("ISO-8859-1"),"UTF-8");
}catch (UnsupportedEncodingException e){
e.printStackTrace();
}
return errMsg;
}
2.修改org.apache.tomcat.util.res.StringManagergetString(java.lang.String)
重启服务
启动正常,但是访问的时候出现了问题
2.4 解决不支持JSP的问题
启动成功后,在访问首页的时候,出现了500错误,而且提示无法为JSP编译类。
原因是无法编译jsp。解决也很简单,按照下面步骤操作即可
上面的报错解决方式,可以在org.apache.catalina.startup.ContextConfig类中的configureStart方法中,添加一下JSP解析器初始化即可
context.addServletContainerInitializer(new JasperInitializer(), null);
重启服务:访问搞定
到此Tomcat的源码环境我们就已经准备好了,接下来就可以开始我们的Tomcat源码之旅了!!!
1.本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2.分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3.不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4.本站提供的源码、模板、插件等其他资源,都不包含技术服务请大家谅解!
5.如有链接无法下载或失效,请联系管理员处理!
6.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
2.分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3.不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4.本站提供的源码、模板、插件等其他资源,都不包含技术服务请大家谅解!
5.如有链接无法下载或失效,请联系管理员处理!
6.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!