一.什么是tomcat
tomcat是一个web应用服务器,内部可运行解析jsp和serlvet等java应用。
二.tomcat的目录结构,webapps是应用程序存放目录,conf是配置目录,bin是执行脚本
三.tomcat各组件
<Server> //顶层类元素,可以包括多个Service
<Service> //顶层类元素,可包含一个Engine,多个Connecter
<Connector> //连接器类元素,代表通信接口
<Engine> //容器类元素,为特定的Service组件处理客户请求,要包含多个Host
<Host> //容器类元素,为特定的虚拟主机组件处理客户请求,可包含多个Context
<Context> //容器类元素,应用相关配置
</Context>
</Host>
</Engine>
</Connector>
</Service>
</Server>
四.tomcat部署应用
Valve是一种方法
部署前根据<context>元素来部署应用;web.xml是部署的时候的部署描述文件,包含初始化参数和安全约束。
<context>可以在server.xml下,默认配置conf/context.xml,也可以是app/META-INF/context.xml,类似conf/Catalina/libo/sample.xml优先于应用下的context.xml, conf/Catalina/libo/sample.xml中的文件内容如下所示
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/data/tomcattest/sample.war">
<Valve className="org.apache.catalina.valves.AccessLogValve"
prefix="localhost_sample_access_log" suffix=".txt"
pattern="%h %l %l %B %H %m %p %q %r %t %D %F" directory="/data/tomcattest/" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
deny="x\.x\.x\.\d+" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="x\.x\.x\.\d+" />
</Context>
web.xml可以在默认配置conf/web.xml中,以及app/WEB-INF/web.xml 中
部署的时候web.xml和context先用默认的
五.realm和Resource
realm利用resource定义的资源,他们都可以在engine,host,context下定义,web.xml可以定义resource.
六.tomcat基于用户名认证的例子
vim conf/web.xml,也可以在app/WEB-INF/web.xml下配置
<security-constraint>
<display-name>MyTest</display-name>
<web-resource-collection>
<web-resource-name>tomcat test</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>tomcat</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>tomcat</role-name>
</security-role>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>UserDatabase</realm-name>
</login-config>
tomcat-users配置
server.xml配置
七.https配置
7.1 证书仓库生成
7.2 server.xml配置
7.3最终运行效果