<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
<Context docBase="我用绝对路径" path="" reloadable="true"/>
</Host>
</Engine>
上面是模板。
host的appBase是指tomcat启动appBase指定路径下的web项目。appBase前面不加/,使用相对路径,是相对用tomcat的路径。比如:
appBase="webapps" 则指的是 tomcat启动只会加载tomcat/webapps目录下的所有项目
Context 的path为空串或者"/",则是把相对于URL的根请求 映射到docBase对应路径的项目。
比如请求为:http://locahost:8080 那么就会匹配path为""或者"/"的,那么请求就由该path对应docBase指向的项目处理
之后请求不能再加上项目名,都将忽略项目名。
类似于,spring mvc 的requestMapping,value值为“/”,那么映射的是相对于项目的根
而Context 的path的根则是相对于URL的根 ,URL的根就是指域名+端口号或者ip+端口号的请求,比如http://locahost:8080 、http://www.baidu.com 这样的请求
docBase属性,可以是绝对路径(操作系统的绝对路径),也可以是相对路径(我没成功,所以不管这个),作用是指向你的项目文件目录。 我是用绝对路径,比如我的项目名叫做protal,项目放置的路径为/root/protal..那么docBase就要等于"/root/protal"
(为了省事,直接root用户操作。。不管那么多,除非是类似于solr这样会警告不能用root部署的,否则为了部署成功,就先用root用户了,有时间再转普通用户吧)。
发现描述这个好难。。但是又怕忘了,没办法。就这样记录下吧。