tomcat详细使用文档.doc_第1页
tomcat详细使用文档.doc_第2页
tomcat详细使用文档.doc_第3页
tomcat详细使用文档.doc_第4页
tomcat详细使用文档.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Tomcat使用总结文档目 录一、Tomcat介绍- 4 -1.1 tomcat简介- 4 -1.2 tomcat的结构- 4 -1.3 Tomcat 的获取- 6 -1.4 Tomcat的安装- 6 -1.5 测试tomcat的安装- 7 -二、Tomocat的目录结构- 8 -三、创建一个tomcat工程(web应用)- 9 -3.1 创建工程目录结构- 9 -3.2 创建web.xml文件以及配置- 9 -3.2.1 配置servlet过滤器- 10 -3.2.2 配置Servlet- 11 -3.2.3 配置Session- 12 -3.2.4 配置Welcome文件清单- 12 -3.2.5 配置异常页面()- 13 -3.2.6 配置Tag Library- 14 -3.2.7 配置引用资源- 14 -3.2.8 配置安全约束- 15 -3.2.9 配置安全验证登录界面- 16 -3.2.10 配置对安全验证角色的引用- 16 -3.3 server.xml文件的配置- 17 -3.3.1 配置Server元素- 18 -3.3.2 配置Service元素- 18 -3.3.3 配置Engine元素- 19 -3.3.4 配置Host元素- 19 -3.3.5 配置Context元素- 20 -3.3.6 配置Connector元素- 21 -3.3.7 配置数据源和- 23 -3.3.8 配置元素- 24 -3.3.9 配置Tomcat阀(Valve)- 25 - 配置客户访问日志阀(Access Log Valve)- 26 - 配置远程地址过滤器(Remote Address Filter)- 27 - 配置远程主机过滤器(Remote Host Filter)- 27 - 配置客户请求记录器(Request Dumper)- 28 -四、在server.xml文件中配置元素- 29 -4.1内存域(MemoryRealm)- 29 -4.1.1 MemoryRealm元素属性- 29 -4.1.2 User文件格式- 30 -4.1.3 MemoryRealm注意事项- 30 -4.2 JDBC域(JDBCRealm)- 30 -4.2.1配置JDBC域- 31 -4.2.2 JDBCRealm的属性说明- 31 -4.2.3 JDBCRealm使用遵循的规则- 32 -4.3 DataSourceRealm- 32 -4.3.1 配置DataSourceRealm- 33 -4.3.2 DataSourceRealm 属性说明- 33 -4.3.3 DataSourceRealm注意事项- 34 -4.4 JNDIRealm- 34 -4.4.1 连接目录- 35 -4.4.2 选择用户目录入口- 35 -4.4.3对用户进行认证- 35 -4.4.4 为用户分配角色- 36 -4.4.5配置JNDIRealm- 36 -4.4.6实例- 37 -4.4.7注意事项- 40 -五、创建并发布WAR文件- 41 -六、配置虚拟主机并发布WEB应用- 41 -一、Tomcat介绍1.1 tomcat简介Jakarta Tomcat服务器是在SUN公司的JSWDK(JavaServer Web DevelopmentKit,是SUN公司推出的小型Servlet/JSP调试工具)的基础上发展起来的一个优秀的Servlet/JSP容器,它是Apache-Jakarta软件组织的一个子项目。它不但支持运行Servlet和JSP,而且还具备了作为商业Java Web应用容器的特征。作为一个开放源码的软件,Tomcat得到了开放源码志愿者的广泛支持,它可以和目前大部分的主流HTTP服务器(如IIS和Apache服务器)一起工作,而且运行稳定、可靠、效率高。Tomcat服务器除了能够运行servlet和JSP,还提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等,Tomcat已成为目前开发企业Java Web应用的最佳选择之一。1.2 tomcat的结构 Tomcat服务器是由一系列可配置的组件构成,其中核心的组件是Catalina Servlet容器,它是所有其他Tomcat组件的顶层容器。Tomcat的组件在/conf/server.xml文件中进行配置,每个Tomcat组件在server.xml文件中对应一种配置元素。一下代码以XML的形式展示各种Tomcat组件之间的关系: 以上XML代码中,每个元素都代表一种tomcat组件。这些元素可以分为4类。1、 顶层类元素 顶层类元素包括元素和元素,它们位于整个配置文件的顶层。2、 连接器类元素 连接器类元素代表了介于客户和服务器之间的通信接口,负责将客户的请求发送给服务器,并将服务器的响应结果传递给客户。3、 容器类元素容器类元素代表处理客户请求并生成相应响应结果的组件,有3种容器类元素,它们是Engine、Host、Context。Engine组件为特定的Service组件处理所有的客户请求,Host组件为特定的虚拟主机处理所有的客户请求,Context组件为特定的Web应用处理所有的客户请求。4、 嵌套类元素嵌套类元素代表了可以加入到容器中的组件,如元素、元素和元素。下面简要介绍下以上元素,具体配置server.xml,将在下文具体给出介绍。元素元素代表整个Catalina Servlet容器,它是Tomcat实例的顶层元素。元素可以包含一个或多个元素。元素元素中包含一个元素,以及一个或多个元素,这些元素共享一个元素。元素元素代表和客户程序实际的交互的组件,它负责接收客户的请求,以及向客户返回响应结果。元素每个元素只能包含一个元素。元素处理在同一个中所有元素接收到的客户请求。元素一个元素中可以包含多个元素。每个元素定义一个虚拟主机,它可以包含一个或多个Web应用。元素元素是使用最频繁的元素。每个元素代表了运行在虚拟主机上的单个web应用。一个元素可以包含多个元素。Tomcat各个组件之间的嵌套关系如下图:1.3 Tomcat 的获取Tomcat的下载地址是/download-55.cgi,进入页面下载apache-tomcat-5.5.27.zip或者apache-tomcat-5.5.27.exe文件。同时还用在/j2se/1.6/ 下载j2sdk-1.6。对于Windows操作系统,Tomcat5提供了两种安装文件,一个文件为apache-tomcat-5.5.27.zip,还有一个文件是apache-tomcat-5.5.27.exe。apache-tomcat-5.5.27.exe是可执行的安装程序,通过这个程序安装Tomcat,会自动把Tomcat服务加入到Windows操作系统的服务中,并且在【开始】-【程序】菜单中加入了Tomcat服务器的管理菜单。1.4 Tomcat的安装本节介绍apache-tomcat-5.5.27.zip的安装。在安装tomcat之前,首先安装JDK。接下来,解压Tomcat压缩文件apache-tomcat-5.5.27.zip,解压到压缩文件过程就相当于安装的过程。假定解压至C:jakarta-tomcat目录。然后,设定环境变量:JAVA_HOME,它是JDK的安装目录;CATALINA_HOME,它是Tomcat的安装目录。在Windows 操作环境下设置环境步骤如下:(1) 打开“控制面板”,选择“系统”图标。(2) 双击“系统”图标,运行Windows NT/2000系统程序,选择【高级】标签。(3) 在对话框中单击【环境变量】按钮。(4) 单击“系统变量”区域的【新建】按钮,将会弹出“新建环境变量”对话框,在对话框中新建JAVA_HOME环境变量,环境变量为JDK的安装目录。(5) 重复步骤4,新建CATALINA_HOME环境变量,其环境变量为apache-tomcat-5.5.27.zip的解压后的目录。1.5 测试tomcat的安装在tomcat的解压文件中,运行binstartup.bat文件启动tomcat。然后在打开IE,在地址栏中输入http:/localhost:8080/回车,如果能正常打开tomcat的欢迎页面,就说tomcat安装成功。Tomcat服务器采用的是HTTP端口为“8080”,如果想采用其他的端口,如“80”,可以修改/conf/server.xml,将元素的port值改为“80”,然后重启tomcat。二、Tomocat的目录结构Tomcat的目录结构即apache-tomcat-5.5.27.zip的解压后的子目录,也是apache-tomcat-5.5.27.exe安装后的子目录。其主要包括以下目录: 目录描述/bin主要存放Windows平台以及Linux平台上启动和关闭tomcat的脚本文件。/conf存放Tomcat服务器的各种配置文件,其中最重要的配置文件是server.xml。/server包含3个子目录:class,lib和webapps。/server/lib存放tomcat服务器所需的各种JAR文件。/server/wabapps存放tomcat自带的两个Web应用:admin应用和manager应用。/common/lib存放tomcat 服务器以及所有Web应用都可以访问的JAR文件。/shared/lib存放所有Web应用都可以访问的JAR文件。/logs存放tomcat的日志文件。/webapps当发布Web应用时,默认情况下把Web应用文件放于此文件下。/worksTomcat吧由JSP生成的Servlet放于此目录下。在/server/lib目录、/common/lib目录、/shared/lib目录下都可以放JAR文件,它们的区别在于:/server/lib目录下的JAR文件只可以被tomcat服务器访问。/shared/lib目录下的JAR文件可以被所有的web应用访问,但不可以被tomcat服务器访问。/common/lib目录下的JAR文件可以被tomcat服务器和所有的web应用访问。三、创建一个tomcat工程(web应用)3.1 创建工程目录结构Tomcat工程具有固定的目录结构,这里假定开发一个名为helloapp的tomcat工程,首先应该在/webapps目录下创建这个tomcat工程的目录结构。需创建的目录结构如下:目录描述/helloappWeb应用的根目录,所有的JSP和HTML文件都放在此目录下/helloapp/WEB-INF存放web应用的发布描述文件web.xml/helloapp/WEB-INF/class存放各种class文件,Servlet类文件也放于此目录下/helloapp/WEB-INF/lib存放web应用所需的各种JAR文件3.2 创建web.xml文件以及配置web.xml是web应用发布描述文件,是在Sevlet规范中定义的。它是Web应用的配置文件。web.xml中的元素和Tomcat容器完全独立。web.xml文件内容如下: web.xml文件依次定义了如下元素: web.xml中的顶层元素,其他的所有的子元素都要定义在内。 定义web应用的名字 声明web应用的描述信息。 注意:在web.xml中元素定义的先后顺序不能颠倒,否则tomcat服务器可能会抛出SAXParseException。web.xml文件中的开头几行是固定的,它定义了该文件的字符编码、XML的版本以及引用的DTD文件。一下介绍几种常用的元素配置:3.2.1 配置servlet过滤器对于Servlet容器收到的客户请求,以及发出的响应的结果,Servlet都能检查还修改其中的信息。所有的servlet过滤器类都必须实现javax.servlet.Filter接口。这个接口含有三个过滤器类必须事先的方法: init(FilterConfig):这是Servlet过滤器的初始方法,Servlet容器创建Servlet过滤器实例后将调用这个方法。在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数。 doFilter(ServletRequest,ServletResponse,FilterChain):这个方法完成实际的过滤操作。当客户请求访问与过滤器关联的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain参数用于访问后续过滤器。 destroy():Servlet容器在销毁过滤器实例钱调用该方法,在这个方法中可以释放Servlet过滤器占用的资源。在web应用中加入Servlet过滤器,需要在万恶不。Web.xml中配置两个元素和。一下是元素的示范代码: SampleFiltermypack.SampleFilter元素的属性: :定义过滤器的名字,当web应用中有多个过滤器时,不允许过滤器重名。 :指定实现这一过滤器的类,这个类负责具体的过滤事务。 SampleFilter*.jsp元素的属性:指定过滤器名字,这里的过滤器名必须和元素中定义的过滤器名字匹配。:指定过滤器负责过滤的URL。3.2.2 配置ServletServlet的框架核心是javax.servlet.Servlet接口,所有的Servlet都必须事先这一接口,在Servlet接口中定义了5个方法,其中的3个方法代表了servlet的生命周期: init方法,负责初始化Servlet对象。 service方法,负责相应客户请求。 destroy方法,当Servlet对象退出生命周期时,负责释放占用的资源。如果要实现一个sevlet类可以有以下几种放方法实现:2. 实现servlet接口,实现init方法、service方法和destroy方法。3. 扩展GenericServlet类如果servlet类扩展了GenericServlet类,则必须要实现service方法,因为GenericServlet类中的service方法被声明为抽象方法,改方法声明如下: public abstract void service(ServletRequest request,ServletResponse) throws ServletException,IOException; service方法有两个参数:ServletRequest和ServletResponse。Servlet容器将客户的请求信息封装在ServletRequest中,传给service方法;service方法将响应客户的结果通过ServletResponse对象传递给客户。4. 扩展HttpServlet类如果Servlet类扩展了HttpServlet类,需要覆写父类中的doGet和doPost方法。在web.xml中配置servlet: 用来声明一个servlet的数据,主要有以下子元素: 指定servlet的名称 指定servlet的类名称 指定web站台中的某个JSP网页的完整路径 用来定义参数 指定参数名称 指定参数数值 元素属性属性描述定义servlet的名字指定实现这个servlet的类定义servlet的初始化参数(包括参数和参数值),一个元素中可以有多个,在Servlet类中通过getInitParameter(String name)方法访问初始化参数。指定当web应用程序启动时,装载Servlet的次序,当这个值为正数或者零时,Servlet容器先加载数值小的Servlet,再依次加载其他数值大的Servlet,如果这个值为负数或者没有设定时,那么servlet容器在web客户首次访问这个servlet时加载它。同样,与一起使用的是 用来定义servlet所对应的URL,包含两个子元素: 指定servlet的名称 指定servlet所对应的URL3.2.3 配置Session 元素是用来设定HttpSession的生命周期。一旦指定session的生命周期,session可以保持不活动的状态最长不能超过这一时间,一旦超过这个时间,Servlet容器将把它作为无效Session处理。 30元素只包括这一个属性,它用来设定Session可以保持的不活动的最长时间,这里采用的时间单位为“秒”。3.2.4 配置Welcome文件清单当客户访问web应用时,如果仅仅给出web应用的Root URL,没有指定具体的文件名,Servlet容器会自动调用Web应用的Welcome文件。元素用来设定welcome文件清单。以下代码中声明了两个Welcome文件:login.jsp和index.htm. login.jsp index.htm元素中可以包含多个,当Servlet容器调用Web应用的Welcome文件时,首先寻找第一个指定的文件,如果不存在,依次寻找下一Welcome文件,知道找到为止。3.2.5 配置异常页面()配置异常或者代码错误页面格式如下: 用来处理错误代码或异常的页面,有三个子元素: 指定错误代码 指定一个JAVA异常类型 指定在web站台内的相关资源路径例如: 404 /error404.jsp java.lang.Exception /exception.jsp 3.2.6 配置Tag Library元素用来设置Web应用所应用的Tag Library。有两个子元素: 定义TLD文件的URI,在JSP网页中用taglib指令便可取得该URI的TLD文件。 指定TLD文件相对于web站台的存放位置。例如 myTaglib /WEB-INF/tlds/MyTaglib.tld 此时JSP页面可通过下面的形式使用标签库 3.2.7 配置引用资源如果Web应用访问了由Servlet容器管理的某个JNDI Resource,必须在web.xml文件中声明对JNDI Resource的引用。表示资源引用的元素为,以下是声明引用jdbc/SampleDB数据源的例子:DB Connectionjdbc/sampleDBjavax.sql.DataSourceContainer的属性描述:属性描述对所引用的资源说明指定引用资源的JNDI名字指定所引用的资源的名字指定管理所引用资源的Manager,它有两个可选值:Container和Application。Container表示容器来创建和管理Resource,Application表示由web应用来创建和管理Resource。3.2.8 配置安全约束用来为Web应用定义安全约束。以下代码指明当用户访问该Web应用下所有的的资源,必须具备guest角色。 sample application /* guest元素的属性属性描述声明受保护的Web资源声明可以访问受保护资源的角色,可以包含多个子元素。元素的属性属性描述标识受保护的Web资源指定受保护的URL路径3.2.9 配置安全验证登录界面 元素指定当Web客户访问受保护的Web资源时,系统弹出的登录对话框的类型。以下代码配置了基于表单验证的登录界面:FROMTomcat Server Configuration From Based Authentication /login.jsp /error.jsp元素的各个属性说明如下:属性描述指定验证方法,它有3个可选值:BASIC(基本验证)、DIGEST(摘要验证)、FORM(基于表单的验证).设定安全域的名称当验证方法为FORM时,配置验证网页和出错的网页当验证方法为FORM时,设定验证网页当验证方法为FORM时,设定出错网页3.2.10 配置对安全验证角色的引用元素指明这个Web应用引用的所有角色名字。例如,以下代码声明引用guest角色。 The role that is required to log in to the sample Applicationguest3.3 server.xml文件的配置Tomcat服务器是由一系列可配置的组件构成,Tomcat的组件可以在confserver.xml文件中进行配置,每个Tomcat组件和server.xml文件中的一种配置相对应。以下代码以XML的形式展示各种Tomcat组件之间的关系: 以上XML代码中,每个元素都代表一种tomcat组件。这些元素可以分为4类。5、 顶层类元素 顶层类元素包括元素和元素,它们位于整个配置文件的顶层。6、 连接器类元素 连接器类元素代表了介于客户和服务器之间的通信接口,负责将客户的请求发送给服务器,并将服务器的响应结果传递给客户。7、 容器类元素容器类元素代表处理客户请求并生成相应响应结果的组件,有3种容器类元素,它们是Engine、Host、Context。Engine组件为特定的Service组件处理所有的客户请求,Host组件为特定的虚拟主机处理所有的客户请求,Context组件为特定的Web应用处理所有的客户请求。8、 嵌套类元素嵌套类元素代表了可以加入到容器中的组件,如元素、元素和元素。下面简要介绍下以上元素,具体配置server.xml,将在下文具体给出介绍。元素元素代表整个Catalina Servlet容器,它是Tomcat实例的顶层元素。元素可以包含一个或多个元素。元素元素中包含一个元素,以及一个或多个元素,这些元素共享一个元素。元素元素代表和客户程序实际的交互的组件,它负责接收客户的请求,以及向客户返回响应结果。元素每个元素只能包含一个元素。元素处理在同一个中所有元素接收到的客户请求。元素一个元素中可以包含多个元素。每个元素定义一个虚拟主机,它可以包含一个或多个Web应用。元素元素是使用最频繁的元素。每个元素代表了运行在虚拟主机上的单个web应用。一个元素可以包含多个元素。 3.3.1 配置Server元素元素代表整个Catalina Servlet容器,它是Tomcat实例的顶层元素,由org.apache.catalina.Server接口来定义。元素可包含一个或多个元素,但元素不能作为任何其他元素的子元素。在server.xml文件中定义了如下的元素:元素的属性描述如下表:描述属性className指定实现org.apache.catalina.Server接口的类,默认值是org.apache.catalina.StandardServerport指定Tomcat服务器监听shutdown命令的端口。终止Tomcat服务器运行时,必须在Tomcat服务器所在的机器上发出shutdown命令。该属性是必须设定的。shutdown指定终止Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串,该属性是必须设定的。3.3.2 配置Service元素元素是有org.apache.catalina.Service接口定义,它包含一个元素,以及一个或多个元素,这些元素共享同一个元素。在server.xml文件中可以配置多个元素: 第一个处理所有直接有Tomcat服务器接收到的Web客户请求,第二个处理由Apache服务器转发过来的Web客户请求。 元素的属性描述如下表:描述属性className指定实现org.apache.catalina.Service的类,默认值为org.apache.catalina.StandardServername定义Service的名字3.3.3 配置Engine元素元素由org.apache.catalina.Engine接口定义。每个元素只能包含一个元素。元素处理在同一个中所有的元素接收到的客户请求,例如,在server.xml文件中配置以下元素: 元素的属性描述如下:描述属性className指定实现org.apache.catalina.Engine接口的类,默认值为org.apache.catalina.core.StandardEnginedefaultHost指定处理客户请求的默认主机名,在的子元素定义想、这一主机。name定义Engine的名字在元素中可以包含以下子元素: 3.3.4 配置Host元素 元素由org.apache.catalina.Host接口定义。一个元素可以包含多个元素,每个元素定义了一个虚拟主机,它可以包含一个或多个Web应用。例如,在server.xml文件中配置了以下元素:以上代码定义了一个名为localhost的虚拟主机,Web客户访问它的URL为:http:/localhost:8080/元素的属性描述如下:描述属性className指定实现org.apache.catalina.Host借口的类,默认值为org.apache.catalina.core.StandardHostappBase指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于的相对目录,如果此项没有设定,默认值为/webappsunpackWARs如果此项设为true,表示将吧Web应用的WAR文件先展开为开放目录结构后再运行。如果设为false,将直接运行WAR文件。autoDeploy如果此项设为true,表示当Tomcat服务器处于运行状态时,能够监测appBase下的文件,如果有新的Web加入进来的话,会自动发布这个Web应用。alias指定虚拟主机的别名,可以指定多个别名。deployOnStartUp如果此项设置为true,表示Tomcat服务器启动时会自动发布webBase目录下的所有Web应用,如果Web应用在server.xml中没有相应的元素,将采用Tomcat默认的Context,deployOnStartUp的默认值为定义虚拟主机的名字在元素中可以包含如下子元素: 3.3.5 配置Context元素 元素是由org.apache.catalina.Context接口定义。元素是使用最频繁的元素。每个元素代表了运行在虚拟主机上的单个Web应用。一个元素可以有多个元素。 例如,在server.xml文件中配置了一下元素: 元素的属性描述参见下表:描述属性className指定实现org.apache.catalina.Context接口的类,默认值是org.apache.catalina.core.StandardContextpath指定访问该Web应用的URL入口docBase指定Web应用的文件路径。可以给定绝对路径,也可以给定相对于Host的appBase属性的相对路径。如果Web应用采用开放目录结构,那就指定Web应用的根目录;如果Web应用是个WAR文件,那就指定WAR文件的路径reloadable如果这个属性设置为true,Tomcat服务器在运行状态下会监视在WEB-INF/class和WEB-INF/lib目录下CLASS文件的改动。如果监测到有class被更新,服务器会自动加载Web应用。cookies指定是否通过Cookies来支持Session,默认值为true。useNaming指定是否支持JNDI,默认值是true。在元素中可以包含以下子元素: 3.3.6 配置Connector元素元素由org.apache.catalina.Connector接口定义。元素代表与客户程序交互的组件,它负责接收客户请求,以及向客户返回相应结果。例如在下例的server.xml文件中定义了两个元素:第一个元素定义了一个HTTP Connector,它通过8080端口接收HTTP请求,第二个元素定义了一个JK Co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论