当前位置: 代码迷 >> Java Web开发 >> 为什么配置了struts2的filter以后之前简单的网页也不能访问了解决方法
  详细解决方案

为什么配置了struts2的filter以后之前简单的网页也不能访问了解决方法

热度:73   发布时间:2016-04-17 10:27:18.0
为什么配置了struts2的filter以后之前简单的网页也不能访问了
例如之前的 http://localhost:8080/webdemo/a.jsp 可以正常访问 
  页面代码很简单 就是一个 helloworld !
  
然后我照着王刚轻量级JAVAEE struts2+spring+hibernate上面的例子 配置 struts2

WEB.XML文件如下
XML code
<?xml version="1.0" encoding="GBK"?><web-app 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" version="2.5">    <!-- 定义Struts2的核心Filter -->    <filter>        <filter-name>struts2</filter-name>        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>    </filter>    <!-- 让Struts2的核心Filter拦截所有请求 -->    <filter-mapping>        <filter-name>struts2</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping></web-app>

相关文件也已经复制到 LIB下面

struts文件 如下
XML code
<?xml version="1.0" encoding="GBK"?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd"><!-- 指定Struts 2配置文件的根元素 --><struts>    <!-- 指定全局国际化资源文件base名 -->    <constant name="struts.custom.i18n.resources" value="messageResource"/>    <!-- 指定国际化编码所使用的字符集 -->        <constant name="struts.i18n.encoding" value="GBK"/>    <!-- 所有的Action定义都应该放在package下 -->    <package name="lee" extends="struts-default">        <action name="login" class="lee.LoginAction">            <!-- 定义三个逻辑视图和物理资源之间的映射 -->                    <result name="input">/login.jsp</result>            <result name="error">/error.jsp</result>            <result name="success">/welcome.jsp</result>                </action>    </package></struts>


login error welcome 页面也都已经建立

但是却无法访问 错误代码

type Status report

message

description The requested resource () is not available.

而且之前的 a.jsp也无法访问了才,错误代码 也是上面的

然后我把web.xml中的 <filter> 等删了以后又可以 正常访问 a.jsp了( login.jsp等还是不能访问 )

大侠们指点迷津啊,为何??? 2天了试了很多次 系统 win7

------解决方案--------------------
是不是你用的不是Struts2.0吧,在Struts2.1开始filter映射的类改了!
Java code
<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>
------解决方案--------------------
你是通过什么路径访问的
  相关解决方案