`
neuhxy
  • 浏览: 7158 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

关于配置Struts的 Dispatcher initialization failed 错误

阅读更多

    以前学过Spring、Struts、Hibernate的开发,今天想看看Spring、Struts、Ibatis的框架,本着从头做起的原则,下载一些相关的Jar包,开始做起。

    首先,用Myeclipse建一个Web Project。然后导入必要的Jar包,由于之前下的Jar包比较新,Struts2.3的,和以前做的不太一样,导入的时候报错了。然后修改web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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">

	<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>*</url-pattern>
	</filter-mapping>

	<display-name></display-name>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

     然后在src目录下新建struts.xml,添加以下内容:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<constant name="struts.devMode" value="true" />
	<constant name="struts.ui.theme" value="simple" />
	<constant name="struts.multipart.saveDir" value="\temp" />
	<constant name="struts.multipart.maxSize" value="3048576000" />
	<constant name="struts.i18n.encoding" value="UTF-8" />

	<package name="index" namespace="/" extends="struts-default">
		<action name="*" class="core.action.UserAction"
			method="index">
			<result name="index">/{1}.jsp</result>
		</action>
	</package>
	
</struts> 

 

    接着写一个测试的Action,建立core.action包,然后添加UserAction类:

 

package core.action;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class UserAction extends ActionSupport {
	
	public String index() {
		return INPUT;
	}

}

 

    再之后写一个JSP页面,响应index方法的请求:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>index</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">

  </head>
  
  <body>
    This is my JSP page. <br>
  </body>
</html>

 

    然后部署, 启动服务器,打开浏览器localhost:8080/项目名/index报错了。

    错误如下: Dispatcher initialization failed 错误

    于是搜了搜,发现现在的struts2不仅仅是那5个核心包了,还扩展了其他的包,例如Commons-fileupload,Commons-IO包等。现将我整理好的Jar包最小化打包上传,希望遇到类似问题的朋友参考参考。

这回好了,问题解决。一看控制台,出了个提示:

    >>> FilterDispatcher <<< is deprecated! Please use the new filters! 

    一看又是版本问题导致的struts2过时了,修改web.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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">

	<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>

	<display-name></display-name>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

 

    原来从>=2.1.3的版本开始,FilterDispatcher被标记为过时,取而代之的是新的StrutsPrepareAndExecuteFilter。这回搞定了,没有提示错误和警告了。

2
2
分享到:
评论
1 楼 aa00aa00 2014-08-01  
嗯,过滤器已经变了,呵呵

相关推荐

    配置struts2常见错误

    Console 错误:Dispatcher initialization failed **问题描述**: ``` java.lang.RuntimeException: java.lang.reflect.InvocationTargetException ``` **解决方法**: 这个问题通常与缺失`javassist-3.11.0.GA....

    徒手配置Struts2

    ### 徒手配置Struts2的关键知识点 #### 一、徒手配置Struts2环境时需注意的关键事项 在没有使用任何集成开发环境的情况下配置Struts2,可能会遇到各种问题,尤其是在配置过程中对于细节的把握至关重要。以下是配置...

    eclipse 配置struts2

    **标题:“Eclipse配置Struts2”** 在Java Web开发中,Struts2是一个非常流行的MVC(模型-视图-控制器)框架,它提供了一种结构化的方式来组织应用程序,提高了开发效率。Eclipse作为Java开发的主要IDE,配置Struts...

    Struts2.5.2的配置及问题解决

    本文将详细介绍Struts2.5.2的配置过程以及可能遇到的问题和解决方案。 首先,配置Struts2.5.2需要从官方站点下载所需的jar包。在http://struts.apache.org/download.cgi#struts252上,你可以找到两个选项:1是指...

    org.apache.struts2.dispatcher.FilterDispatcher

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

    struts2配置环境需要的jar包

    记住,配置过程中可能会遇到各种问题,比如版本兼容性、缺少依赖、配置错误等。确保你的Struts2版本与其他库(如Spring、Hibernate等)兼容,及时查阅官方文档和社区资源以解决问题。 总的来说,理解并正确配置...

    一个简单的struts2的手动配置

    接下来,我们创建`struts.xml`配置文件,这是Struts2的核心配置文件。在这个文件中,我们可以定义Action(操作)、结果类型、拦截器链以及全局的配置元素。例如,一个简单的Action配置可能如下: ```xml ...

    Struts2配置详解

    ### Struts2配置详解 #### 一、总览 在深入了解Struts2的配置细节之前,我们先来简要概述一下Struts2框架的核心特点及其配置文件的基本结构。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web...

    struts2 result配置详解

    Dispatcher Result 配置是 Struts2 框架中默认的 Result 配置类型。这种配置类型用于将结果.redirect 到一个 JSP 页面。如果在 Action 配置中没有指定其他的 Result 配置类型,那么 Dispatcher Result 配置将被使用...

    ·Struts2配置文件介绍 超级详细

    ### Struts2配置文件介绍 #### 一、Struts2的核心配置文件 在Struts2框架中,有多个重要的配置文件用于控制应用的行为与结构,其中最核心的是`struts.xml`文件。此外还包括`web.xml`、`struts.properties`、`...

    Netbeans下配置struts2插件

    &lt;filter-class&gt;org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter &lt;filter-name&gt;struts2 &lt;url-pattern&gt;/* ``` - 在“struts.xml”配置文件中,定义Action和结果页面。例如: ```xml ...

    struts2配置文件

    这些jar包是Struts2运行所必需的,缺少任何一项都可能导致运行时错误。 接下来,我们需要配置`web.xml`文件,这是Web应用程序的部署描述符。在`&lt;filter&gt;`和`&lt;filter-mapping&gt;`标签内,定义一个名为`struts2`的过滤...

    struts2基本运行环境配置方法

    ### Struts2基本运行环境配置方法 #### 一、引言 在Java Web开发领域,Struts2框架因其简洁的设计模式、丰富的插件支持以及高度的可扩展性而备受开发者青睐。本文将详细介绍如何在MyEclipse环境中配置Struts2的基本...

    Struts2 Spring Jpa 配置测试

    1. **Struts2配置**:首先,需要在项目的`web.xml`文件中配置Struts2的核心过滤器`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`。接着,创建`struts.xml`配置文件,定义Action类、结果...

    struts2常见错误

    这个错误通常是因为`struts.xml`配置文件的位置不正确或者没有被正确加载。确保`struts.xml`位于`src/main/resources`或`WEB-INF/classes`目录下,并且已经被包含在类路径中。 2. **缺少类定义错误:java.lang....

    struts常见错误及其分析

    8. **ActionForward配置错误** 如果请求转发出现问题,检查ActionMapping的forward属性或action-forward元素,确保目标页面路径正确,并且该页面存在于应用的Web-INF目录或可访问路径下。 9. **Dispatcher Servlet...

    struts2所有包和配置文件

    在Struts2中,`web.xml`通常会包含Struts2的前端控制器Servlet,即`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`的配置。这个过滤器负责拦截HTTP请求,并将它们路由到Struts2的Action类...

    struts2核心配置文件

    ### Struts2核心配置文件详解 #### 一、概述 Struts2框架是Java Web开发领域内一个重要的轻量级框架,它简化了基于MVC(Model-View-Controller)设计模式的应用程序开发过程。在Struts2框架中,有两个核心配置文件...

    struts2 在eclipse 配置成功

    &lt;filter-class&gt;org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter &lt;filter-name&gt;struts2 &lt;url-pattern&gt;/* ``` - 同时,需要配置Servlet容器支持JSP标签库,例如: ```xml ...

Global site tag (gtag.js) - Google Analytics