基于tomcat正文重定向请求

我有一个tomcat 7应用程序,我可以从外部获取请求。

他们大多数都是这样呼叫我的请求的:

HTTP://本地主机:8080 / MyWeb即可/ exRequest

并在MyWeb应用程序中使用URL模式构建servlet。

但是,一个外部来源必须像这样发送请求:

HTTP://本地主机:8080 /

并在体内:

<xml name="test" />

由于我不想声明一个普通的servlel(像tomcat默认),因为它意味着任何请求都需要通过我的servlet,所以我想将ROOT的index.jsp改为重定向到我的servlet。

这是最好的选择吗?

是否有一个选项可以创建一个默认的servlet,只有在主体中有一个特殊的参数时才会被调用?

EDITED

请注意,我得到的请求localhost:8080而不是本地主机:8080 / MyWeb - 这是一般的tomcat,而不是一个特定的Web应用程序


你不能根据请求体选择一个servlet来调用,但你可以在你的web.xml中设置一个servlet作为“welcome-file”。

<servlet>
  <servlet-name>index</servlet-name>
  <servlet-class>com.y.MyWelcomeServlet</servlet-class>
</servlet>

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

<welcome-file-list>
  <welcome-file>index</welcome-file>
</welcome-file-list>

如果您想保留一些现有的index.jsp的“欢迎”功能,你的servlet可以不用在体内的正确XML到位于WEB-INF目录下的index.jsp文件转发请求。


不,但您可以创建一个Filter并在请求满足特定条件时转发/重定向到特定的小服务程序。

如果使用servlet 3.0将其与@WebFilter映射,则使用web.xml<filter> + <filter-mapping> 。 你应该映射它在默认的servlet之前执行。

链接地址: http://www.djcxy.com/p/89059.html

上一篇: redirecting requests based on the body tomcat

下一篇: Automatically add the "www" subdomain for my webapp