Servlet Dispatcher 抛出异常

Posted

技术标签:

【中文标题】Servlet Dispatcher 抛出异常【英文标题】:Servlet Dispatcher throwing exception 【发布时间】:2010-02-14 07:20:33 【问题描述】:

我创建了一个简单的 Spring Web 流应用程序。当应用程序启动时,我的 Tomcat 服务器上出现以下错误:

严重:Servlet 调度程序的 Servlet.service() 引发异常 java.lang.NoSuchFieldError: WEB_APPLICATION_CONTEXT_ATTRIBUTE 在 org.springframework.webflow.mvc.servlet.ServletMvcView.doRender(ServletMvcView.java:48) 在 org.springframework.webflow.mvc.view.AbstractMvcView.render(AbstractMvcView.java:180) 在 org.springframework.webflow.engine.ViewState.render(ViewState.java:282) 在 org.springframework.webflow.engine.ViewState.refresh(ViewState.java:241) 在 org.springframework.webflow.engine.ViewState.resume(ViewState.java:219) 在 org.springframework.webflow.engine.Flow.resume(Flow.java:545) 在 org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259) 在 org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:163) 在 org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183) 在 org.springframework.webflow.mvc.servlet.FlowController.handleRequest(FlowController.java:174) 在 org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:874) 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:808) 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476) 在 org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)

我正在使用 Spring 2.5.6,Spring web flow 2.0.8 和 Tomcat 6.0.20...

知道为什么WEB_APPLICATION_CONTEXT_ATTRIBUTE 字段不可用吗?如何解决此错误?

【问题讨论】:

你有所有需要的罐子吗? 是的..我有所有的 jars - spring、mvc 和 spring web flow jars...我实际上将一个 spring MVC 应用程序修改为 Spring web flow 应用程序 【参考方案1】:

您的 Spring JAR 版本仍然存在与 Spring Web flow configuration error 中相同的问题

RequestContext.WEB_APPLICATION_CONTEXT_ATTRIBUTE 不存在于 Spring 2.0 中,仅存在于 2.5.6 及更高版本中。

【讨论】:

完全正确.. 我使用的是 Spring 2.5.6 和 web flow 2.0.8.. 我不明白为什么会出现这个错误!!!? 因为在您的应用程序的某个地方,您有一份 Spring 2.0 的副本,并且首先加载。

以上是关于Servlet Dispatcher 抛出异常的主要内容,如果未能解决你的问题,请参考以下文章

java写的excel导出时抛出的异常

如何防止后台线程抛出的异常让程序崩溃退出

解决httpclient抛出URISyntaxException异常

Flux 抛出 Dispatcher 不是构造函数

UI 元素添加到控件集合时抛出异常

java web的servlet能正常访问,但是reload就抛出下面的异常:说啥没有关闭啥连