tomcat基础应用

1. Tomcat版本和支持的API和JDK版本

Apache Tomcat Servlet API JSP API JDK
7.0 3.0 2.2 1.6
6.0 2.5 2.1 1.5
5.5 2.4 2.0 1.4
4.1 2.3 1.2 1.3
3.0 2.2 1.1 1.1

2. 比较好的tomcat的资料:

官网:http://tomcat.apache.org

Tomcat mailing lists:http://tomcat.apache.org/lists.html

一个比较关于tomcat的网站:www.tomcatexpert.com

3. tomcat的架构组件

<Server>
  <Service>
    <Connector />
    <Engine>
      <Host>
        <Context> </Context>
      </Host>
    </Engine>
  </Service>
</Server>

<Server>代表整个Catalina servlet engine,作为一个tomcat实例的*元素,<Server>元素可以包含一个

或者多个<Service>容器

<Service>容器可以包含一个或者多个<Connector>元素和一个<Engine>元素,多个<Service>元素可以放到一个<Server>元素中。

<Connector>元素定义类,这个类做真正的请求和响应处理。

<Engine>元素,每个<Service>元素可以仅仅只有一个<Engine>元素,这个<Engine>元素处理被<Connector>元素接收到的所有请求。

<Host>元素定义虚拟主机,它被包含在每个<Engine>的实例中,每个<Host>元素可以包含多个web applications。

每个<Context> 元素代表一个单独的web application,没有任何限制在<host>中的<Context>元素。

4. Tomcat的目录结构

目录 内容
/bin 包含windows和Linux下的开启和关闭脚本,tomcat启动时必要的jar包也放在这个目录
/conf 包含主要的配置文件,两个最主要的配置文件是server.xml和全局的web.xml
/lib 包含tomcat的jar包,共享的组件。所有发布到tomcat的web application都可以访问该目录的包,这个包含Servlet API和JSP API包
/logs 包含tomcat的日志文件
/temp 临时文件系统存储
/webapps 所有web application发布到的地方,就是放你war包的地方
/work

tomcat的工作目录,tomcat放从jsp形成的所有servlets到该目录,如果你想要看一个特定的jsp怎么编译,你应该看该目录

5. 执行tomcat脚本

在bin目录中最重要的执行脚本是Catalina脚本,这个脚本负责启动和关闭tomcat,它接受不同的命令行参数为不同的操作。

(Catalina脚本仅仅可以使用对于zip版本来说,如果你下载的是Windows service installer版本,你不能访问Catalina脚本,你可以使用tomcat7w.exe GUI应用来管理tomcat服务)

下面是你可以使用的Catalina的命令行参数

命令行参数 描述
catalina start 开启tomcat服务做为单独的进程,在windows,tomcat将会开启以新的命令行窗口,在linux,tomcat以后台进程开启,你还可以继续使用命令行
catalina stop 关闭tomcat服务
catalina run 以当前的窗口/终端开启tomcat服务,在windows,tomcat开启的输出信息将会被添加到当前的窗口,而在linux下,tomcat进程将会运行在当前的终端会话,它将会很有用,对于侦测tomcat启动失败的原因
catalina debug 以debug的模式启动tomcat
catalina version 显示tomcat的版本
catalina configtest 检测当前的tomcat配置是否正确,这个脚本将会试着开启tomcat服务,加载所有的配置文件,如果配置正确,则优雅的关闭,如果任何配置有问题,它将会报告问题
catalina jpda start 以java platform debugging architecture(JPDA)的debug模式开启tomcat

你可以添加-security的选项到任何start command中,tomcat将会伴随着security manager开启的状态开启服务。

6. 传运行选项到Catalina脚本

JAVA_OPTS环境变量包括可用的选项是针对运行在该机器上的所有java进程,包括tomcat,例如,为了是JVM读取文件使用UTF-8编码,你可以添加file.encoding参数到JAVA_OPTS环境变量:

export JAVA_OPTS="-Dfile.encoding=utf-8"

当你设置完这个之后,启动tomcat服务,它将会读取文件使用UTF-8编码,但是这个不仅仅对于tomcat进程,而是对于所有JVM进程。

为了传递特定的JVM参数到tomat,你可以使用CATALINA_OPTS环境变量,例如:添加更多的heap memory到tomcat进程,并不会影响其他java应用的内存设置,下面就是导入内存设置到CATALINA_OPTS变量:

export CATALINA_OPTS=" –Xms256m -Xmx1g -XX:MaxPermSize=256m"

当你设置完之后,开启tomcat服务,catalina start脚本会按照配置设置JVM内存设置,会使用1G的最大heap size。

你必须要重启tomcat,对于任何JAVA_OPTS或者CATALINA_OPTS的环境变量。

7. tomcat的配置文件

tomcat主要的配置文件是server.xml,它在conf目录。tomcat中主要的元素,像engines, hosts, contexts都配置在该文件,你可以读更多的信息在该文件。

context.xml配置包含默认的context设置,它被共享在所有的tomcat contexts。

除了在server.xml和context.xml文件中的全局的context配置,每个context有他们自己的配置文件,该配置文件在conf目录。context配置文件的位置依赖与engine名字和host名字。配置文件定位在:

CATALINA_HOME/conf/ENGINE_NAME/HOST_NAME/CONTEXT_NAME.xml

例如:如果你部署一个web到context apress,使用默认的host(localhost),在标准的Catalina engine中,配置文件应该定位在:

CATALINA_HOME/conf/Catalina/localhost/apress.xml

8. Java Web Application

一个Java Web Application是包含一系列servlets, html, classes和其他资源,可以运行在多个containers上的东东。

一个Java Web Application主要特性之一就是和ServletContext的关系,每个web application仅仅只有一个ServletContext。这个关联是由servlet container控制,servlet container保证,当访问ServletContext中的对象时,没有两个web application崩溃。

9. 一个Java Web Application的目录结构

例子:

目录 说明
/apress 一个web application的根目录,所有的jsp和html文件应该放在这里,通常每种类型的静态文件应该放在各自的目录中(images/,styles/,js/)
   
   
   
上一篇:pta l2-18(多项式A除以B)


下一篇:第一百三十五节,JavaScript,封装库--拖拽