大侠请进 求求小弟 一个问题搞不定了 struts-2.2.1.1 最新版的问题

问题描述

严重:Exceptionstartingfilterstruts2java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.FilterDispatcheratorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1493)atorg.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:269)atorg.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)atorg.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)atorg.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4038)atorg.apache.catalina.core.StandardContext.start(StandardContext.java:4692)atorg.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)atorg.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)atorg.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)atorg.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)atorg.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)atorg.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)atorg.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)atorg.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)atorg.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)atorg.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)atorg.apache.catalina.core.StandardHost.start(StandardHost.java:785)atorg.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)atorg.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)atorg.apache.catalina.core.StandardService.start(StandardService.java:525)atorg.apache.catalina.core.StandardServer.start(StandardServer.java:701)atorg.apache.catalina.startup.Catalina.start(Catalina.java:585)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:585)atorg.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)atorg.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)2011-3-1818:19:58org.apache.catalina.core.StandardContextstart严重:ErrorfilterStart2011-3-1818:19:58org.apache.catalina.core.StandardContextstart严重:Context[/struts2]startupfailedduetopreviouserrors2011-3-1818:19:58org.apache.coyote.http11.Http11Protocolstart信息:StartingCoyoteHTTP/1.1onhttp-80802011-3-1818:19:58org.apache.jk.common.ChannelSocketinit信息:JK:ajp13listeningon/0.0.0.0:80092011-3-1818:19:58org.apache.jk.server.JkMainstart信息:JkrunningID=0time=0/31config=null2011-3-1818:19:58org.apache.catalina.startup.Catalinastart信息:Serverstartupin4595ms我用myeclipse8.5M1struts-2.2.1.1的版本老是启动tomcat-6.0.30的时候控制台报错大侠给指导一下web.xml代码是:<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="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/javaeehttp://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></web-app>-------------------------struts.xml代码是:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><packagename="struts2"extends="struts-default"><actionname="login"class="com.test.struts2.LoginAction"><resultname="success"></result></action></package></struts>----------------------引入的包:commons-logging-1.0.4.jarxwork-core-2.2.1.1.jarstruts2-core-2.2.1.1.jarognl-3.0.jarfreemarker-2.3.16.jarcommons-io-1.3.2.jarcommons-fileupload-1.2.1.jarjavassist-3.7.ga.jar

解决方案

解决方案二:
你配置的FilterDispatcher类在哪?
解决方案三:
你找找你的jar中是否有org.apache.struts2.dispatcher.FilterDispatcher还它在哪里使用了找不到
解决方案四:
2.5之前的版本应该这么配吧<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter>

解决方案五:
+1引用3楼prince_java的回复:

2.5之前的版本应该这么配吧XMLcode<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>……

