Web应用中设置Context|Web应用中设置Context Path案例详解
URL:http://hostname.com/contextPath/servletPath/pathInfo
Jetty
如果没有contextPath,则默认使用root上下文,root上下文的路径为"/"。
warName.war
在没有XML IoC文件的情况下:
- 如果WAR文件名是myapp.war,那么上下文路径是:/myapp;
- 如果WAR文件名是ROOT.war,那么上下文路径是:/;
- 如果WAR文件名是ROOT-foobar.war,那么上下文路径是/,虚拟host是foobar。
/test...
Tomcat 单独的
- 在Web应用的/META-INF/context.xml文件中定义,当Host的copyXML属性为true的时候,context.xml文件将被拷贝到$CATALINA_BASE/conf/[enginename]/[hostname]目录下,并且重新命名,命名规范参考/META-INF/context.xml小节的说明。
- 直接在$CATALINA_BASE/conf/[enginename]/[hostname]目录下放置一个XML文件,文件名规范和内容参考META-INF/context.xml小节的说明。这个文件的优先级比/META-INF/context.xml高。
- 在Tomcat服务器的conf/server.xml文件的元素中定义一个
元素。
- 如果没有contextversion,那么context name和context path是一样的;
- 如果contextpath是空字符串,base name就是ROOT;
- 如果contextpath不是空字符串,base name=context path,其中首/字符已经去掉,/字符换成了#字符。
Context Path | Context Version | Context Name | Base File Name | Example File Names (.xml, .war & directory) |
/foo | None | /foo | foo | foo.xml, foo.war, foo |
/foo/bar | None | /foo/bar | foo#bar | foo#bar.xml, foo#bar.war, foo#bar |
空字符串 | None | Empty String | ROOT | ROOT.xml, ROOT.war, ROOT |
/foo | 42 | /foo##42 | foo##42 | foo##42.xml, foo##42.war, foo##42 |
/foo/bar | 42 | /foo/bar##42 | foo#bar##42 | foo#bar##42.xml, foo#bar##42.war, foo#bar##42 |
空字符串 | 42 | ##42 | ROOT##42 | ROOT##42.xml, ROOT##42.war, ROOT##42 |
默认context.xml Tomcat有默认的context元素,这个context适用于所有应用程序,但是它的优先级也是最低,所有配置可以被应用全部覆盖。
默认的context.xml有两种:
- 一种是$CATALINA_BASE/conf/context.xml,这个context元素中的信息会被所有应用加载;
- 一种是$CATELINA_BASE/conf/[enginename]/[hostname]/context.xml.default,这个
元素中的信息会被这个虚拟Host中的所有应用加载。
推荐阅读
- 热闹中的孤独
- Docker应用:容器间通信与Mariadb数据库主从复制
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- “成长”读书社群招募