gpt4 book ai didi

xml - Tomcat 6 到 Tomcat 7 导致上下文路径停止协作

转载 作者:行者123 更新时间:2023-11-28 23:03:09 25 4
gpt4 key购买 nike

我有一个在 Tomcat 6 中流畅运行的 Web 应用程序。假设它在 server:8282/MyApplication 上运行。我有一个如下所示的上下文 xml:

<Context crossContext="true"
debug="5"
docBase="MyApplication"
path="MyApplication"
reloadable="true">

在我的应用程序中,我的链接看起来像

server:8282/MyApplication/myAction.do?params=blah

当我将它切换到 Tomcat 7 时,它似乎将链接更改为:

server8282/myAction.do?params=blah

我没有更改应用程序中的任何内容,两个地方的代码相同。是否有一些全局设置我可以更改以重新获得“MyApplication”?

编辑:例如,生成链接的代码是:

<a href="<%=request.getContextPath() %>/myAction.do?params=blah">do the blah</a>

最佳答案

似乎您的部署过程出了点问题,出于某种原因,Tomcat 正在尝试在服务器的根目录下为您的应用程序提供服务,因此您的 ${pageContext.request.contextPath}返回是空的。

由于我不确定您的确切部署要求,请尝试以下过程之一。为了确保并避免配置冲突,请在全新的 Tomcat 7 安装上执行此操作:

  1. 如果你有 MyApplication.war文件只需将其放在 <CATALINA_HOME>\webapps , 不要使用任何上下文文件(注意 war 文件中的上下文文件,即 /META-INF/context.xml )
  2. 如果您有分解的应用程序,请创建一个文件夹 MyApplication里面webapps并将应用程序内容放在那里(同样,没有 context.xml )。

如果您真的需要将您的应用程序保留在webapps 之外:

  1. 添加一个新的 Context元素到 <CATALINA_HOME>\conf\server.xml里面<Host> :

    <Context path="/MyApplication"
    docBase="/absolute/physical/path/to/MyApplication"
    reloadable="true"
    crossContext="true">
  2. 或者创建一个 MyApplication.xml文件在 <CATALINA_HOME>\Catalina\localhost具有上述内容。

有关更多信息,请参阅 The Context Container documentation .

关于xml - Tomcat 6 到 Tomcat 7 导致上下文路径停止协作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14905388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com