description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
redirectPort="8443"
executor="tomcatThreadPool" />
pattern="%h %l %u %t "%r" %s %b" />
配置默认servlet,Jsp处理器和一些其他的filter;
为所有的Web应用程序提供包括MIME映射;
并设置欢迎页面。
通常Tomcat下面的这个配置文件不需要我们自己另行做额外配置。
当然,想要通过这个界面进行应用管理和部署,需要用户进行登陆。这些配置就是在tomcat-users.xml中进行配置的。
Tomcat中支持的所有的用户管理角色有:
配置用户的角色、登录名和密码,需要在tomcat-users.xml中进行配置。
如果想要访问manager页面需要配置:
如果需要使用到远程部署等功能,需要添加上:
下面给出一个比较完整的配置列子,生产环境需要根据具体需求配置用户和角色。
但是这个认证方式不怎么使用,大家不用太关注这个配置。
catalina.properties和catalina.policy配置#
这里面的很多配置是在Tomcat以安全模式启动时才会生效的,平时我们大多情况下都不会以安全模式启动Tomcat,所有很多配置可能用不太到。关于对Java中SecurityManager的介绍,大家可以参考下这边文章,比较浅显易懂。(这边留个问题,是否需要使用安全模式启动Java应用?)
不过catalina.properties中关于公共组件的配置,还是比较有用的,我们可以看下。
catalina.properties中的配置分为四个部分:
Tomcat加载类的顺序是:
Bootstrap--->System--->/WEB-INF/classes---> /WEB-INF/lib/*.jar---> Common--->Server--->Shared(先加载引入的包,在加载部署的应用)
所以加载完项目的WEB-INF的lib下面的Jar包后回来加载common下面的包。关于common loader,tomcat已经做了相关配置:
common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar"
上面的配置表示,common loader会加载catalina.base和catalina.home下面的class类和Jar包中的类。
关于server.loader和shared.loader,Tomcat并没有做出明确的配置,我们可以自己进行配置。比如:
server.loader=${catalina.base}/server/classes,${catalina.base}/server/lib/*.jar
shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar
上面的含义和common loader的含义一致。
平时我们的一些组件假如需要让所有Web应用依赖的话,我们就可以放在common.loader、server.loader和shared.loader指定的目录下面。