<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://wiki.chinulture.com/index.php?action=history&amp;feed=atom&amp;title=TOMCAT</id>
	<title>TOMCAT - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.chinulture.com/index.php?action=history&amp;feed=atom&amp;title=TOMCAT"/>
	<link rel="alternate" type="text/html" href="https://wiki.chinulture.com/index.php?title=TOMCAT&amp;action=history"/>
	<updated>2026-10-21T09:10:24Z</updated>
	<subtitle>本wiki的该页面的版本历史</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.chinulture.com/index.php?title=TOMCAT&amp;diff=243142&amp;oldid=prev</id>
		<title>Test 32：1個修訂：HDwiki 数据迁移 批次 - 820</title>
		<link rel="alternate" type="text/html" href="https://wiki.chinulture.com/index.php?title=TOMCAT&amp;diff=243142&amp;oldid=prev"/>
		<updated>2014-08-10T23:24:03Z</updated>

		<summary type="html">&lt;p&gt;1個修訂：HDwiki 数据迁移 批次 - 820&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2014年8月10日 (日) 23:24的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;zh&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;（没有差异）&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Test 32</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.chinulture.com/index.php?title=TOMCAT&amp;diff=243141&amp;oldid=prev</id>
		<title>2014年8月10日 (日) 23:23 Test 32</title>
		<link rel="alternate" type="text/html" href="https://wiki.chinulture.com/index.php?title=TOMCAT&amp;diff=243141&amp;oldid=prev"/>
		<updated>2014-08-10T23:23:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.chinulture.com/index.php?title=TOMCAT&amp;amp;diff=243141&amp;amp;oldid=15830&quot;&gt;显示更改&lt;/a&gt;</summary>
		<author><name>Test 32</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.chinulture.com/index.php?title=TOMCAT&amp;diff=15830&amp;oldid=prev</id>
		<title>Test 32：1個修訂：HDwiki 数据迁移 - 批次 583</title>
		<link rel="alternate" type="text/html" href="https://wiki.chinulture.com/index.php?title=TOMCAT&amp;diff=15830&amp;oldid=prev"/>
		<updated>2014-07-31T17:36:39Z</updated>

		<summary type="html">&lt;p&gt;1個修訂：HDwiki 数据迁移 - 批次 583&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2014年7月31日 (四) 17:36的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;zh&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;（没有差异）&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Test 32</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.chinulture.com/index.php?title=TOMCAT&amp;diff=15829&amp;oldid=prev</id>
		<title>2010年3月1日 (一) 00:00 Test 32</title>
		<link rel="alternate" type="text/html" href="https://wiki.chinulture.com/index.php?title=TOMCAT&amp;diff=15829&amp;oldid=prev"/>
		<updated>2010-03-01T00:00:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== 基本简介 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''&lt;br /&gt;