解决方案六:
2。之后的版本好像可以用org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter这个作为过滤器类吧
解决方案七:
org.apache.struts2.dispatcher.FilterDispatcher这是struts2.2的核心拦截器!而你配置的确是这个org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter,改过来试试看!struts2-core-2.2.1.1.jar这个包里面两个拦截器都有,为什么使用第一个,而不是使用第二个,我目前还在研究中。。。。
解决方案八:
在网上找到的区别。FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.!StrutsPrepareAndExecuteFilter是自2.1.3开始就替代了FilterDispatcher的.!这样的改革当然是有好处的.!为什么这么说.?应该知道如果我们自己定义过滤器的话,是要放在strtus2的过滤器之前的,如果放在struts2过滤器之后,你自己的过滤器对action的过滤作用就废了,不会有效!除非你是访问jsp/html!那我现在有需求,我必须使用Action的环境,而又想在执行action之前拿filter做一些事,用FilterDispatcher是做不到的.!那么StrutsPrepareAndExecuteFilter可以把他拆分成StrutsPrepareFilter和StrutsExecuteFilter,可以在这两个过滤器之间加上我们自己的过滤器.!给你打个比喻,现在有病人要做手术,现在struts2要做两件事,搭病床(环境),执行手术.!那么打麻药的工作呢.?不可能要病人站着打吧,所以必须有病床的环境,打完麻药之后再动手术.!这个比喻非常形象了.!本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/s_ongfei/archive/2010/08/13/5811070.aspx
解决方案九:
别人的源代码分析packageorg.apache.struts2.dispatcher.ng.filter;importorg.apache.struts2.StrutsStatics;importorg.apache.struts2.dispatcher.Dispatcher;importorg.apache.struts2.dispatcher.ng.PrepareOperations;importorg.apache.struts2.dispatcher.ng.ExecuteOperations;importorg.apache.struts2.dispatcher.ng.InitOperations;importorg.apache.struts2.dispatcher.mapper.ActionMapping;importjavax.servlet.*;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;/***HandlesboththepreparationandexecutionphasesoftheStrutsdispatchingprocess.Thisfilterisbettertouse*whenyoudon'thaveanotherfilterthatneedsaccesstoactioncontextinformation,suchasSitemesh.*/publicclassStrutsPrepareAndExecuteFilterimplementsStrutsStatics,Filter{privatePrepareOperationsprepare;privateExecuteOperationsexecute;//初始化过滤器publicvoidinit(FilterConfigfilterConfig)throwsServletException{InitOperationsinit=newInitOperations();//初始化辅助对象,封装了初始化的一些操作try{FilterHostConfigconfig=newFilterHostConfig(filterConfig);//对filterConfig进行封装init.initLogging(config);//通过config,初始化内部Struts的记录Dispatcherdispatcher=init.initDispatcher(config);//通过config,创建并初始化dispatcherinit.initStaticContentLoader(config,dispatcher);//通过config和dispatcher,初始化与过滤器相关的静态内容加载器prepare=newPrepareOperations(filterConfig.getServletContext(),dispatcher);//通过config和dispatcher,创建request被处理前的系列操作对象execute=newExecuteOperations(filterConfig.getServletContext(),dispatcher);//通过config和dispatcher,创建处理request的系列操作对象}finally{init.cleanup();//清空ActionContext}}publicvoiddoFilter(ServletRequestreq,ServletResponseres,FilterChainchain)throwsIOException,ServletException{HttpServletRequestrequest=(HttpServletRequest)req;HttpServletResponseresponse=(HttpServletResponse)res;try{prepare.createActionContext(request,response);//创建ACTIONCONTEXT,并初始化Theadlocalprepare.assignDispatcherToThread();//指派dispatcher给Theadlocalprepare.setEncodingAndLocale(request,response);//设置request的编码和LOCALrequest=prepare.wrapRequest(request);//封装requestActionMappingmapping=prepare.findActionMapping(request,response);//查找并选择创建ActionMappingif(mapping==null){//如果映射不存在booleanhandled=execute.executeStaticResourceRequest(request,response);//试图执行一个静态资源的请求if(!handled){chain.doFilter(request,response);}}else{//如果存在映射execute.executeAction(request,response,mapping);//执行action}}finally{prepare.cleanupRequest(request);//清除request的Threadlocal}}publicvoiddestroy(){prepare.cleanupDispatcher();}}
解决方案十:
肯定错误啊!应该这样配置!web.xml代码是:<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="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/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/classes/applicationContext.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><filter><filter-name>struts</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>
解决方案十一:
<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter>不是这个吧
解决方案十二:
web.xml头换成<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="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/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

时间: 2024-08-01 15:22:24

大侠请进 求求小弟 一个问题搞不定了 struts-2.2.1.1 最新版的问题的相关文章

最近在写用java se写一个纸牌游戏,遇到问题,大侠请进

问题描述 我写了个类似斗地主的纸牌游戏UNO,网络版来的.但是现在遇见问题了.我用Object流进行客户端与服务端的信息交流.现在问题是如何初始化玩家座位,每个客户端的界面肯定是不一样的,我每次出牌都会发一个玩家的所有信息给服务端,服务端在分发给每个客户端.客户端收到信息后进行规则判断,如后进行下步的操作..或者大侠有没有更好的办法,第一次写网络版的纸牌游戏.或许大侠给个更好的思路,小弟拜谢.如果可以加小弟Q:531767256指点小弟 解决方案 解决方案二:乱啊...找个别人写的看看吧如htt

SOS,大神们请进,求助一个关于串口(USB转)的棘手问题

问题描述 这段时间在写一个串口程序,主要用于和设备进行通信,实现对设备状态的监测和控制.虽然软件编写是以串口的形式,但是设备是以USB形式连接到电脑的,USB接口一插接到电脑后,就映射成了一个COM口(也就是说在设备内部有个USB接口转串口的芯片,第一次连接电脑还要装驱动程序),所以写程序的时候完全不用管USB的事,使用串口的套路就行了.(本人电脑中已经有com1.com3口,所以映射成了com4口)软件做得差不多了,监测和控制的功能也完全能实现,但是突然发现有这么个问题,搞了很久也没有搞定!!

关于VB.net控件随窗体自动变化的CODE的问题?大侠请进,多谢了。

问题描述 在网上搜索了VB6窗体中控件自动随窗体变化大小(源码)的列子,这段代码是很专业的模块,但是将它放入VB.net中确不行了,提示FormName不是集合类型?我虽然知道可以用DOCK,ANCHOR等属性来调整相应的控件,但是这段代码确真的很有用处,想弄懂它,为什么FormName不是集合类型,会出现这样的错误呢?需要将它改成什么呢?请查看代码(标红色字体为出错代码)ModuleModule1PrivateFormOldWidthAsLong'保存窗体的原始宽度PrivateFormOld

Eclipse中如何添加库?大侠请进

问题描述 我把一个随书光盘里的项目用Eclipse打开,运行时提示缺少本书类库,("本书类库"应该是一个库的名字,我觉得)我在随书光盘里找到了"本书类库文件夹",里面有bin(空的)src(空的)lib(有jar文件)还有个.classpath文件和.project文件.我曾尝试着在窗口->首选项->构建路径中添加用户库,并命名为"本书类库"然后在项目明上右键->构建路径->在库选项中添加"本书类库",

像word那样的文字排版算法...各位大侠请进

问题描述 像word那样的文字排版算法例如:1.英文单词在换行时不会中间断开2.标点符号不能排在行的首个字符3.按用户输入文章宽度,文章自动变换每行字数等基本功能我想把它封装成以个控件...请各位能人帮帮忙 解决方案 解决方案二:你已经有很清晰的思路了接下来就是一步一步实现它,没做过这个,但有了想法,应该还是可以实现的解决方案三:GUI下?解决方案四://排版帧结构typedefstructtagEB_TSFRAME//TS是排版typeset的意思{unsignedintbTypeset;//

真心求教关于自动化Web请求的开发问题,类似于开发一个12306桌面抢票软件,具体请进呢

问题描述 真心求教关于自动化Web请求的开发问题,类似于开发一个12306桌面抢票软件,具体请进呢 Web开发确实是博大精深,因为目前个人是开发手游,因为某些原因需要暂时做这么一个东西,但时间的问题不太允许我深入的研究Web开发,所以特来求教各位大神,我需要做的这个东西和之前一直流传的12306桌面抢票软件很像.就是根据某些网站写一个外挂软件,让一些需要手动完成的操作,代码来自动完成. 刚开始我以为Web请求一般都用一个拼接好的url直接访问,然后获得一些数据,接着再处理这些数据就好了.但事实证

js-真心求教一个问题,关于编写web的外挂工具app或者桌面程序,具体请进,真心谢谢了

问题描述 真心求教一个问题,关于编写web的外挂工具app或者桌面程序,具体请进,真心谢谢了 我编写的过程中遇到一些疑惑不知道如何解决,所以特来真心求教,万望解惑,如果有描述不对或者很low,请谅解. 一个最具体的例子:像前两年12306抢票只能用网页来抢,没有app或者桌面程序,很多朋友都根据12306网站编写了外挂app或者桌面程序,避免老得打开个浏览器. 目前我也想做类似的事情,根据某个http的Web网站写个外挂app或者程序,作为一个程序员,我大致也知道大致的流程是:拼接url->发起

求大神解答-刚进公司,一个问题看了好久请大神帮忙看看。。。。

问题描述 刚进公司,一个问题看了好久请大神帮忙看看.... The type javax.servlet.http.HttpServletResponse cannot be resolved. It is indirectly referenced from required .class files WebContext.java /cofcoWeb_subStation/src/net/xinshi/web line 1 Java Problem 解决方案 先查看 所有的jar 是否完整,

c++-请进!!如何用VC实现一个简单的语音聊天程序(C++)

问题描述 请进!!如何用VC实现一个简单的语音聊天程序(C++) 请问各位大神 如何实现一个简单的 语音聊天程序,需要用到哪些库,YY插件太多了,感觉开着YY太占内存和CPU了: 解决方案 http://download.csdn.net/detail/liuhuanxia84/2189833 解决方案二: http://download.csdn.net/detail/chen345/2834856 解决方案三: 一个简单的时钟程序<VC实现>