【问题标题】:Servlet mapping in apache tomcat 6.0.20Apache Tomcat 6.0.20 中的 Servlet 映射
【发布时间】:2010-11-08 09:16:32
【问题描述】:

我不确定它是否可以做我想要完成的事情。我想将一个 servlet 映射到两个不同的 URL。

我希望 http://10.0.0.1/ahttp://10.0.0.1/b 都映射到同一个 servlet。

我知道它可以在 web.xml 中执行以下操作;

  <servlet-mapping>
    <servlet-name>ServletName</servlet-name>
    <url-pattern>/b</url-pattern>
  </servlet-mapping>

但这会启用以下网址:http://10.0.0.1/ContextPath/b/

【问题讨论】:

    标签: java tomcat servlets


    【解决方案1】:

    您可以执行以下操作:

      <servlet-mapping>
        <servlet-name>ServletName</servlet-name>
        <url-pattern>/a</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>ServletName</servlet-name>
        <url-pattern>/b</url-pattern>
      </servlet-mapping>
    

    然后http://host/webapp/ahttp://host/webapp/b 都将映射到同一个servlet。

    如果你想去掉 /webapp 前缀,你需要通过setting the path attribtue of the context to "" in your context xml file 将你的 web 应用设置为 ROOT(在 webapps 或 META-INF/context.xml 中)

    【讨论】:

    • 你的意思是 /conf 中的 context.xml? (并在 添加 "" ?)
    • 我添加了以下内容: 到 server.xml。 (还将上面提到的 servlet-mappings 添加到 webapp 特定的 web.xml 中)但我仍然无法正常工作。有什么想法吗?
    • 您能粘贴整个上下文文件吗?此外,将其放在 server.xml 中不太可取
    猜你喜欢
    • 1970-01-01
    • 2018-11-24
    • 2017-02-01
    • 2012-02-12
    • 1970-01-01
    • 2013-10-11
    • 2016-10-28
    • 1970-01-01
    • 2012-12-22
    相关资源
    最近更新 更多