- 浏览: 54665 次
- 性别:
- 来自: 上海
最新评论
-
sebatinsky:
菜鸟从中飞过,,,。心慌慌。
某互联网公司面试题(二) -
marshaldong:
两层循环,如果内层循环的节点有等于外层循环的节点的,说明有环, ...
某互联网公司面试题(二) -
enefry:
支持hashMap说法.遍历是必须的.只是需要多余空间的支持. ...
某互联网公司面试题(二) -
fivestarwy:
Durian 写道这样的题没啥意义。
除非你喜欢信息奥林匹克竞 ...
某互联网公司面试题(二) -
antonia:
这些题目看着好难。。。。
某互联网公司面试题(二)
开发环境
Eclipse:
Eclipse Java EE IDE for Web Developers.
Version: Helios Service Release 1
Build id: 20100917-0705
Tomcat:
apache-tomcat-6.0.16
Struts:
struts-2.2.1.1
1.初次尝试产生以上这个问题,很明显,就是jar包没有导入完整,但是到底缺那些呢?这个可以将strtus自带的war放到tomcat下面去运行,看哪个可以
正常运行,就将那个包下面的jar全部拷贝过来就可以了,哈哈。只多不少,然后再尝试着删就可以了
网上的所谓攻略经常忽略javassist这个jar包,他不存在于lib下,而存在于app下的某个war中。
2.想要判断包名org.apache.struts2.dispatcher.FilterDispatcher是否拼写正确,可以在.java文件中import一下,
如果拼写正确自然不会报错,否则。。。
3.将struts的包引入工程的同时也要将所有的jar拷贝到WEB-INF/lib目录下,所以最好就是先copy然后将WEB-INF/lib下面的引入工程就好了。
下面两张图很好的说明了引入的jar是否存在WEB-INF/lib下面。
错误的引入,jar没有保存到WEB-INF/lib下面
正确的引入
4.如果以上问如果以上问题都解决完了,还是提示缺少某些jar包的话可以考虑查看Tomcat的classpath,那些缺少的jar包放到里面去:在Eclipes的servers view 中双击Tomcat->Open launch configuration 进入Edit configuration 界面,然后增加tomcat启动加载的jar包。这样tomcat每次启动都会自动加载这些jar,当然此方法利弊参半,请慎重考虑。
5.
看到此问题,我首先想到了Google,结果告诉我缺少包,可是我的包已经全了啊,感觉不对,回来继续看日志,往下一下,豁然开朗(见红色部分),原来配置文件拼写错误,唉。
三个晚上了,算是没白忙活,我的struts2Demo终于跑起来了,哈哈,感谢各位出主意的朋友们,辛苦了。凌晨2:30了,唉,时间过的真快。
就Exception starting filter struts2
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher问题,我发的求助帖,地址如下:
http://www.iteye.com/problems/56930
http://topic.csdn.net/u/20110107/09/de70e689-8af1-46fa-95b8-921232ff2829.html
最后,附上工程创建过程截图及源码,以做纪念
Eclipse:
Eclipse Java EE IDE for Web Developers.
Version: Helios Service Release 1
Build id: 20100917-0705
Tomcat:
apache-tomcat-6.0.16
Struts:
struts-2.2.1.1
2011-1-6 0:04:30 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Struts2Demo' did not find a matching property. 2011-1-6 0:04:30 org.apache.catalina.core.AprLifecycleListener init 信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_02\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jdk1.6.0_02/bin/../jre/bin/client;C:/Program Files/Java/jdk1.6.0_02/bin/../jre/bin;C:/Program Files/Java/jdk1.6.0_02/bin/../jre/lib/i386;C:\Program Files\PC Connectivity Solution\;C:\Program Files\Java\jdk1.6.0_02\bin;C:\Program Files\Java\jre1.6.0_02;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\EmEditor;C:\Program Files\TortoiseSVN\bin 2011-1-6 0:04:30 org.apache.coyote.http11.Http11Protocol init 信息: Initializing Coyote HTTP/1.1 on http-8080 2011-1-6 0:04:30 org.apache.catalina.startup.Catalina load 信息: Initialization processed in 759 ms 2011-1-6 0:04:30 org.apache.catalina.core.StandardService start 信息: Starting service Catalina 2011-1-6 0:04:30 org.apache.catalina.core.StandardEngine start 信息: Starting Servlet Engine: Apache Tomcat/6.0.16 2011-1-6 0:04:30 org.apache.catalina.core.StandardContext filterStart 严重: Exception starting filter struts2 java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249) 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:4356) 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) 2011-1-6 0:04:30 org.apache.catalina.core.StandardContext start 严重: Error filterStart 2011-1-6 0:04:30 org.apache.catalina.core.StandardContext start 严重: Context [/Struts2Demo] startup failed due to previous errors 2011-1-6 0:04:30 org.apache.coyote.http11.Http11Protocol start 信息: Starting Coyote HTTP/1.1 on http-8080 2011-1-6 0:04:30 org.apache.jk.common.ChannelSocket init 信息: JK: ajp13 listening on /0.0.0.0:8009 2011-1-6 0:04:30 org.apache.jk.server.JkMain start 信息: Jk running ID=0 time=0/31 config=null 2011-1-6 0:04:30 org.apache.catalina.startup.Catalina start 信息: Server startup in 622 ms
1.初次尝试产生以上这个问题,很明显,就是jar包没有导入完整,但是到底缺那些呢?这个可以将strtus自带的war放到tomcat下面去运行,看哪个可以
正常运行,就将那个包下面的jar全部拷贝过来就可以了,哈哈。只多不少,然后再尝试着删就可以了
网上的所谓攻略经常忽略javassist这个jar包,他不存在于lib下,而存在于app下的某个war中。
2.想要判断包名org.apache.struts2.dispatcher.FilterDispatcher是否拼写正确,可以在.java文件中import一下,
如果拼写正确自然不会报错,否则。。。
3.将struts的包引入工程的同时也要将所有的jar拷贝到WEB-INF/lib目录下,所以最好就是先copy然后将WEB-INF/lib下面的引入工程就好了。
下面两张图很好的说明了引入的jar是否存在WEB-INF/lib下面。
错误的引入,jar没有保存到WEB-INF/lib下面
正确的引入
4.如果以上问如果以上问题都解决完了,还是提示缺少某些jar包的话可以考虑查看Tomcat的classpath,那些缺少的jar包放到里面去:在Eclipes的servers view 中双击Tomcat->Open launch configuration 进入Edit configuration 界面,然后增加tomcat启动加载的jar包。这样tomcat每次启动都会自动加载这些jar,当然此方法利弊参半,请慎重考虑。
5.
严重: Dispatcher initialization failed Unable to load configuration. - action - file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/StrutsDemo/WEB-INF/classes/struts.xml:8:69
看到此问题,我首先想到了Google,结果告诉我缺少包,可是我的包已经全了啊,感觉不对,回来继续看日志,往下一下,豁然开朗(见红色部分),原来配置文件拼写错误,唉。
2011-1-8 2:27:58 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:StrutsDemo' did not find a matching property. 2011-1-8 2:27:58 org.apache.catalina.core.AprLifecycleListener init 信息: Loaded APR based Apache Tomcat Native library 1.1.20. 2011-1-8 2:27:58 org.apache.catalina.core.AprLifecycleListener init 信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 2011-1-8 2:27:58 org.apache.coyote.http11.Http11AprProtocol init 信息: Initializing Coyote HTTP/1.1 on http-8080 2011-1-8 2:27:58 org.apache.coyote.ajp.AjpAprProtocol init 信息: Initializing Coyote AJP/1.3 on ajp-8009 2011-1-8 2:27:58 org.apache.catalina.startup.Catalina load 信息: Initialization processed in 933 ms 2011-1-8 2:27:58 org.apache.catalina.core.StandardService start 信息: Starting service Catalina 2011-1-8 2:27:58 org.apache.catalina.core.StandardEngine start 信息: Starting Servlet Engine: Apache Tomcat/6.0.16 2011-1-8 2:27:59 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info 信息: Parsing configuration file [struts-default.xml] 2011-1-8 2:27:59 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info 信息: Unable to locate configuration files of the name struts-plugin.xml, skipping 2011-1-8 2:27:59 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info 信息: Parsing configuration file [struts-plugin.xml] 2011-1-8 2:27:59 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info 信息: Parsing configuration file [struts.xml] 2011-1-8 2:28:00 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error 严重: Dispatcher initialization failed Unable to load configuration. - action - file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/StrutsDemo/WEB-INF/classes/struts.xml:8:69 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415) 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:4356) 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) [color=red]Caused by: Action class [com.home.lgsun.Action.TestActon] not found[/color] - action - file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/StrutsDemo/WEB-INF/classes/struts.xml:8:69 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:420) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:365) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:479) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:275) at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) ... 21 more 2011-1-8 2:28:00 org.apache.catalina.core.StandardContext filterStart 严重: Exception starting filter struts2 Unable to load configuration. - action - file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/StrutsDemo/WEB-INF/classes/struts.xml:8:69 at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:428) 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:4356) 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 configuration. - action - file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/StrutsDemo/WEB-INF/classes/struts.xml:8:69 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415) ... 19 more Caused by: Action class [com.home.lgsun.Action.TestActon] not found - action - file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/StrutsDemo/WEB-INF/classes/struts.xml:8:69 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:420) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:365) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:479) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:275) at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) ... 21 more 2011-1-8 2:28:00 org.apache.catalina.core.StandardContext start 严重: Error filterStart 2011-1-8 2:28:00 org.apache.catalina.core.StandardContext start 严重: Context [/StrutsDemo] startup failed due to previous errors 2011-1-8 2:28:00 org.apache.coyote.http11.Http11AprProtocol start 信息: Starting Coyote HTTP/1.1 on http-8080 2011-1-8 2:28:00 org.apache.coyote.ajp.AjpAprProtocol start 信息: Starting Coyote AJP/1.3 on ajp-8009 2011-1-8 2:28:00 org.apache.catalina.startup.Catalina start 信息: Server startup in 2195 ms
三个晚上了,算是没白忙活,我的struts2Demo终于跑起来了,哈哈,感谢各位出主意的朋友们,辛苦了。凌晨2:30了,唉,时间过的真快。
就Exception starting filter struts2
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher问题,我发的求助帖,地址如下:
http://www.iteye.com/problems/56930
http://topic.csdn.net/u/20110107/09/de70e689-8af1-46fa-95b8-921232ff2829.html
最后,附上工程创建过程截图及源码,以做纪念
相关推荐
在没有使用任何集成开发环境的情况下配置Struts2,可能会遇到各种问题,尤其是在配置过程中对于细节的把握至关重要。以下是配置过程中需要注意的一些关键点: 1. **路径与大小写敏感性**:无论是Tomcat的地址路径...
在开始使用Struts2之前,我们需要先进行环境配置。以下将详细介绍Struts2的初始使用环境配置步骤。 首先,确保你已经安装了Java Development Kit (JDK)。JDK是开发Java应用的基础,你需要至少JDK 1.6或以上版本来...
在MyEclipse中配置Struts2环境的第一步是导入Struts2所需的jar包。以下是必须的核心jar包列表: - **commons-logging-1.0.4.jar**:用于日志记录。 - **freemarker-2.3.8.jar**:提供模板引擎功能,用于生成动态...
本篇将详细介绍如何在Eclipse中配置Struts2环境。 首先,我们需要确保已经安装了Eclipse IDE,并且安装了JDK以及Tomcat服务器,这些都是Java Web开发的基础。接着,我们将进行以下步骤来配置Struts2: 1. **添加...
2. **插件库**:Struts2提供了一系列插件,如`struts2-convention-plugin.jar`(用于自动配置)和`struts2-dojo-plugin.jar`(提供dojo相关的UI组件)。这些插件可以按需选择并添加到lib目录。 3. **依赖的第三方库...
配置Struts2开发环境是开始使用该框架的第一步。本章将详细介绍如何利用Java EE应用服务器Glassfish和Java开发工具Eclipse搭建Struts2的开发环境。 首先,我们需要安装JDK,它是Java开发的基础。JDK(Java ...
struts2环境配置详细过程,源于网上的资源,自己总结起来
Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展、模块化且易于管理的企业级应用程序。在当今网络安全日益重要的环境下,使用HTTPS协议来确保数据传输的安全性变得至关重要。Struts2支持HTTPS配置,可以...
在本教程中,我们将深入探讨Struts2的基础知识,包括环境配置、OGNL(Object-Graph Navigation Language)以及值栈和域的概念。 首先,让我们开始介绍如何配置Struts2环境。安装Struts2需要以下步骤: 1. **添加...
对于国际化支持,Struts2提供了一种机制来处理不同语言环境下的消息。我们可以创建资源文件,如`message.properties`和`message_zh_CN.properties`,然后在Action中使用`getText`方法获取对应的语言消息。 最后,...
总结一下,当遇到Struts2配置文件位置更改问题时,应遵循以下步骤: 1. 确保新的`struts.xml`文件路径是相对于`WEB-INF/classes`目录的。 2. 更新`web.xml`中的`StrutsPrepareAndExecuteFilter`过滤器配置,通过`...
本教程将详细解释如何配置Struts2环境,以及解决在配置过程中可能遇到的问题。 **一、Struts2环境配置步骤** 1. **安装JDK**:首先确保已安装Java Development Kit (JDK),因为Struts2是基于Java的。检查`java -...
本教程将详细讲解如何在Myeclipse集成开发环境中配置Struts2.0,同时结合JDK1.6和Tomcat6.0服务器来创建一个完整的开发环境。 首先,确保你已经安装了JDK1.6。Java Development Kit (JDK) 是开发和运行Java应用程序...
配置struts2 - 风轻云淡 配置struts2 - 风轻云淡
本视频教程由传智播客提供,旨在帮助初学者理解Struts2的基础概念,并指导如何搭建Struts2的开发环境。 首先,我们要了解Struts2的核心概念。Struts2是一个基于MVC(Model-View-Controller)设计模式的框架,它的...