'''tomcat'''Tomcat 很受广大程序员的喜欢，因为它运行时占用的[[系统]]资源小，[[扩展性]]好，支持[[负载平衡]]与[[邮件服务]]等开发应用系统常用的功能；而且它还在不断的改进和完善中，任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。&lt;br /&gt;
Tomcat 是一个小型的轻量级应用服务器，在中小型系统和并发访问用户不是很多的场合下被普遍使用，是开发和调试JSP 程序的首选。对于一个初学者来说，可以这样认为，当在一台机器上配置好Apache服务器，可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展，但它是独立运行的，所以当你运行tomcat 时，它实际上作为一个与[[Apache]] 独立的[[进程]]单独运行的。&lt;br /&gt;
&lt;br /&gt;
这里的诀窍是，当配置正确时，Apache 为HTML页面服务，而Tomcat 实际上运行JSP 页面和Servlet。另外，Tomcat和IIS、Apache等Web服务器一样，具有处理HTML页面的功能，另外它还是一个Servlet和JSP容器，独立的Servlet容器是Tomcat的默认模式。不过，Tomcat处理静态[[HTML]]的能力不如Apache服务器。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 版本简介 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
版本对照表：Servlet/JSP Spec Apache Tomcat version———————————————————————2.5/2.16.0.142.4/2.0 5.5.252.3/1.24.1.362.2/1.1 3.3.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 容器概述 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''Tomcat是一个免费的开源的[[Serlvet]]容器，它是Apache基金会的Jakarta项目中的一个核心项目，由Apache，Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持，最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品，可见其在业界的地位。&lt;br /&gt;
Tomcat4.0x中采用了新的Servlet容器：[[Catalina]]，完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本供下载，可以从其官方网站上下载其源代码版或者二进制版。由于Java的跨平台特性，基于Java的Tomcat也具有跨平台性。与传统的桌面应用程序不同，Tomcat中的应用程序是一个WAR（Web Archive）文件。WAR是Sun提出的一种Web应用程序格式，与[[JAR]]类似，也是许多文件的一个压缩包。&lt;br /&gt;
&lt;br /&gt;
这个包中的文件按一定目录结构来组织：通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录，另外还会有一个WEB-INF目录，这个目录很重要。通常在[[WEB-INF]]目录下有一个web.xml文件和一个classes目录，web.xml是这个应用的配置文件，而[[classes]]目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类（如[[JavaBean]]）。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下，当然也可以放到系统的[[CLASSPATH]]中，但那样移植和管理起来不方便。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 程序部署 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''在Tomcat中，应用程序的部署很简单，你只需将你的WAR放到Tomcat的webapp目录下，Tomcat会自动检测到这个文件，并将其解压。你在浏览器中访问这个应用的Jsp时，通常第一次会很慢，因为Tomcat要将Jsp转化为Servlet文件，然后[[编译]]。编译以后，访问将会很快。另外Tomcat也提供了一个应用：manager，访问这个应用需要用户名和密码，用户名和密码存储在一个xml文件中。通过这个应用，辅助于[[Ftp]]，你可以在远程通过Web部署和撤销应用。当然本地也可以。&lt;br /&gt;
Tomcat不仅仅是一个Servlet容器，它也具有传统的Web服务器的功能：处理Html页面。但是与Apache相比，它的处理静态Html的能力就不如Apache.可以将Tomcat和Apache集成到一块，让Apache处理静态Html，而Tomcat处理[[Jsp]]和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。&lt;br /&gt;
&lt;br /&gt;
Tomcat提供Realm支持。Realm类似于Unix里面的group.在Unix中，一个group对应着系统的一定资源，某个group不能访问不属于它的资源。Tomcat用Realm来对不同的应用（类似系统资源）赋给不同的用户（类似group）。没有权限的用户则不能访问这个应用。Tomcat提供三种Realm，1：JDBCRealm，这个Realm将用户信息存在数据库里，通过JDBC获得用户信息来进行验证。2：JNDIRealm，用户信息存在基于LDAP的服务器里，通过[[JNDI]]获取用户信息。3：MemoryRealm，用户信息存在一个[[xml]]文件里面，上面讲的manager应用验证用户时即使用此种Realm.通过Realm可以方便地对访问某个应用的客户进行验证。&lt;br /&gt;
&lt;br /&gt;
在Tomcat4中，你还可以利用Servlet2.3提供的事件监听器功能，来对你的应用或者Session实行监听。Tomcat也提供其它的一些特征，如与[[SSL]]集成到一块，实现安全传输。还有Tomcat也提供JNDI支持，这与那些J2EE应用服务器提供的是一致的。说到这里要介绍一下通常所说的应用服务器（如WebLogic）与Tomcat有何区别。应用服务器提供更多的J2EE特征，如EJB，JMS，JAAS等，同时也支持Jsp和Servlet.而Tomcat则功能没有那么强大，它不提供EJB等支持。但如果与JBoss（一个开源的应用服务器）集成到一块，则可以实现[[J2EE]]的全部功能。既然应用服务器具有Tomcat的功能，那么Tomcat有没有存在的必要呢？事实上，的很多中小应用不需要采用EJB等技术，Jsp和Servlet已经足够，这时如果用应用服务器就有些浪费了。而Tomcat短小精悍，配置方便，能满足的需求，这种情况下自然会选择Tomcat。&lt;br /&gt;
&lt;br /&gt;
基于Tomcat的开发其实主要是Jsp和Servlet的开发，开发Jsp和Servlet非常简单，你可以用普通的文本编辑器或者IDE，然后将其打包成WAR即可。这里要提到另外一个工具Ant，Ant也是Jakarta中的一个子项目，它所实现的功能类似于Unix中的make。你需要写一个build.xml文件，然后运行Ant就可以完成xml文件中定义的工作，这个工具对于一个大的应用来说非常好，只需在xml中写很少的东西就可以将其编译并打包成[[WAR]]。在很多应用服务器的发布中都包含了Ant.另外，在Jsp1.2中，可以利用[[标签]]库实现Java代码与Html文件的分离，使Jsp的维护更方便。&lt;br /&gt;
&lt;br /&gt;
Tomcat也可以与其它一些[[软件]]集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB，与Cocoon（Apache的另外一个项目）集成起来开发基于Xml的应用，与OpenJMS集成起来开发JMS应用，除了提到的这几种，可以与Tomcat集成的软件还有很多。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 安装方法 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''一、准备工作&lt;br /&gt;
在开始安装之前，先准备[[J2SDK]]和TOMCAT两个软件，如果已经安装了J2SDK，就只需TOMCAT即可。　　使用的软件如下：J2SDK v1.4.2_04 -http://java.sun.com/j2se/1.4.2/download.htmlTOMCAT v5.0.28 -http://apache.linuxforum.net/dist/jakarta/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.exe　　&lt;br /&gt;
&lt;br /&gt;
二、安装J2SDK&lt;br /&gt;
&lt;br /&gt;
安装很简单，只需双击下载的文件，选择安装在d:j2sdk1.4.2_04目录下，设置环境变量，方法如下：　　&lt;br /&gt;
&lt;br /&gt;
右击“我的电脑”==》属性==》高级==》环境变量==》新建　变量名：JAVA_HOME变量值：d:j2sdk1.4.2_04&lt;br /&gt;
&lt;br /&gt;
三、安装TOMCAT&lt;br /&gt;
&lt;br /&gt;
运行jakarta-tomcat-5.0.28.exe 按照提示安装，这里选择了Service，就是作为Windows服务来运行。&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''&lt;br /&gt;
如果要改变安装路径，可以在这个步骤操作，偶这里选择安装在D:Tomcat 5.0&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''&lt;br /&gt;
在这里设置TOMCAT使用的端口以及WEB管理界面用户名和密码，请确保该[[端口]]未被其他程序占用&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''&lt;br /&gt;
选择J2SDK的安装路径，安装程序会自动搜索，如果没有正确显示，则可以手工修改，偶这里改为d:j2sdk1.4.2_04&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''&lt;br /&gt;
接下来就开始[[拷贝]]文件了，成功安装后，程序会提示启动tomcat并查看readme文档。Tomcat正常启动后会在系统栏加载图标。&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''&lt;br /&gt;
在图标上右键鼠标可以看到一些设置项目&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''&lt;br /&gt;
点击Configure或者双击图标可看到如下显示，选择Startup type为automatic自动启动，这样每次开机后就会自动运行TOMCAT。另外也可在这个界面点击start或stop按钮来控制tomcat的运行。&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''&lt;br /&gt;
四、测试&lt;br /&gt;
&lt;br /&gt;
至此安装与配置都已完成，打开[[浏览器]]输入：http://localhost:8080即可看到TOMCAT的相关信息&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''&lt;br /&gt;
五、备注&lt;br /&gt;
&lt;br /&gt;
由于偶将TOMCAT作为service方式安装，所以CATALINA_HOME环境变量也没设过，如果读者不是按照这种方式请设置一个系统环境变量，设置方法同J2SDK。变量名：CATALINA_HOME变量值：d:Tomcat 5.0另外可再增加一个环境变量变量名：CLASSPATH变量值：%JAVA_HOME%libdt.jar；%JAVA_HOME%libtool.jar；%JAVA_HOME%libtools.jar；%CATALINA_HOME%commonlibservlet-api.jar；%CATALINA_HOME%commonlibjsp-api.jar&lt;br /&gt;
&lt;br /&gt;
也是因为service安装的原因，在执行一些程序的时候会出现如下错误信息：Unable to find a javac compiler； com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK&lt;br /&gt;
&lt;br /&gt;
错误信息是没有设置过JAVA_HOME环境变量，读者也可能碰到过这个问题，明明设置过这个环境变量，在服务里启动就会出错，但是在命令行下输入D:Tomcat 5.0binstartup.bat启动却能运行，在服务里启动没有读取JAVA_HOME这个环境变量，而是在[[配置]]里定义这个环境变量的，于是偶在Java Options里加入了一句：-Djava.home=d:j2sdk1.4.2_04，再次启动TOMCAT就OK了，参照下图：&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''&lt;br /&gt;
&lt;br /&gt;
== 未来前景 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''分析公司Forrester Research的分析师这样评价Tomcat：“Tomcat可能是排在Apache Web 服务器和MySQL 数据库之后使用最多的开源产品。”[[BZ]]最新的调查研究则为此提供了有力的证据：Apache Tomcat是Java社区最常用的应用服务器??64%的Java开发者选择使用Tomcat。&lt;br /&gt;
Tomcat之所以大受欢迎原因主要有以下五点：&lt;br /&gt;
&lt;br /&gt;
1、Tomcat 是 Apache 的核心项目之一，也被 [[SUN]] 视作 Servlet/JSP 容器的一个重要参考实现而加以支持。因此 SUN 最新的 Servlet/JSP 规范，往往能够很快地在 Tomcat 的新版本中得到体现；&lt;br /&gt;
&lt;br /&gt;
2、Tomcat 是一个小巧精致的 web 应用服务器，配置、安装、运行、部署 web 应用都很简单，这让用户能够很快地上手使用；&lt;br /&gt;
&lt;br /&gt;
3、[[开源软件]]的生命力，往往与其社区的状况有紧密的联系。在一个[[健康]]、活跃的社区，用户的疑问通常能够及时地解决，用户的反馈往往能够得到有效地处理，这样会吸引更多的用户加入到社区中来；反过来，不断扩大的用户群，也会促进社区的发展。Tomcat 所拥有的优秀社区，对开发者而言，无论用什么标准来评价，都是充满吸引力的；&lt;br /&gt;
&lt;br /&gt;
4、编写良好的文档，是开发者在开发中最好的帮手之一。Apache 在开源社区中，无疑是撰写文档方面的佼佼者；&lt;br /&gt;
&lt;br /&gt;
5、因为开源和免费的特性，使得用户可以自由无障碍地下载、安装、使用 Tomcat。这也是 Tomcat 能够被广泛使用的重要原因之一。&lt;br /&gt;
&lt;br /&gt;
Tomcat 最初是作为 Servlet/JSP [[容器]]的参考实现而进行设计开发的，在性能方面，并没有做过多的考量。经过几年的时间，Apache 发现 Servlet/JSP 容器并非只是 [[J2EE]] 环境的一部分而已。大量 web 应用并不需要 J2EE 这样的庞然大物，完全可以将 Tomcat 作为一个单独的 web 应用服务器来使用。&lt;br /&gt;
&lt;br /&gt;
这实际也正是Tomcat受欢迎的另一原因所在很多开发者不需要如EJBs、[[JMS]]、分布式事务处理等J2EE组件。Rod Johnson 在他的《J2EE Development without EJB》一书中，指出了 J2EE 的许多不足之处。比如说，传统 J2EE（Java EE 5之前的 J2EE）中的 Entity EJB 是不怎么招人喜欢的。在 Java EE 5 中，过时的 Entity EJB 组件被淘汰掉，数据持久化的工作，交给了深受 Hibernate 此类 ORM 工具影响的 JPA 来完成。分布式对象在大多数情况下，也是不合时宜的。&lt;br /&gt;
&lt;br /&gt;
'''tomcat'''Martin Fowler 在[[《企业应用架构模式》]]中分布式对象设计的第一原则就是不要分布你的对象。他给出的建议是将所有的组件部署到集群中的每一个节点中去。因而对于大部分 web 应用，Tomcat 应用服务器就能满足需求。通过诸如 Spring-Struts-Hibernate 这样的组合，可以快速而灵活地开发出能够满足复杂业务需求的 web 系统来。&lt;br /&gt;
在开发实践中除了Tomcat贺炜还使用过Resin，就二者的性能方面，Resin 2.x 的性能比同时期的 Tomcat 要好不少。但是 Tomcat 自设计实现了全新的 Catalina 引擎之后，在性能方面的问题便持续得到改善。而 Resin 在步入 3.x 版本后，划分成免费的 Open Source 版本和收费的 Pro 版本。有相当多的测试表明，Resin 3.x OS 的性能，与 Tomcat 5/6 相比要低得多；在配置方面，同 Resin 相比，Tomcat 还是显得稍微繁琐一点。对于中国的[[开发者]]而言，为了避免系统中出现乱码，往往还需要对 Tomcat 进行一些额外的配置才可以。而 Resin 在这一方面表现得很好，在绝大多数情况下，基本上不用做任何配置就能正常处理中文而不会出现乱码的问题。&lt;br /&gt;
&lt;br /&gt;
在 Resin 3.x Pro 中，提供了诸如[[缓存]]、[[集群]]等高级特性，倘若 Tomcat 在这方面有所加强，对于开发者而言无疑是非常美好的一件事情。Tomcat未来的趋势， Tomcat 无疑是使用最为广泛的 web 应用服务器之一，完全有理由相信这样的情况至少还会持续数年。但是天边已经出现两朵小小的、令人不安的乌云。&lt;br /&gt;
&lt;br /&gt;
Ruby on Rails 所展现的开发方式与它所产生的高[[生产率]]，给予 Java 开发者们的震撼很大。如果 Java 社区不能及时有效地改进 web 应用开发的方式，那么包括 Tomcat 在内的众多 Java 社区都会受到 RoR 不小的冲击。可能正如 Bruce Tate 所预言的那样，Java 在未来将更加着重于解决更复杂的事情，而普通 web 应用开发领域，则会逐步让位给像[[RoR ]]这样高度灵活快速的技术。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[[Category:技術應用]]&lt;/div&gt;</summary>
		<author><name>Test 32</name></author>
		
	</entry>
</feed>