如何配置URL模式以使servlet和Struts2同时工作? [英] How to configure URL patterns to have servlet and Struts2 to work simultaneously?
问题描述
为什么我的过滤对我不起作用以及如何设置它?
Why my filtering does not work for me and how to setup it to work?
我的 web.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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_2_5.xsd">
<servlet>
<display-name>GameServlet</display-name>
<servlet-name>GameServlet</servlet-name>
<servlet-class>ajaxdemo.action.GameServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>GameServlet</servlet-name>
<url-pattern>/gameservlet</url-pattern>
</servlet-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
在此配置 GameServlet
未收到任何内容和Web服务器报告 / gameservlet
URL没有操作映射。
On this configuration GameServlet
does not receive anything and web server reports that there are no action mapping for /gameservlet
URL.
如果我评论filter-mapping this servlet通过此URL正常工作。
If I comment filter-mapping this servlet works fine by this URL.
如何同时使用Struts过滤器和servlet过滤器,重点是servlet只适用于 / gameservlet
URL ,所有其他人应该由Struts处理。我无法理解如何为我的案例创建URL模式。
How to get working Struts filters and servlet filter simultaneously, the point is servlet should work only with /gameservlet
URL, all others should be processed by Struts. I cannot understand how to create URL patterns for my case.
推荐答案
你应该添加 excludePattern
常量到 struts.xml
从Struts处理中排除servlet映射URL。
You should add excludePattern
constant to struts.xml
to exclude servlet mapping URL from Struts processing.
<struts>
<constant name="struts.action.excludePattern" value="/gameservlet/?.*"/>
...
</struts>
这篇关于如何配置URL模式以使servlet和Struts2同时工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!