加入核心过滤器后页面变成404,不加都可以访问
jsp页面
<body>
<a href="/ppp/abc.action">kokokokokoko</a>
</body>
这时web.xml
<filter>
   <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
   <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>
 <filter-mapping>
   <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>
这是struts.xml
<struts>
    <package name="">
        <action name="abc" class="htc.ol">
           <result name="abc">/result.jsp</result> 
        </action>
    </package>
</struts>
我的访问路径:http://localhost:8080/ppp/test.jsp
不加过滤器可以访问,加了就404

解决方案 »

  1.   

    用的是tomcat7.0,导入的是asm-3.3.jar,asm-commons-3.3.jar,asm-tree-3.3.jar,commons-fileupload-1.2.2.jar,commons-io-2.0.1.jar,commons-lang3-3.1.jar,commons-logging-1.1.1.jar,freeer-2.3.19.jar,javassist-3.11.0.GA.jar,ognl-3.0.6.jar,struts2-core-2.3.8.jar,xwork-core-2.3.8.jar,web是2.4
      

  2.   

    namespace="/ppp"  namespace是不是这样的,然后或者是清除下缓存。
      

  3.   


    /ppp是项目的名称,清除了缓存还是不可以
      

  4.   

    test.jsp被拦截了,在struts.xml中配置上test这个action
      

  5.   

    估计是配置问题,加上过滤器既然会出现404,看看tomcat的命令行是否有任何的异常输出。
      

  6.   

    package 标签少属性
      

  7.   

    <filter-mapping>
       <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>为啥是/*
      

  8.   

    因为你过滤的是所有资源,jsp也会被过滤器拦截,发现你并没有这个action,所以会404,你只拦截*.action
      

  9.   

    jSP页面放行,
      

  10.   

     <filter-mapping>
       <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
       <url-pattern>/*.action</url-pattern>
      </filter-mapping>
      

  11.   

    应该是Action的配置有问题,正确的配置应该是
    <action name="XXXX" class="com.strust2.action.LoginAction">
     你可能配置成下面形式了<action name="XXXX" class="com/strust2/action/LoginAction">
      

  12.   

    或者去掉
    <constant name="struts.custom.i18n.resources" value="mess"></constant>
     <constant name="struts.i18n.encoding" value="UTF-8"></constant>
    然后在jsp页面中写了test.action(前面只写了test),然后再action类里面去掉了implements Action换成了extends ActionSupport,然后使用回环地址访问到了WEB应用
      

  13.   

    今天也遇到这样的问题解决方法:
              处理很久,工程重建无数遍的总结。          原因很简单:pathbuild下面的jar包没成功,点开没有package的
                                    注意观察Problems下面有两个错误,提示需要的jar,我的是frees-xxx.jar的包
              处理方式:
                               删掉该未成功jar,重新黏贴解决,希望能够帮到遇到此问题的朋友
      

  14.   

    放弃strust2,抱紧spring大腿,才是正解.