当前位置: 代码迷 >> Java Web开发 >> web.xml配置了struts过滤器,无法访问servlet跟jsp了
  详细解决方案

web.xml配置了struts过滤器,无法访问servlet跟jsp了

热度:684   发布时间:2016-04-13 22:38:01
web.xml配置了struts过滤器,无法访问servlet和jsp了
本帖最后由 clofty 于 2013-09-10 16:41:58 编辑
配置了一下站点使用struts,在web.xml中配置了filter,结果原来的servlet和jsp都无法访问了,如何设置才可以使原来的servlet和jsp页面可以按照原来的方式访问?


<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>
------解决思路----------------------
在web.xml文件中加入 servlet过滤器即可,代码如下,放到struts2配置前面,


<!-- servlet过滤器 -->
   
<servlet>
<servlet-name>ServletFilter</servlet-name>
<servlet-class>com.xxx(servlet所在的位置)</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>ServletFilter</servlet-name>
<url-pattern>/servlet名</url-pattern>
</servlet-mapping>  
   
 <filter>   
      <filter-name>ServletFilter</filter-name>   
      <filter-class>test.ServletFilters</filter-class>   
      <init-param>   
        <param-name>includeServlets</param-name>   
        <param-value>servlet名</param-value>   
      </init-param>
     
    </filter>   
    <filter-mapping>   
      <filter-name>ServletFilter</filter-name>   
      <url-pattern>/*</url-pattern> 
      
    </filter-mapping>



<!-- action过滤器 -->
<filter>
     <filter-name>characterFiler</filter-name>
   <filter-class>com.cd.base.filter.CharacterFilter</filter-class>
</filter>
<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>



------解决思路----------------------
http://blog.csdn.net/aiwo429001/article/details/8118004

楼主可以参考下这边文章
------解决思路----------------------
复制错了,以下为正确代码:


   <!-- servlet过滤器 -->
   
 <filter>   
      <filter-name>ServletFilter</filter-name>   
      <filter-class>test.ServletFilters</filter-class>   
      <init-param>   
        <param-name>includeServlets</param-name>   
        <param-value>servlet名</param-value>   
      </init-param>
     
    </filter>   
    <filter-mapping>   
      <filter-name>ServletFilter</filter-name>   
      <url-pattern>/*</url-pattern> 
      
    </filter-mapping>



<!-- action过滤器 -->
<filter>
     <filter-name>characterFiler</filter-name>
   <filter-class>com.cd.base.filter.CharacterFilter</filter-class>
</filter>
<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>

------解决思路----------------------
既然都用struts2了。为什么还要回去用jsp呢。
------解决思路----------------------
struts本身就是一个强大的servlet,我觉得没有必要用到的啊,直接在struts里面配置就是可以了,
------解决思路----------------------
访问不到是因为你的请求已经被struts给拿去了,没有通过servlet的过滤了,我想是这样,
------解决思路----------------------
servlet不是需要手动的添加在web.xml中么?
------解决思路----------------------
访问不到servlet应该是你没有在web.xml中配置servlet的过滤器,访问不到jsp是没有理由的吧。
  相关解决方案
本站暂不开放注册!
内测阶段只得通过邀请码进行注册!