Cha*_*ntz 158 tomcat root context.xml tomcat7
我知道我可以将我的webapp(或它的WAR文件)重命名为ROOT,但这是一种可怕的方法,恕我直言.现在我查看了tomcat doc并且它说
建议不要将元素直接放在server.xml文件中
所以我尝试了它建议的另一种方法.
可以显式定义单个Context元素:在应用程序文件内的/META-INF/context.xml中的单个文件中.
所以我/META-INF/context.xml用以下代码创建了一个,
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/"/>
Run Code Online (Sandbox Code Playgroud)
但是在重新启动服务器后部署它仍然无法加载"/"上下文时,它仍然加载了它 "/<WEB_APP_NAME>"
任何指针都有帮助.
Paa*_*ske 228
你能做的是以下几点;
添加一个名为ROOT.xml中<catalina_home>/conf/Catalina/localhost/
此ROOT.xml将覆盖该引擎和主机(Catalina和localhost)的tomcat安装的根上下文的默认设置.
在ROOT.xml文件中输入以下内容;
<Context
docBase="<yourApp>"
path=""
reloadable="true"
/>
Run Code Online (Sandbox Code Playgroud)
在这里,<yourApp>是你的应用程序的名称.. :)
你去了,你的应用程序现在是默认的应用程序,并将出现 http://localhost:8080
但是,有一个副作用; 您的应用程序将加载两次.一次为localhost:8080一次,为一次localhost:8080/yourApp.要解决此问题,您可以将应用程序放在OUTSIDE <catalina_home>/webapps并在ROOT.xml的docBase标记中使用相对或绝对路径.像这样的东西;
<Context
docBase="/opt/mywebapps/<yourApp>"
path=""
reloadable="true"
/>
Run Code Online (Sandbox Code Playgroud)
然后应该一切都好!
rod*_*pes 12
以下是唯一对我有用的解决方案.将其添加到conf/server.xml中的Host节点
<Context path="" docBase="yourAppContextName">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
Run Code Online (Sandbox Code Playgroud)
转到Tomcat server.xml文件并将路径设置为空
在Tomcat 9.0中,我只需要在 server.xml
<Context docBase="web" path="/web" reloadable="true" source="org.eclipse.jst.jee.server:web"/>
Run Code Online (Sandbox Code Playgroud)
到
<Context docBase="web" path="" reloadable="true" source="org.eclipse.jst.jee.server:web"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
465978 次 |
| 最近记录: |