`

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.catalinatomcat自身架构
org.apache.coyotehttp、ajp协议实现
org.apache.elEL规范实现
org.apache.jasperJSP规范实现
org.apche.juli日志
org.apache.namingJNDI实现
org.apache.tomcat工具包、XML解析器等
  • 大小: 23 KB
  • 大小: 22.6 KB
  • 大小: 11.7 KB
  • 大小: 25.2 KB
  • 大小: 7.2 KB
  • 大小: 27.1 KB
  • 大小: 8.2 KB
  • 大小: 24.5 KB
  • 大小: 58 KB
分享到:
评论
2 楼 li272355201 2017-09-18  
http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.27/bin/
要下载哪几个文件
1 楼 k_cheng007 2014-10-30  
楼主,你说的附件中的pom.xml在哪呢?

相关推荐

    Tomcat源码阅读环境.rar

    总的来说,这个“Tomcat源码阅读环境”是深入学习和研究Java Web服务器架构的一个宝贵资源,无论你是希望提升自己的技术能力,还是想为Tomcat社区贡献代码,都能从中受益匪浅。通过实际操作和阅读源码,可以增强对...

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

    《图书管理系统源码详解——基于JSP+Java+Tomcat+MySQL+Eclipse的实现》 图书管理系统是一款常见的信息管理软件,广泛应用于图书馆、书店等场所,用于自动化图书的借阅、归还、查询等操作。本系统源码采用Java语言...

    搭建springmvc环境源码.zip

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

    Eclipse应用环境搭建

    本文将详细介绍如何搭建一个Eclipse应用环境,特别是针对DAT项目的环境配置。 首先,环境搭建的第一步是安装Eclipse和配置JDK环境。JDK(Java Development Kit)是Java编程的基础,它提供了编译、运行Java程序所需...

    springboot——员工管理系统源码

    本篇文章将深入探讨一个基于SpringBoot的员工管理系统源码,揭示其背后的编程思想和技术栈。 首先,SpringBoot的核心优势在于它对Spring框架的自动化配置,使得开发者可以迅速搭建应用,无需繁琐的手动配置。在员工...

    打包mysql、tomcat、jdk为一个软件

    这样的打包方式在开发和测试环境中非常常见,它方便用户快速搭建一个具备完整功能的Java Web服务环境。 描述中提到的“博文链接:https://gds-fighting.iteye.com/blog/1895299”是一个可能提供详细步骤和教程的...

    nginx_tomcat_redis搭建负载均衡共享session

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"nginx_tomcat_redis搭建负载均衡共享session"这个主题则聚焦于如何利用这三个组件——Nginx、Tomcat和Redis来实现这一目标。Nginx是一款高性能的反向代理...

    JSP源码——中帆智能建站系统基础版JSP版_basic3.zip

    【JSP源码——中帆智能建站系统基础版JSP版_basic3.zip】是一个包含JSP源代码的压缩包,主要用于构建企业政府类网站。这个基础版的系统旨在提供一个快速、便捷的建站解决方案,它基于JavaServer Pages (JSP) 技术,...

    Linux版本jdk和Tomcat(官网的).zip

    本压缩包"Linux版本jdk和Tomcat(官网的).zip"提供了Linux环境下运行Java应用程序的基础——JDK(Java Development Kit)和Tomcat服务器,两者都是官方版本,确保了稳定性和安全性。以下是关于这两个组件的详细知识...

    eclipse开发J2EE项目系列(1)——Struts2框架搭建

    这个系列的第一部分将专注于Struts2框架的搭建,为后续的开发工作打下基础。 首先,我们需要了解Struts2框架。Struts2是一个强大的MVC(Model-View-Controller)框架,它提供了结构化的Web应用程序开发方式,帮助...

    how tomcat to work

    本书名为“How Tomcat Works”,它深入剖析了Tomcat 4.1.12和5.0.18这两个版本,解释了这个开源、免费且广受欢迎的servlet容器——代号为Catalina的内部工作原理。Tomcat是一个复杂的系统,它由许多不同的组件构成。...

    liferay开发小记---开发环境的搭建

    本文将详述“liferay开发小记——开发环境的搭建”这一主题,旨在帮助开发者们快速有效地设置自己的开发环境,从而顺利进行Liferay插件或portlet的开发。 首先,我们需要了解Liferay开发的基础。Liferay提供了多种...

    Liferay配置二次开发环境——Eclipse

    【标题】"Liferay配置二次开发环境——Eclipse"涉及的知识点主要集中在Liferay门户平台的开发环境搭建,特别是如何在Eclipse集成开发环境中进行配置。Liferay是一款开源的企业级内容管理和数字体验平台,它提供了...

    struts2环境搭建及国际化

    #### 一、Struts2简介与环境搭建 **1.1 Struts2框架概述** Struts2是由Apache软件基金会提供的一个开源的MVC框架,它继承了Struts1的设计理念,并进行了大量的改进和优化。Struts2框架的核心是基于拦截器机制的,...

    maven搭建SSH框架源码

    现在我们将深入探讨如何使用Maven来搭建一个基于SSH框架的项目。 首先,创建一个新的Maven项目。在IDE如IntelliJ IDEA或Eclipse中,选择“New -> Maven Project”,填写项目的基本信息,包括GroupId(通常代表公司...

    Java Web程序设计任务教程--教材源码第1章.rar

    本教程的第1章可能是介绍Java Web开发的基础,包括环境搭建、基本概念和技术框架。 首先,我们需要了解的是Java Web应用程序的运行环境,主要包括JDK(Java Development Kit)和Web服务器。JDK提供了编译和运行Java...

    基于Java和Vue的前后端分离小项目——日程管理设计源码

    本项目为基于Java和Vue技术的前后端分离型日程管理小项目设计源码,包含182个文件,其中包括50个Java类文件、48个...后端采用Servlet与Tomcat搭建服务器,前端则利用Vue框架实现,旨在记录个人学习Java Web开发的过程。

    基于SpringBoot的购物中心系统源码.zip

    SpringBoot是Spring框架的简化版,它内置了Tomcat服务器,通过“约定优于配置”的原则,极大地简化了项目的搭建和配置。在购物中心系统的源码中,我们可以看到SpringBoot的自动配置特性,它通过 starter 包来实现对...

    科研成果申报管理系统源码最新.zip

    在压缩包中还包含了一份"java项目本地环境搭建手册-小刘.pdf",这是为了帮助开发者在本地计算机上搭建运行环境。搭建步骤可能包括以下内容: 1. **JDK安装**:首先确保安装了Java开发工具包(Java Development Kit...

Global site tag (gtag.js) - Google Analytics