1

在我的 Struts2 应用程序中,我试图包含一个处理 Ajax 请求的 Servlet。我已包含excludePatterninstruts.xml并将 servlet 映射到web.xml. 我仍然无法访问 Servlet。这是我的 XML 文件。

Struts.xml

<struts>
 <constant name="struts.devMode" value="true" />
 <constant name="struts.action.excludePattern" value="/ajaxservlet"/>
 <package name="helloworld" extends="struts-default">
   <action name="loginAction" class="controller.loginAction" method="execute">
     <result name="success">home.jsp</result>
     <result name="error">index.jsp</result>
   </action>
 </package>
</struts>

这是在我的web.xml

<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>

<servlet>
    <servlet-name>control</servlet-name>
    <servlet-class>controller.control</servlet-class>
</servlet>

<servlet-mapping>  
    <servlet-name>control</servlet-name>  
    <url-pattern>/ajaxservlet</url-pattern>  
</servlet-mapping> 
4

1 回答 1

0

尝试更改 servlet 的映射

<servlet>
  <servlet-name>control</servlet-name>
  <servlet-class>controller.control</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>control</servlet-name>
  <url-pattern>/ajaxservlet/*</url-pattern>
</servlet-mapping>

并相应地修改struts配置

<constant name="struts.action.excludePattern" value="/ajaxservlet/?.*"/>
于 2013-11-08T11:04:44.327 回答