繁体   English   中英

servlet不调用struts2,web.xml冲突

[英]servlet not calling struts2 , web.xml conflict

这是我的web.xml结构:

    <servlet>
        <servlet-name>myServlet</servlet-name>
        <servlet-class>com.test.servlet.MyServlet</servlet-class>       
    </servlet>

    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/testServlet/*</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>*.action</url-pattern>
    </filter-mapping>

<filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

在Jsp中,我像下面这样调用servlet。

<img src="${pageContext.request.contextPath}/testServlet?id=${someID}"

问题是当我像下面那样使用servlet时。 当我在过滤映射中将*.jsp更改为/*时,它无法调用servlet。

   <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.jsp</url-pattern>
    </filter-mapping>

但是当我使用*.jsp ,使用struts2-dojo插件的日历不会出现在jsp中。

您可以通过Struts 2将特定的请求路径排除在处理之外

防止Struts处理请求

您需要排除myServlet映射,以便它不会从struts的筛选器分派器传递。

在您的struts.xml中添加:

<constant name="struts.action.excludePattern" value="/ServletToExcludeFromStruts*"/>

对于多个排除项,该值也应以逗号分隔。

参见http://struts.apache.org/2.2.1/docs/webxml.html ..

从此链接获取帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM