我想将我的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应用程序根/
。