我想将我的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>

最佳答案

在上下文根上部署您的Web应用程序(在Tomcat中,只需将WAR重命名为ROOT.war或设置<Context path="">而不是<Context path="/RPC2">)。这样,您的Web应用程序将被部署到http://path.com。这样,您可以将servlet映射到/RPC2的URL模式上,并且servlet容器不再自动重定向到Web应用程序根/

09-30 15:13