信息: Parsing configuration file [struts.xml]
2011-9-17 17:39:59 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
严重: Dispatcher initialization failed
com.opensymphony.xwork2.inject.DependencyException: com.opensymphony.xwork2.inject.ContainerImpl$Mis
singDependencyException: No mapping found for dependency [type=com.opensymphony.xwork2.ObjectFactory
, name='default'] in public void com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.s
etObjectFactory(com.opensymphony.xwork2.ObjectFactory).
at com.opensymphony.xwork2.inject.ContainerImpl.addInjectorsForMembers(ContainerImpl.java:144)
at com.opensymphony.xwork2.inject.ContainerImpl.addInjectorsForMethods(ContainerImpl.java:113)
at com.opensymphony.xwork2.inject.ContainerImpl.addInjectors(ContainerImpl.java:90)
at com.opensymphony.xwork2.inject.ContainerImpl.addInjectors(ContainerImpl.java:86)
at com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:71)
at com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:67)
at com.opensymphony.xwork2.inject.util.ReferenceCache$CallableCreate.call(ReferenceCache.java:150)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at com.opensymphony.xwork2.inject.util.ReferenceCache.internalCreate(ReferenceCache.java:76)
at com.opensymphony.xwork2.inject.util.ReferenceCache.get(ReferenceCache.java:116)
at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:483)
at com.opensymphony.xwork2.inject.ContainerImpl$6.call(ContainerImpl.java:523)
at com.opensymphony.xwork2.inject.ContainerImpl$6.call(ContainerImpl.java:521)
at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574)
at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:521)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.ja
va:203)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:6
6)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:380)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:424)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecu
teFilter.java:51)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4542)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5220)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5215)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException: No mapping found
for dependency [type=com.opensymphony.xwork2.ObjectFactory, name='default'] in public void com.open
symphony.xwork2.config.providers.XmlConfigurationProvider.setObjectFactory(com.opensymphony.xwork2.O
bjectFactory).
今天,在整struts2.2的项目时,启动时,出现以上错误。
查看web.xml文件,发现s2的配置如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts.xml</param-value>
</init-param>
</filter>
研究了下,发现是param-name的应用文件时出现错,这样应用文件时,找不到strugs.xml文件。
于是乎,
解决办法一:
将
<init-param>
<param-name>config</param-name>
<param-value>classpath:struts.xml</param-value>
</init-param>
这段code注释掉,(注:struts.xml文件本身就在项目的源文件的根目录下)
再次启动项目:运行通过!
解决办法二:
将init-param代码块改为如下代码:
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value>
</init-param>
再次启动项目:运行通过!
法二的原因:
struts-default.xml,struts-plugin.xml 系统默认必需加上,后面写自己的struts.xml
位置 是从 WEB-INF 的 classes 开始计算
struts.xml 的路径为 WEB-INF/class/struts.xml
struts-default.xml文件位置 不用动 , 不需要 放在WEB-INF/class/中
分享到:
相关推荐
在本文中,我们将深入探讨Struts2版本2.1.6中的核心jar包以及如何调整`web.xml`配置文件以实现正确部署。 首先,Struts2的核心jar包是框架运行的基础,它们提供了Action映射、拦截器、结果类型和其他关键功能。对于...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它简化了开发过程,提供了强大的表单验证、国际化、动态方法调用等功能。 1. **MVC设计模式**:MVC模式是软件工程中常用的设计模式...
Struts2是一个非常著名的开源MVC(Model-View-Controller)框架,用于构建基于Java的Web应用程序。这个压缩包“struts2-core-lib.rar”包含了Struts2框架的核心库文件,是开发和运行Struts2应用的基础。让我们深入...
plexus-sec-dispatcher-1.3.jar
- Struts 1.x的主要组件包括ActionForm、Action、Dispatcher(现在称为Servlet Filter)、配置文件(struts-config.xml)等。它的MVC模式帮助分离业务逻辑和视图层,简化了Web应用的开发。 这三者组合在一起,可能...
2. **添加过滤器**:在web.xml中配置`FilterDispatcher`(对于较旧的Struts2版本)或`StrutsPrepareAndExecuteFilter`(对于新版本),并设置`struts.multipart.parser`属性为`jakarta`,以启用Jakarta Commons ...
在Spring的配置文件中(如`dispatcher-servlet.xml`),添加以下配置: ```xml <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <bean class="org.spring...
有关struts2下载组件的具体介绍我就在此略过了,看此文的同志想必大多是碰到这样让人很是不爽的问题。 下面就将该问题的最终解决办法介绍...-- 添加如下内容 --> <result-types> <result-type name="streamx" class=...
Struts2是一个非常著名的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,用于构建高效、可扩展且易于维护的企业级应用程序。Struts2-api-2.0.5.jar是该框架的一个特定版本的API库,包含了Struts2的...
离线安装包,亲测可用
Struts 2是Java Web开发中的一个开源框架,主要用于构建MVC(Model-View-Controller)架构的应用程序。它的核心是Action,一个处理用户请求并返回结果的组件。Struts 2提供了强大的拦截器机制,可以对请求进行预处理...
为了设置Struts2环境,开发者需要在web.xml中配置Struts2的前端控制器Filter,比如`<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>`。然后,创建Action类、...
2. **org/apache/struts2**:Struts2的代码库,包含了与Struts2特定功能相关的类和接口,如Dispatcher、ActionContext、Tiles插件等。 3. **src/test**:测试代码,可以帮助我们了解如何测试Struts2的功能和组件。 4...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责应用程序的不同层面:Struts2处理MVC模式中的视图和控制器,Spring提供依赖注入(DI)和面向切面编程(AOP),而Hibernate则负责对象关系映射...
最近温习ssh2整合编程,顺便浏览下struts2有什么更新的消息,下载了新版本的struts2的2.1.8.1版,使用的是MyEclipse8.0开发,但是问题就随之而来了。MyEclipse8.0中自带的struts2版本是2.1.6,spring版本有2.0,2.5...
Struts 2的配置文件主要包括`struts.xml`,它是整个应用程序的配置中心,定义了Action、拦截器、结果类型等。此外,还可以使用package元素来组织配置,实现模块化管理。 6. **表达式语言(Expression Language, EL...
stuts2项目启动tomcat报错:Error configuring application listener of class org.apache.struts2.dispatcher.ng.listener.StrutsListener,缺少的是这个javassist-3.11.0.GA.jar
Struts2是一个强大的Java web应用程序框架,用于构建和部署企业级的MVC(Model-View-Controller)应用。它的核心是Action和Result,提供了一种组织业务逻辑和表现层的结构化方式。2.2.1是Struts2的一个版本,它在前...
2. **配置文件**:Struts2使用XML配置文件(struts.xml)来定义Action类、结果视图和拦截器链。配置文件中可以定义Action的命名空间、方法映射、结果类型等,这为应用提供了高度的灵活性。 3. **拦截器**:Struts2...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装