tes*_*est 6 java spring tomcat maven
我不确定如何设置上下文路径.当我.war file在tomcat中重命名时autodeploy,网页会localhost:8080/newDirectory按预期进行,但出于某种原因,无论pageContext.request.contextPath在基于Spring的页面中有什么调用,它仍会返回旧的上下文路径.
我试图通过设置覆盖上下文路径:
<context path="/newDirectory" docBase="appName" override="true"></context>
Run Code Online (Sandbox Code Playgroud)
在server.xml但它不起作用.
我的问题是,Spring从哪里读取它的上下文路径?我用了Maven,我确实看到了
<appContext>/${project.artifactId}</appContext>
Run Code Online (Sandbox Code Playgroud)
在pom.xml,这是否意味着我需要将artifactId重命名为newDirectory?
我也试过添加它<context path="/newDirectory"...> in /META-INF/context.xml(现在我知道由于我的server.xml改变,无论如何都会被忽略).
提前感谢您的回答.
每个 PageRequest 将获取当前 HttpServletRequest 对象并获取当前请求的上下文路径并附加您的 .jsp (即使在更改时访问此资源的上下文路径也将起作用)。
例如,
如果您有一个名为 MyCompany.war 的 war 文件,并且有一个带有 ${pageContext.request.contextPath}/MyJspPage.jsp 的页面。
Then your context path is http://abc/MyCompany and it works as http://abc/MyCompany/MyJspPage.jsp.
Run Code Online (Sandbox Code Playgroud)
假设如果您将 war 文件更改为 OurCompany.war,
then your context path changes to http://abc/OurCompany and Jsp will work as http://abc/OurCompany/MyJspPage.jsp.
Run Code Online (Sandbox Code Playgroud)
这意味着上下文路径将自动更改为应用程序的名称(War 文件名),无需任何更改。
在您的情况下,用 newDirectory 重命名 war 文件名后,您的 Web 服务器将部署 newDirectory 应用程序,但 Web 服务器中仍然存在 newDirectory 应用程序。我认为您应该从 webapp 中删除旧应用程序,然后通过重新加载 newDirectory 应用程序进行检查。
| 归档时间: |
|
| 查看次数: |
5244 次 |
| 最近记录: |