2012-07-01 33 views
2

我想将所有连接(/*)重定向到特定的servlet,但特定文件(someFile.xml)除外。Web.xml - 没有将特定文件或url重定向到servlet

我已经在web.xml中的以下部分:

<servlet-mapping> 
     <servlet-name>someServlet</servlet-name> 
     <url-pattern>/*</url-pattern> 
</servlet-mapping> 

如何修改它,以便/someFile.xml不会被映射到这个servlet。

如果我不能使用web.xml,有没有其他方法?

回答

2

您可以创建一个Servlet并将其映射为接收/someFile.xml。

<servlet-mapping> 
      <servlet-name>someServlet</servlet-name> 
      <url-pattern>/*</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
      <servlet-name>SomeFileServlet</servlet-name> 
      <url-pattern>/someFile.xml</url-pattern> 
    </servlet-mapping> 

这样除了/someFile.xml所有的请求都会去someServlet并要求/someFile.xml会去SomeFileServlet。

**/* mapping in web.xml it answers all requests except other path mappings.** 
+0

公平,这是一个很好的解决方案,它应该像一个魅力工作! – verisimilitude

+0

我不想重定向到另一个servlet。我想someFile.xml被检索,由apache –

+0

@ErikSapir你有没有Apache HTTP服务器?通过阿帕奇你的意思是达?如果是的话,你必须看看Apache重写规则。 –

相关问题