`
jwfdp
  • 浏览: 46808 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Tomcat源码分析环境搭建

 
阅读更多

一、工具准备 

需要SVN、Maven、JDK、Eclipse、M2Eclipse 

二、下载源码及发布包 

源码在: 
http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_27/ 

发布包在: 
http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.27/bin/ 

说明:下载发布包这个步骤是可选的,好处是免得从源码再自行构建,节省时间;另外发布包里的配置文件等,接下来可以直接拿来用,很方便 

三、整理目录 

前面下载得到了源码和发布包,现在要把它们放到同一个目录里,再整理一下,方便后面把它转化成eclipse工程,毕竟后续读源码,以及调试,都要在eclipse里完成 

新建一个单独的目录,叫tomcat7.0.27,然后把刚才下载的源码和发布包都放进去。源码目录重命名为code;发布包重命名为launch 

得到的目录结构见下图: 

 

一会就会把这个目录导入eclipse,变成可运行,可调试的eclipse工程 

四、转换成maven工程 

将附件中的pom.xml放入目录,与code、launch目录平行 

得到的目录结构见下图: 

 

说明:这也不是必须的,只是为了方便 

五、导入eclipse 

 

 

导入成功以后,eclipse里的工程目录结构如下图: 

 

接下来就可以在eclipse里运行和调试tomcat了,也可以随意修改源代码,或者自己添加测试用例 

六、启动tomcat 

tomcat启动入口类是:org.apache.catalina.startup.Bootstrap 

平时我们用发布包启动tomcat一般是用脚本startup.bat或者startup.sh,其实就是在脚本中先处理启动参数和系统变量,然后调用这个入口类的main()方法 

所以在eclipse里启动,我们也是直接执行这个类的main()方法,只是模拟脚本,设置一下启动参数和系统变量 

方法1: 

在VM arguments中,拷贝以下参数 

-Dcatalina.home=launch -Dcatalina.base=launch -Djava.endorsed.dirs=launch/endorsed -Djava.io.tmpdir=launch/temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=launch/conf/logging.properties 

如图: 

 

方法2: 

将附件中的启动脚本,拷贝到工程目录下,结构如下图: 

 

然后直接在start-tomcat7.launch上右键点击,run就可以 

启动效果如下图: 

 

眼熟,和普通的脚本启动,以及启动嵌入式tomcat的信息都是一样的 

最后用浏览器访问:http://localhost:8080/examples/ 

七、tomcat7核心架构 



包名 作用
javax.* 各种JSR的API,如jsp、servlet、el等
org.apache.catalina tomcat自身架构
org.apache.coyote http、ajp协议实现
org.apache.el EL规范实现
org.apache.jasper JSP规范实现
org.apche.juli 日志
org.apache.naming JNDI实现
org.apache.tomcat 工具包、XML解析器等
分享到:
评论

相关推荐

    tomcat7源码环境搭建

    Tomcat7作为一款广泛应用的开源Java Servlet容器,其源码分析是许多开发者提升技能的重要途径。本主题主要探讨如何在本地环境中搭建Tomcat7的源码环境,以便进行源码级别的学习和调试。 【描述】:“用于Tomcat7.0...

    tomcat7源码环境部署

    这里我们讨论的主题是"Tomcat7源码环境部署",这涉及到对Tomcat服务器的深入理解,包括其内部工作原理、源码分析以及如何在本地环境中构建和部署。下面将详细介绍相关知识点。 首先,源码部署意味着你需要从Apache ...

    tomcat6学习环境搭建

    【标题】"Tomcat6学习环境搭建"是一个关于在个人计算机上配置和运行Apache Tomcat 6版本的教程。Tomcat是一款开源的Java Servlet容器,主要用于处理基于...同时,这也是学习源码分析、工具使用和环境配置的良好实践。

    tomcat源码 tomcat本来就是开源的

    1. **环境搭建**:首先需要准备好开发环境,确保安装了必要的工具如Java JDK、Eclipse或IntelliJ IDEA等集成开发环境。 2. **源码下载与编译**:从官方网站下载Tomcat源码后,按照官方文档指导完成编译过程。 3. **...

    Tomcat7 源码Eclipse工程

    在Eclipse中,我们可以使用Debug模式运行Tomcat源码,这将使得调试更加直观。当遇到应用程序异常或者性能问题时,我们可以通过断点、日志输出等方式定位到具体代码,进一步分析问题原因。 Tomcat7源码还涉及到了类...

    泛微E9表结构,E9开发环境搭建IDEA篇

    本教程将聚焦于如何理解和搭建泛微E9的开发环境,特别是使用IntelliJ IDEA这一流行的Java集成开发环境。 1. **E9表结构解析** - **表结构设计**:泛微E9的表结构设计通常包括实体表、关系表、索引表等,用于存储...

    Springboot 2使用外部Tomcat源码分析

    Spring Boot是一种流行的Java平台,它简化了新Spring应用的初始搭建以及开发过程。它提供了大量的默认配置,简化了项目配置,使得开发者能够更加专注于业务逻辑的开发。Spring Boot的一个关键特性是能够将应用打包成...

    搭建springmvc环境源码.zip

    本教程将帮助你理解如何搭建一个Spring MVC的开发环境,并通过源码分析深入理解其工作原理。 首先,我们需要安装和配置Java Development Kit (JDK)。确保你的系统已经安装了JDK 8或更高版本,因为Spring MVC通常与...

    solr-zookeeper-tomcat集群搭建

    Solr-Zookeeper-Tomcat集群搭建教程 在大数据和搜索引擎领域,Apache Solr是一个非常流行的全文检索服务。它能够提供高效、可扩展的搜索和分析功能。为了实现高可用性和负载均衡,通常会将Solr部署在分布式环境中,...

    使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    本篇将详细介绍如何利用Maven、Nexus、Jenkins、Svn、Tomcat和Sonar搭建一个完整的持续集成环境。 首先,Maven是Java项目管理和构建工具,通过POM(Project Object Model)文件管理项目依赖关系,提供了一种标准化...

    apache-tomcat-8.5.23-src源码

    - **Cluster**:如果需要搭建分布式环境,集群支持是必不可少的,这部分源码涉及如何在多个Tomcat实例间同步数据。 源码阅读和分析可以帮助我们了解Tomcat如何解析HTTP请求,如何加载和执行Servlet,以及如何处理...

    图书管理系统源码(jsp+java+tomcat+mysql+eclipse)可以直接运行

    2. 搭建Java Development Kit (JDK)环境,设置好JAVA_HOME环境变量。 3. 安装Eclipse IDE,导入图书管理系统源码项目,进行编译和调试。 4. 安装MySQL数据库,创建相应的数据库和用户,导入系统所需的数据库脚本。 ...

    如何搭建CI环境,持续构建环境搭建

    本指南将详细介绍如何搭建一个基于CI的环境,涉及以下关键技术:Hudson、Archiva、Ant、Maven、Tomcat和SVN。 **1. 需求分析** 在开始搭建之前,理解CI环境的核心需求是关键。这些包括自动化的构建、测试、部署和...

    webgoat靶场需要自行搭建

    5. **部署WebGoat**:将解压后的WebGoat目录重命名为"webgoat"(或者保持原名,根据Tomcat的默认配置),然后将其复制到Tomcat的webapps目录下。启动Tomcat服务器,WebGoat应用应该会被自动部署。 6. **访问WebGoat...

    web服务器和tomcat服务器配置

    了解Web服务器和Tomcat服务器的源码能帮助开发者深入理解其工作原理,从而更好地优化性能或定制功能。例如,查看Apache HTTP Server和Tomcat的源代码,可以学习如何处理HTTP请求、管理连接器以及实现Servlet容器。 ...

    畅购商城第一章环境搭建,源码,讲义。

    在本教程中,我们将深入探讨"畅购商城"这一电商项目的环境搭建过程,以及相关的源码和讲义分析。这是一门针对Java开发者的课程,旨在帮助他们理解电商平台的架构和实现细节。让我们逐步深入了解这个Java项目的关键...

    测试环境搭建操作步骤

    以下是对"测试环境搭建操作步骤"的详细说明,以及与之相关的源码和工具应用。 首先,我们需要理解测试环境的目的。测试环境主要是为了模拟真实用户可能遇到的各种场景,包括硬件配置、操作系统版本、网络条件等,以...

    Jetty源码分析.pdf

    ### Jetty源码分析知识点概览 #### 一、Jetty简介与特点 - **Jetty**是一款**100%纯Java编写**的轻量级Web服务器与Servlet容器,与Tomcat等其他流行的Web服务器相比,Jetty以其**体积小、启动快**而著称。 - **...

    【java苍穹外卖项目实战二】苍穹外卖环境搭建资料

    通过"苍穹外卖环境搭建资料"这个项目,你可以学习到完整的Java Web应用开发流程,从需求分析、设计、编码、测试到上线运维,提升自己的实战能力。实践是最好的老师,动手操作这些步骤,将理论知识转化为实际技能,...

Global site tag (gtag.js) - Google Analytics