Tomcat介绍
- 包括WebSphere、WebLogic、JBoss、Geronimo等
- 特点是重量级、对JavaEE技术规范支持比较全面、功能强大
- 包括Tomcat、Jetty等
- 仅对Servlet、JSP进行支持,并不支持所有JavaEE技术规范
- 特点是轻量级、速度快、开源免费
%CATALINA_HOME%\bin和%CATALINA_HOME%\lib
在DOS命令行中输入startup并回车,启动Tomcat在浏览器中输入localhost:8080并回车,Tomcat安装成功则出现以下页面- port:监听关闭Tomcat请求的端口
- shutdown:关闭Tomcat请求需要向监听端口发送的命令字符串
- name:service的名字
- port:服务器监听客户端请求的端口号
- minProcessors:服务器启动时创建用于处理请求的线程数
- maxProcessors:可以创建用于处理请求的最大线程数
- enableLookups:
- true:可调用request.getRemoteHost()进行DNS查询,得到远程客户端的实际主机名
- false:不进行DNS查询,直接返回IP地址
- redirectPort:服务器正在处理HTTP请求时收到一个SSL传输请求后重定向的端口号
- acceptCount:所有可使用的处理请求线程数都被使用时,可以放到处理队列中的请求数,请求超过这个数则不予处理
- connectionTimeout:连接超时时间,以毫秒为单位
- defaultHost:指定缺省的请求处理主机名,至少与一个Host元素的name属性一致
- docBase:应用程序路径或War包路径
- path:Web应用程序URL的前缀
- reloadable:设置为true,则可以自动装载新应用程序而无需重启
- name:主机名
- appBase:存放应用程序的目录
- unpackWARS
- true:Tomcat自动将War包解压
- false:直接从War包中运行应用程序
- className:指定Realm使用的类名,该类须实现org.apache.catalina.Realm接口
- className:指定Valve使用的类名,该类须实现org.apache.catalina.AccessLogValve接口
<welcome-file-list> <welcome-file>欢迎页面1welcome-file> <welcome-file>欢迎页面2welcome-file> <welcome-file>欢迎页面3welcome-file> ...welcome-file-list>
设置报错页面<error-page> <error-code>HTTP响应状态码error-code> <location>报错页面路径location>error-page><error-page> <exception-type>异常类全类名exception-type> <location>报错页面路径location>error-page>
设置Session过期时间,单位为分钟<session-config> <session-timeout>Session过期时间session-timeout>session-config>
Tomcat部署项目<Context path="Web应用程序URL的前缀" docBase="应用程序路径或War包路径"/>
方式四:在Tomcat安装目录的conf下找到或新建Catalina目录在Catalina目录下找到或新建名称为Web项目所在服务器域名的目录,本地则为localhost新建一个xml文件,名称需要与Web应用程序URL的前缀一致该xml内容如下<?xml version="1.0" encoding="UTF-8"?><Context path="Web应用程序URL的前缀" docBase="应用程序路径或War包路径"/>
5.动态部署(热部署)Tomcat提供了admin和manager两个管理程序admin用于管理和配置Tomcat服务器manager用于管理Tomcat服务器上的应用程序Tomcat中manager四种角色如下- manager-gui
- allows access to the HTML GUI and the status pages
- 允许访问html接口(即URL路径为/manager/html/*)
- manager-script
- allows access to the text interface and the status pages
- 允许访问纯文本接口(即URL路径为/manager/text/*)
- manager-jmx
- allows access to the JMX proxy and the status pages
- 允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)
- manager-status
- allows access to the status pages only
- 允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)
<tomcat-users> <role rolename="角色1"/> <role rolename="角色2"/> ... <user username="用户1" password="用户1密码" roles="角色1,角色2..."/> <user username="用户2" password="用户2密码" roles="角色1,角色2..."/> ...tomcat-users>
重启Tomcat后登录Tomcat管理控制台http://localhost:8080/,点击Manager App- 在指定的端口上侦听并接收浏览器发来的TCP连接请求
- 接收请求后创建用于交换数据的Request以及Response对象
- 创建线程处理请求并将Request和Response对象传给Engine
- 从Engine获取响应并返回给客户端
- 通常一个Servlet类对应一个Wrapper
- 如有多个Servlet就定义多个Wrapper
- 如有多个Wrapper就要定义一个更高级的Container,比如Context
- Context定义在父容器Host中
- Host不是必需的
- 运行War包必须要Host,因为War包里面的web.xml文件解析需要Host
- 如有多个Host就要定义一个顶层容器Engine
- Engine没有父容器,一个Engine代表一个完整的Servlet引擎