tomcat总结文档Word格式.docx
- 文档编号:7960242
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:48
- 大小:48.97KB
tomcat总结文档Word格式.docx
《tomcat总结文档Word格式.docx》由会员分享,可在线阅读,更多相关《tomcat总结文档Word格式.docx(48页珍藏版)》请在冰点文库上搜索。
3.3.8配置<
Logger>
元素-24-
3.3.9配置Tomcat阀(Valve)-25-
3.3.9.1配置客户访问日志阀(AccessLogValve)-26-
3.3.9.2配置远程地址过滤器(RemoteAddressFilter)-27-
3.3.9.3配置远程主机过滤器(RemoteHostFilter)-27-
3.3.9.4配置客户请求记录器(RequestDumper)-28-
四、在server.xml文件中配置<
Realm>
元素-29-
4.1内存域(MemoryRealm)-29-
4.1.1MemoryRealm元素属性-29-
4.1.2User文件格式-30-
4.1.3MemoryRealm注意事项-30-
4.2JDBC域(JDBCRealm)-30-
4.2.1配置JDBC域-31-
4.2.2JDBCRealm的属性说明-31-
4.2.3JDBCRealm使用遵循的规则-32-
4.3DataSourceRealm-32-
4.3.1配置DataSourceRealm-33-
4.3.2DataSourceRealm属性说明-33-
4.3.3DataSourceRealm注意事项-34-
4.4JNDIRealm-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.1tomcat简介
JakartaTomcat服务器是在SUN公司的JSWDK(JavaServerWebDevelopmentKit,是SUN公司推出的小型Servlet/JSP调试工具)的基础上发展起来的一个优秀的Servlet/JSP容器,它是Apache-Jakarta软件组织的一个子项目。
它不但支持运行Servlet和JSP,而且还具备了作为商业JavaWeb应用容器的特征。
作为一个开放源码的软件,Tomcat得到了开放源码志愿者的广泛支持,它可以和目前大部分的主流HTTP服务器(如IIS和Apache服务器)一起工作,而且运行稳定、可靠、效率高。
Tomcat服务器除了能够运行servlet和JSP,还提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等,Tomcat已成为目前开发企业JavaWeb应用的最佳选择之一。
1.2tomcat的结构
Tomcat服务器是由一系列可配置的组件构成,其中核心的组件是CatalinaServlet容器,它是所有其他Tomcat组件的顶层容器。
Tomcat的组件在<
CATALINA_HOME>
/conf/server.xml文件中进行配置,每个Tomcat组件在server.xml文件中对应一种配置元素。
一下代码以XML的形式展示各种Tomcat组件之间的关系:
<
Server>
Service>
Connector/>
Engine>
Host>
Context>
/Context>
/Host>
<
/Engine>
/Service>
/Server>
以上XML代码中,每个元素都代表一种tomcat组件。
这些元素可以分为4类。
1、顶层类元素
顶层类元素包括<
元素和<
元素,它们位于整个配置文件的顶层。
2、连接器类元素
连接器类元素<
Connector>
代表了介于客户和服务器之间的通信接口,负责将客户的请求发送给服务器,并将服务器的响应结果传递给客户。
3、容器类元素
容器类元素代表处理客户请求并生成相应响应结果的组件,有3种容器类元素,它们是Engine、Host、Context。
Engine组件为特定的Service组件处理所有的客户请求,Host组件为特定的虚拟主机处理所有的客户请求,Context组件为特定的Web应用处理所有的客户请求。
4、嵌套类元素
嵌套类元素代表了可以加入到容器中的组件,如<
元素、<
Valve>
元素。
下面简要介绍下以上元素,具体配置server.xml,将在下文具体给出介绍。
·
元素
元素代表整个CatalinaServlet容器,它是Tomcat实例的顶层元素。
元素可以包含一个或多个<
元素中包含一个<
元素,以及一个或多个<
元素,这些<
元素共享一个<
元素代表和客户程序实际的交互的组件,它负责接收客户的请求,以及向客户返回响应结果。
每个<
元素只能包含一个<
元素处理在同一个<
中所有<
元素接收到的客户请求。
一个<
元素中可以包含多个<
元素定义一个虚拟主机,它可以包含一个或多个Web应用。
元素是使用最频繁的元素。
元素代表了运行在虚拟主机上的单个web应用。
元素可以包含多个<
Tomcat各个组件之间的嵌套关系如下图:
1.3Tomcat的获取
Tomcat的下载地址是http:
//tomcat.apache.org/download-55.cgi,进入页面下载apache-tomcat-5.5.27.zip或者apache-tomcat-5.5.27.exe文件。
同时还用在下载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.4Tomcat的安装
本节介绍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)双击“系统”图标,运行WindowsNT/2000系统程序,选择【高级】标签。
(3)在对话框中单击【环境变量】按钮。
(4)单击“系统变量”区域的【新建】按钮,将会弹出“新建环境变量”对话框,在对话框中新建JAVA_HOME环境变量,环境变量为JDK的安装目录。
(5)重复步骤4,新建CATALINA_HOME环境变量,其环境变量为apache-tomcat-5.5.27.zip的解压后的目录。
1.5测试tomcat的安装
在tomcat的解压文件中,运行\bin\startup.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应用文件放于此文件下。
/works
Tomcat吧由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工程的目录结构。
需创建的目录结构如下:
/helloapp
Web应用的根目录,所有的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文件内容如下:
?
xmlversion="
1.0"
encoding="
UTF-8"
>
!
DOCTYPEweb-appPUBLIC
"
-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN"
web-app>
/web-app>
web.xml文件依次定义了如下元素:
●<
web.xml中的顶层元素,其他的所有的子元素都要定义在<
内。
display-name>
定义web应用的名字
description>
声明web应用的描述信息。
filter>
filter-mapping>
servlet>
servlet-mapping>
session-config>
welcome-file-list>
taglib>
resource-ref>
security-constraint>
login-config>
security-role>
注意:
在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中配置两个元素<
。
一下是<
元素的示范代码:
filter-name>
SampleFilter<
/filter-name>
filter-class>
mypack.SampleFilter<
/filter-class>
/filter>
元素的属性:
:
定义过滤器的名字,当web应用中有多个过滤器时,不允许过滤器重名。
:
指定实现这一过滤器的类,这个类负责具体的过滤事务。
url-pattern>
*.jsp<
/url-pattern>
/filter-mapping>
元素的属性
●<
指定过滤器名字,这里的过滤器名必须和<
元素中定义的过滤器名字匹配。
:
指定过滤器负责过滤的URL。
3.2.2配置Servlet
Servlet的框架核心是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方法被声明为抽象方法,改方法声明如下:
publicabstractvoidservice(ServletRequestrequest,ServletResponse)
throwsServletException,IOException;
service方法有两个参数:
ServletRequest和ServletResponse。
Servlet容器将客户的请求信息封装在ServletRequest中,传给service方法;
service方法将响应客户的结果通过ServletResponse对象传递给客户。
4.扩展HttpServlet类
如果Servlet类扩展了HttpServlet类,需要覆写父类中的doGet和doPost方法。
在web.xml中配置servlet:
用来声明一个servlet的数据,主要有以下子元素:
<
servlet-name>
/servlet-name>
指定servlet的名称
<
servlet-class>
/servlet-class>
指定servlet的类名称
jsp-file>
/jsp-file>
指定web站台中的某个JSP网页的完整路径
init-param>
用来定义参数
param-name>
/param-name>
指定参数名称
param-value>
/param-value>
指定参数数值
/init-param>
load-on-startup>
/load-on-startup>
/servlet>
元素属性
属性
定义servlet的名字
指定实现这个servlet的类
定义servlet的初始化参数(包括参数和参数值),一个<
元素中可以有多个<
,在Servlet类中通过getInitParameter(Stringname)方法访问初始化参数。
指定当web应用程序启动时,装载Servlet的次序,当这个值为正数或者零时,Servlet容器先加载数值小的Servlet,再依次加载其他数值大的Servlet,如果这个值为负数或者没有设定时,那么servlet容器在web客户首次访问这个servlet时加载它。
同样,与<
一起使用的是<
/servlet-mapping>
用来定义servlet所对应的URL,包含两个子元素:
指定servlet所对应的URL
3.2.3配置Session
元素是用来设定HttpSession的生命周期。
一旦指定session的生命周期,session可以保持不活动的状态最长不能超过这一时间,一旦超过这个时间,Servlet容器将把它作为无效Session处理。
session-timeout>
30<
/session-timeout>
/session-config>
元素只包括这一个属性<
,它用来设定Session可以保持的不活动的最长时间,这里采用的时间单位为“秒”。
3.2.4配置Welcome文件清单
当客户访问web应用时,如果仅仅给出web应用的RootURL,没有指定具体的文件名,Servlet容器会自动调用Web应用的Welcome文件。
元素用来设定welcome文件清单。
以下代码中声明了两个Welcome文件:
login.jsp和index.htm.
welcome-file>
login.jsp<
/welcome-file>
index.htm<
/welcome-file-list>
当Servlet容器调用Web应用的Welcome文件时,首先寻找第一个<
指定的文件,如果不存在,依次寻找下一Welcome文件,知道找到为止。
)
配置异常或者代码错误页面格式如下:
用来处理错误代码或异常的页面,有三个子元素:
error-code>
/error-code>
指定错误代码
exception-type>
/exception-type>
指定一个JAVA异常类型
location>
/location>
指定在web站台内的相关资源路径
/error-page>
例如:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- tomcat 总结 文档