【问题标题】:How do I remove ending "/" from URL path in a Servlet?如何从 Servlet 的 URL 路径中删除结尾“/”?
【发布时间】:2011-10-12 15:26:21
【问题描述】:

我想将我的 RPC 服务映射到 http://path.com/RPC2 而不是 /RPC2/

在我的 web.xml 文件中,我目前将 url-pattern 设置为 /

<servlet-mapping>
        <servlet-name>RPC2</servlet-name>
        <url-pattern>/</url-pattern>
</servlet-mapping>

我试图仅删除 url 模式,但这不起作用。当我删除 url-pattern 条目时,Tomcat 不会部署它并且 Jetty 工作但在 ../RPC2/

这是完整的 XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <servlet>
        <description>Automatos RPC Server</description>
        <servlet-name>RPC2</servlet-name>
        <servlet-class>RPCServlet</servlet-class>
        <init-param>
            <param-name>streamMessages</param-name>
            <param-value>1</param-value>
        </init-param>
        <init-param>
            <!-- Optional! Defaults to text/xml and ISO-8859-1 -->
            <param-name>contentType</param-name>
            <param-value>text/xml; charset=ISO-8859-1</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>RPC2</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

【问题讨论】:

    标签: java servlets xml-rpc


    【解决方案1】:

    在上下文根目录上部署您的 webapp(在 Tomcat 中,只需将 WAR 重命名为 ROOT.war 或设置 &lt;Context path=""&gt; 而不是 &lt;Context path="/RPC2"&gt;)。这样你的 webapp 将被部署到http://path.com。这样,您可以将 servlet 映射到 /RPC2 的 URL 模式,并且 servlet 容器不会再自动重定向到 webapp 根 /。

    【讨论】:

      猜你喜欢
      • 2016-04-13
      • 1970-01-01
      • 2012-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      • 1970-01-01
      • 2021-01-24
      相关资源
      最近更新 更多