The Struts dispatcher cannot be found

转载 2012年03月28日 23:47:33
The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter.

异常信息:The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag.





struts.xml信息


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"?
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
struts.xml 信息:


<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml"/>
<package name="ygn.action" extends="struts-default">
<action name="HelloWorld" class="ygn.action.HelloWorld">
<result>HelloWorld.jsp</result>
</action>
</package>
</struts>
SayHello.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Say Hello</title>
</head>
<body>
<h3>Say "Hello" to :</h3>
<s:form action="HelloWorld">
Name:<s:textfield name="name"/>
<s:submit/>
</s:form>
</body>
</html>


异常分析:以上的配置及文件中,如果采用 http://ip:port/SayHello.jsp,那么会出现前面所提到的异常。如果采用http://ip:port/SayHello.action 进行访问,那么正常。


原因:如果想要在jsp文件中,采用 struts的tag,那么必须通过web.xml所配置的过滤器访问文件,否则会有异常,即 之前所出现的异常。


解决方案:


方案一:


采用 http://ip:port/SayHello.action 访问


方案二:


将web.xml 的过滤器,从 *.action 修改为: /*


方案三:


修改SayHello.jsp 文件,不使用 struts 的标签。

struts2 案例代码实现及遇到的问题【struts2.5版本】

实例struts2.5版本遇到的坑 问题一:Eclipse配置Struts2问题:ClassNotFoundException: org...dispatcher.ng.filter.StrutsPr...
  • u014800380
  • u014800380
  • 2016年12月19日 15:25
  • 1116

jsp放在WEB-INF下的访问(struts访问路径)

1. 把页面资源文件只能放在webroot下面,如 CSS,JS,image等.放在WEB-INF下引用不了.像jpetstore也是这样的. 2. 页面放在WEB-INF目录下面,这样可以限制访问,...
  • df1012890048
  • df1012890048
  • 2013年09月16日 14:13
  • 1210

struts 2.5.1第一个测试应用

首先我是个小白,如果写的不正确的希望大家指正.我的ide是intelliJ IDEA 2015;JAVA版本 1.70_79;tomcat 7.0.61 1、最新版本的struts2.5取消了xwo...
  • andrew_u
  • andrew_u
  • 2016年06月27日 22:41
  • 1231

Unity使用过程中遇到的问题

NGUI导入后出错
  • nicolelili1
  • nicolelili1
  • 2017年06月14日 18:39
  • 299

Android 使用adb shell命令时出现sqlite3 : not found 问题 解决方法

在Android开发中,使用 adb shell 下的 sqlite3 命令来查看操作SQLite数据库时,遇到了 [ sqlite3 : not found] 问题。 网上找了下问题的原因——模拟器...
  • u013692049
  • u013692049
  • 2015年03月14日 15:34
  • 1599

xelatex 字体问题

TexLive 2014是不是自动安装中文字体 2014-11-21 19:14 歪有小小爱580 | 浏览 2112 次 软件 分享到: 2014-11-21 20:17 提问者采纳 分享一下安装...
  • liufengl138
  • liufengl138
  • 2015年09月14日 12:23
  • 2042

filter中的dispatcher标签解析

一、forward和includeRequestDispatcher提供两个方法forward和include进行资源跳转。 不同的是,如果使用forward跳转则其后面的response输出则不会...
  • xiaokang123456kao
  • xiaokang123456kao
  • 2017年06月06日 17:18
  • 614

spring boot 使用MultipartFile实现文件上传报错。

异常信息: org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'times...
  • ayou_java
  • ayou_java
  • 2017年03月08日 18:14
  • 2045

x264和FFMPEG 编译后遇到的一些问题:UINT64_C,

吭吃坑吃的编译安装完ffmpeg 0.75,在centos5.9上后,遇到了一些问题,都是十分常见的问题,希望对大家有用。 问题一 /usr/local/include/libavutil/com...
  • bg2bkk
  • bg2bkk
  • 2013年06月07日 16:06
  • 8577

安装Caffe的Python wrapper时出现问题的解决方法

Caffe的安装可以参考caffe安装指南(Ubuntu13.04 x86)
  • u011333059
  • u011333059
  • 2014年07月24日 09:17
  • 6474
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:The Struts dispatcher cannot be found
举报原因:
原因补充:

(最多只允许输入30个字)