`
aben328
  • 浏览: 1462587 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类

异常信息:The Struts dispatcher cannot be found. This is usually caused by using Str

阅读更多

异常信息: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.

环境:tomcat5.5.0

            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上传必备jar包,避免出现struts2的升级漏洞!自己吃亏后分享

    at org.apache.struts2.dispatcher.Dispatcher.cleanUpRequest(Dispatcher.java:837) at org.apache.struts2.dispatcher.ng.PrepareOperations.cleanupRequest(PrepareOperations.java:103) at org.apache.struts2....

    struts-2.3.33-lib.zip

    struts2官网2.3版本的最后一个版本,能够...注意此版本的dispatcher是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。详见https://struts.apache.org/docs/struts-23-to-25-migration.html。

    解决struts2下载异常的jar包 struts2-sunspoter-stream-1.0.jar

    at javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:108) at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:770) at org.apache.struts2....

    语言程序设计资料:struts2基本配置使用手册.doc

    其中,struts2 是过滤器的名称,org.apache.struts2.dispatcher.FilterDispatcher 是过滤器的类名,而/* 是过滤器的映射关系。 Struts 2.0 的配置文件是 struts.xml,需要在 src 目录下创建该文件,并添加相应的...

    Struts2.5.2的配置及问题解决

    Struts2.5.2是Apache Struts框架的一个版本,它是基于MVC设计模式的Java Web应用程序开发框架。本文将详细介绍Struts2.5.2的配置过程以及可能遇到的问题和解决方案。 首先,配置Struts2.5.2需要从官方站点下载所需...

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    The org.apache.struts2.dispatcher.multipart.MultiPartRequest parser implementation for a multipart request (file upload) 专为multipart请求信息使用的org.apache.struts2.dispatcher.multipart....

    struts2配置2.5版

    &lt;?xml version="1.0" encoding="UTF-8"?... org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter &lt;!-- 拦截所有的url --&gt; &lt;filter-name&gt;struts2 &lt;url-pattern&gt;/* &lt;/web-app&gt;

    org.apache.struts2.dispatcher.FilterDispatcher

    总的来说,`org.apache.struts2.dispatcher.FilterDispatcher`是Struts 2框架中一个至关重要的组件,负责请求的分发和Action的调用,对于理解和掌握Struts 2的运行机制具有重要意义。开发者需要熟悉其工作原理和配置...

    tomcat报错Unable to find 'struts multipart saveDir解决

    标题中的“tomcat报错Unable to find 'struts multipart saveDir'”是一个常见的问题,通常出现在使用Apache Struts框架,并且在处理multipart/form-data类型的请求时。这种类型的请求通常用于上传文件,而`saveDir`...

    struts2核心文件

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源Java Web框架,它在Web应用开发中被广泛使用。Struts2的核心在于提供一个强大的、灵活的、可扩展的架构,使得开发者能够更方便地实现业务逻辑与表现层...

    struts 2.2 api文档

    org.apache.struts2.dispatcher.ng, org.apache.struts2.dispatcher.ng.filter, org.apache.struts2.dispatcher.ng.listener, org.apache.struts2.dispatcher.ng.servlet, org.apache.struts2.impl, org.apache....

    关于struts实验时的临时总结

    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452) at org.apache.struts2.dispatcher....

    struts-2.3.37-all.zip

    9. **异常处理**:Struts 2提供了全局异常处理机制,可以捕获和处理Action执行过程中的异常,提高应用的健壮性。 10. **Ajax支持**:通过Struts 2的Dojo插件或者其他JavaScript库,可以实现异步请求,提高用户体验...

    Struts所有jar包、DTD文件(struts-1.2.9-bin.rar)

    1. **核心库**:如`struts-core.jar`,它提供了Struts框架的核心功能,包括Action、Form、Dispatcher等。 2. **标签库**:如`struts-bean.jar`、`struts-html.jar`和`struts-tiles.jar`,它们分别提供Bean标签、HTML...

    struts2的struts.properties介绍

    **示例**:通常使用默认实现类`org.apache.struts2.dispatcher.multipart.MultiPartRequest`。 **应用场景**:当需要扩展或自定义文件上传功能时,可以替换默认实现类。 #### struts.multipart.saveDir **含义**...

    struts2-core-2.0.11源码

    8. **请求处理(Request Handling)**:`org.apache.struts2.dispatcher.ng.filter`包中的`StrutsPrepareAndExecuteFilter`是Struts2与Servlet容器交互的关键,它负责准备请求并执行Action。 9. **类型转换(Type ...

    传智播客struts2全程学习笔记

    &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter &lt;filter-name&gt;struts2 &lt;url-pattern&gt;/* ``` 自从Struts2.1.3版本之后,原来的`FilterDispatcher`类已经被标记为过时...

    struts-1.2.9-lib.zip

    - `struts-core.jar`:这是Struts的核心库,包含ActionServlet、ActionForm、Action、Dispatcher等关键类,它们是Struts框架的基础。 - `struts-tiles.jar`:Tiles扩展了Struts,提供了一种方式来组织和重用页面...

    struts 2.3.4.1 最新英文版API

    org.apache.struts2.dispatcher.ng This package contains a reimagining of the traditional Struts filter dispatchers. org.apache.struts2.dispatcher.ng.filter org.apache.struts2.dispatcher.ng.listener ...

    struts2源码解析,个人感觉很不错

    - **org.apache.struts2.dispatcher.FilterDispatcher**:这是一个过滤器,用于处理所有请求,通常将其URL模式设置为`/*`。该类有四个关键作用: - 执行Action。 - 清理`ActionContext`,防止内存泄漏。 - 处理...

Global site tag (gtag.js) - Google Analytics