`
woshixushigang
  • 浏览: 580398 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

严重: Exception starting filter struts2

阅读更多

转)strut2新手必看(想搞懂struts2必须要看的哦)--struts2-core-2.1.6.jar

2009-06-07 02:12

因为学过struts1.0,最近看企业开发中看重struts2+ext-js技术非常的普遍,研究了一中午,一个简单的小例子都没出来,仔细看了一下错误才知道,原来各种开源框架的支持更新影响的。希望想学struts2的,可以深读这篇文章,吸取教训。

开发环境:(一定要慎重)

我用的是最新的struts-2.1.6

myeclipse 6.5+tomcat6.0(在这一定要是5.5的,并且jdk1.5以上的版本)

最基本的小程序用到jar包,struts2-core.jar,commons-logging.jar,freemarker.jar,ognl.jar,xwork.jar(注意了,struts2-core-2.1.6.jar时要附加上两个包,commons-ileupload.jar 和 commons-io.jar )

还有了在配置web.xml文件时记得不要在用这个过滤器了,<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>,新版本都是过时的了,采取该过滤器,

<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>。

如果在一切搞定之后,还是显示不出来,看看是否是这个错误:

安装实例配置好以后,开始运行,可是出现一下错误:

严重: Exception starting filter struts2 Unable to load configuration. - bean - jar:file:/E:/struts2/struts2/WebRoot/WEB-INF/lib/struts2-core-2.1.6.jar!/struts-default.xml:46:178 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:360) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:403) at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:578) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Caused by: Unable to load bean: type:org.apache.struts2.dispatcher.multipart.MultiPartRequest class:org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest - bean - jar:file:/E:/struts2/struts2/WebRoot/WEB-INF/lib/struts2-core-2.1.6.jar!/struts-default.xml:46:178 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:222) at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:165) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55) ... 21 more Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389) at java.lang.Class.getDeclaredConstructors(Class.java:1836) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:212) ... 24 more Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileUploadException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) ... 28 more 2009-2-16 15:07:42 org.apache.catalina.core.StandardContext start 严重: Error filterStart 2009-2-16 15:07:42 org.apache.catalina.core.StandardContext start 严重: Context [/struts2] startup failed due to previous errors

 

错误中指明struts-default.xml:46:178,struts2-core.jar包中的struts-default文件的46行有问题,于是我打开struts-default.xml,46行为:

 

<bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" name="struts" class="org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest" scope="default"/>

 

发现要加载org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest。查看这个类的源文件 其中前面有这样几句 :

 

package org.apache.struts2.dispatcher.multipart;

import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; import java.util.List; import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.RequestContext; import org.apache.commons.fileupload.disk.DiskFileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload;

import org.apache.struts2.StrutsConstants;

import com.opensymphony.xwork2.inject.Inject; import com.opensymphony.xwork2.util.logging.Logger; import com.opensymphony.xwork2.util.logging.LoggerFactory;

public class JakartaMultiPartRequest implements MultiPartRequest {

//下面略 在这个类中必须引入org.apache.commons.fileupload.*; 而错误也许没有加载这个文件上传包所以找不到类 。

于是我就把commons-ileupload.jar 和 commons-io.jar 导入,结果错误解决了。

最后 本人的一点小建议,TOMCAT只是一个开源的web容器技术处理功能还是单调点,建议用jBoss ,他的好处一个功能强大的服务器不仅支持web 还有许多如 ejb 等,最主要的是他的调试错误比较完善,用jboss 4.0 版本运行该程序没有出现异常。

 

分享到:
评论

相关推荐

    SSH2报错xception starting filter struts2

    严重: Exception starting filter struts2 java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

    struts2开发遇到的问题

    7. **严重:Exception starting filter struts2,Error filterStart,Context [/struts2] startup failed due to previous errors** 这个严重错误通常涉及到Struts2配置问题,可能的原因包括: - `struts.xml`中的...

    Tomcat部署项目时报错解决方案

    严重: Exception starting filter struts2 Unable to load configuration. - [unknown location] ``` 该错误提示通常伴随着一系列的堆栈跟踪信息,指向了问题的具体原因。例如,在提供的部分内容中可以看到以下堆栈...

    配置struts2常见错误

    Console 错误:Exception starting filter struts2 **问题描述**: ``` Nomapping found for dependency[type=com.opensymphony.xwork2.ObjectFactory,name='default'] in public void ...

    starting-struts2-chinese.rar

    这个"starting-struts2-chinese.rar"压缩包文件包含了一份中文版的"starting-struts2-chinese.pdf"文档,很显然是为帮助初学者理解和入门Struts2框架而准备的。 Struts2的核心是模型-视图-控制器(MVC)设计模式,...

    solr/ext/ 里面的jar包

    严重: Exception starting filter SolrRequestFilter org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jars. If using Jetty, the SLF4j logging jars need to go in the jetty lib/...

    初学者用的几个struts2的基本包

    第一次做struts2的程序,却遇到了Exception starting filter struts2的问题,追其原因,其中一个很大的原因是其官方网站上下的那几个包不行。于是费劲千辛万苦找到了这几个好使的包!

    Struts2实验案例项目

    9. **异常处理**:Struts2允许全局或局部地定义异常处理策略,通过`&lt;exception-mapping&gt;`标签,可以指定不同类型的异常如何被处理。 10. **插件系统**:Struts2拥有丰富的插件库,如Ajax支持、JSON处理、Spring集成...

    Struts2的DTD配置文件struts-2.3.dtd

    Struts2是一个流行的Java web应用程序框架,用于构建和维护可扩展、模块化和高度交互性的MVC(模型-视图-控制器)应用。在Struts2中,`struts.xml`是核心配置文件,它定义了应用的行为、动作、结果和其他组件。为了...

    Migrating From Struts1 To Struts2

    ### 从Struts1迁移到Struts2 #### 引言 随着技术的发展与进步,Struts1作为曾经广泛使用的Web应用框架,逐渐被Struts2等新一代框架所取代。Struts2以其更加灵活的设计、丰富的特性以及更好的性能表现成为众多开发者...

    kernel panic - not syncing : fatal exception

    - **Kernel Panic**: 内核恐慌,通常表示内核遇到了无法处理的严重错误。 - **Not Syncing**: 表示内核在尝试同步文件系统时失败。 - **Fatal Exception**: 致命异常,指内核检测到不可恢复的错误。 #### 描述解析 ...

    Struts2的视频学习代码

    10. **异常处理**:Struts2提供了全局的异常处理机制,通过`&lt;global-exception-mappings&gt;`标签定义异常映射,可以统一处理各类运行时异常。 "Struts2-part01"可能包含的是该系列学习的第一部分内容,可能涵盖了...

    struts2完整例子

    9. **异常处理**:Struts2提供了一套完善的异常处理机制,通过`&lt;global-exception-mappings&gt;`和`&lt;package&gt;`内的`&lt;exception-mapping&gt;`标签,可以定义全局或局部的异常处理策略。 10. ** strut2-helloworld 示例**:...

    表格模板-京东苏宁决战商品表.ett

    表格模板-京东苏宁决战商品表.ett

    尚硅谷_佟刚_Struts2

    Struts2是一个强大的Java web应用程序框架,用于构建和管理MVC(模型-视图-控制器)架构的应用程序。由Apache软件基金会维护,它是Struts1的升级版,提供了更先进的特性和更好的性能。尚硅谷_佟刚_Struts2的讲解课件...

    struts2开发文档

    &lt;filter-name&gt;struts2&lt;/filter-name&gt; &lt;filter-class&gt;org.apache.struts2.dispatcher.FilterDispatcher&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;struts2&lt;/filter-name&gt; &lt;url-pattern&gt;/* &lt;/...

    Struts2 in action(struts2实战)

    Struts2是Java Web开发中的一个强大且灵活的MVC框架,它在处理Web应用程序的结构和控制逻辑方面表现出色。作为一个基于Action和基于拦截器的框架,Struts2提供了丰富的功能,使得开发者能够构建可维护、可扩展的Web...

    Struts2教程DOC版

    1. **Filter Dispatcher**:作为Struts2的核心组件,Filter Dispatcher监听HTTP请求,并根据配置转发到相应的Action。 2. **Action Mapping**:Action Mapping负责映射请求到特定的Action实例,基于请求参数和配置...

    Struts2主要Lib

    9. **异常处理**:Struts2提供了一套全面的异常处理机制,通过配置`&lt;global-exception-mappings&gt;`标签,可以定义全局的异常处理策略。 在"struts2lib"这个压缩包中,可能包含的文件有`struts2-core.jar`(核心库)...

    留言板留言板struts2留言板struts2

    9. **异常处理**:Struts2通过全局异常映射(Global Exception Mapping)来统一处理应用程序中抛出的异常,提高代码的可维护性。 10. **国际化与本地化**:Struts2支持多语言环境,可以通过资源包(properties文件...

Global site tag (gtag.js) - Google Analytics