好学IT学院:IT信息技术分享交流平台
标签:环境  来源:互联网  作者:cnbeta  发布时间:2009-05-23  ★★★加入收藏〗〖手机版
摘要:Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomca…

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

下载:Tomcat 6.0.20

http://people.apache.org/~remm/tomcat-6/v6.0.20/bin/
  Apache Tomcat Version 6.0.20
  Release Notes

=============================
  KNOWN ISSUES IN THIS RELEASE:
  =============================

* Dependency Changes
  * JNI Based Applications
  * Bundled APIs
  * Web application reloading and static fields in shared libraries
  * Tomcat on Linux
  * Enabling SSI and CGI Support
  * Security manager URLs
  * Symlinking static resources
  * Enabling invoker servlet
  * Viewing the Tomcat Change Log
  * When all else fails

===================
  Dependency Changes:
  ===================

Tomcat 6.0 is designed to run on JSE 5.0 and later.
  In addition, Tomcat 6.0 uses the Eclipse JDT Java compiler for compiling
  JSP pages. This means you no longer need to have the complete
  Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
  (JRE) is sufficient. The Eclipse JDT Java compiler is bundled with the
  binary Tomcat distributions. Tomcat can also be configured to use the
  compiler from the JDK to compile JSPs, or any other Java compiler supported
  by Apache Ant.

=======================
  JNI Based Applications:
  =======================

Applications that require native libraries must ensure that the libraries have
  been loaded prior to use. Typically, this is done with a call like:
  static {
  System.loadLibrary("path-to-library-file");
   }
  in some class. However, the application must also ensure that the library is
  not loaded more than once. If the above code were placed in a class inside
  the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the
  application were reloaded, the loadLibrary() call would be attempted a second time.
  To avoid this problem, place classes that load native libraries outside of the
  web application, and ensure that the loadLibrary() call is executed only once
  during the lifetime of a particular JVM.

=============
  Bundled APIs:
  =============

A standard installation of Tomcat 6.0 makes all of the following APIs available
  for use by web applications (by placing them in "lib"):

* annotations-api.jar (Annotations package)
  * catalina.jar (Tomcat Catalina implementation)
  * catalina-ant.jar (Tomcat Catalina Ant tasks)
  * catalina-ha.jar (High availability package)
  * catalina-tribes.jar (Group communication)
  * el-api.jar (EL 2.1 API)
   * jasper.jar (Jasper 2 Compiler and Runtime)
  * jasper-el.jar (Jasper 2 EL implementation)
  * jasper-jdt.jar (Eclipse JDT 3.3 Java compiler)
  * jsp-api.jar (JSP 2.1 API)
   * servlet-api.jar (Servlet 2.5 API)
  * tomcat-coyote.jar (Tomcat connectors and utility classes)
  * tomcat-dbcp.jar (package renamed database connection pool based on Commons DBCP)

You can make additional APIs available to all of your web applications by
  putting unpacked classes into a "classes" directory (not created by default),
  or by placing them in JAR files in the "lib" directory.
  To override the XML parser implementation or interfaces, use the endorsed
  mechanism of the JVM. The default configuration defines JARs located in
  "endorsed" as endorsed.
  Web application reloading and static fields in shared libraries:

================================================================
  Some shared libraries (many are part of the JDK) keep references to objects
  instantiated by the web application. To avoid class loading related problems
  (ClassCastExceptions, messages indicating that the classloader
  is stopped, etc.), the shared libraries state should be reinitialized.
  Something which might help is to avoid putting classes which would be
   referenced by a shared static field in the web application classloader,
  and putting them in the shared classloader instead (JARs should be put in the
  "lib" folder, and classes should be put in the "classes" folder).