struts配置文件修改路径报错

今天在整合spring+struts时,把struts2的配置文件放到src/config/struts/struts.xml,启动项目老是报错!web下struts拦截器配置如下:

<!-- 定义Struts2的核心Filter -->

<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>config/struts/struts.xml</param-value>

</init-param>

</filter>

<!-- 让Struts2的核心Filter拦截所有请求 -->

<filter-mapping>

<filter-name>struts2</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

运行时老是出错,整了一天才整出来。eclipse错误如下:

com.opensymphony.xwork2.inject.DependencyException: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException: No mapping found for dependency [type=com.opensymphony.xwork2.ObjectFactory, name=‘default‘] in public void com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.setObjectFactory(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.run(FutureTask.java:262)

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)

可能是应为无法struts-default.xml而报错!

修改方案有两种:

方案1、在struts2.xml中添加一下内容:

<include file="struts-default.xml" />

方案2、修改struts拦截器在web下的配置,如下:

<!-- 定义Struts2的核心Filter -->

<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-default.xml,config/struts/struts.xml</param-value>

</init-param>

</filter>

<!-- 让Struts2的核心Filter拦截所有请求 -->

<filter-mapping>

<filter-name>struts2</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

时间: 2024-08-01 22:35:19

struts配置文件修改路径报错的相关文章

Vboxmanage修改uuid报错的解决办法

我的环境: Virtualbox 4.3.10 r93012 操作系统:win7 问题:Virtualbox在使用拷贝的虚拟盘时会提示uuid冲突: Because a hard disk with uuid '' already exists. 按照网上的说法,运行VBoxManage修改uuid报错: D:\Program Files\Oracle\VirtualBox>VBoxManage  internalcommands sethduuid D:\vm\ rac1\model.vdi

struts2jsp里&lt;struts:head theme:&quot;ajax&quot;&gt;报错

按java web王者归来做strut2练习使用<struts:head theme:"ajax">报错 org.apache.jasper.JasperException: Template /template/ajax/head.ftl not found 加入struts2-dojo-plugin-2.1.6包 并在jsp里引入<%@ taglib prefix="sx" uri="/struts-dojo-tags"%&

新手迷惑:复制文件路径报错java.io.FileNotFoundException

? 被这个问题搞了很久,可能是太基本了,所以很多人都解决不了,自己找了很多网页,都讲得太高深了,解决不了问题.于是乎,自己捯饬了很久,才能清楚这个简单.很简单的问题.还是记录一下,好记性不如烂笔头,方便后来人! ? 问题:复制文件路径报错java.io.FileNotFoundException: (文件名.目录名或卷标语法不正确.) ? 方法就是:复制路径之后,把最前面的空格去掉就是了,加上双引号.. ? ? ? ? ? ? ? ? ? 很基本吧,但是没人告诉你,就有可能自己摸索很久,哎,小问

pod导入融云路径报错解决办法

build Settings中搜索sear Search Patchs下点开Library Search Paths 将$(inherited)"$(SRCROOT)/Pods"分开来写 第一行$(inherited) 第二行"$(SRCROOT)/Pods" 这样可以解决路径报错的问题.希望对各位有所帮助

shutil.copytree拷贝目录到cifs格式路径报错临时解决办法

shutil.copytree拷贝目录到cifs格式路径报错临时解决办法: 报错原因: 我理解是因为不能保留cifs路径的目录原时间戳(提示权限拒绝),非cifs格式路径不存在该问题 临时解决办法: 通过os.system调用另1个shell脚本(rsync拷贝目录)解决,rsync也是报权限拒绝,不过区别是rsync不影响脚本继续进行(shutil.copytree是直接报错终止) 原文地址:http://blog.51cto.com/yangzhiming/2135844

招标行修改保存报错

拟定洽谈界面修改时候报错: 您正在尝试访问不再有效的页面.- 引用的页面可能来自上一会话.请选择 主页 以继续. You are trying to access a page that is no longer active.- The referring page may have come from a previous session. Please select Home to proceed. 原因:招标行界面物料说明中含有换行符 SELECT t.item_description

linux系统中修改密码报错的问题

1.mysql密码报错的原因 报错信息 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 原因:原来MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格.使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置. 解决:1.该问题其实与mysql的validate_password_policy的值有关. 2

配置Struts.xml DTD文件报错

报错信息为: The content of element type "struts" must match "((package|include|bean|  constant)*,unknown-handler-stack?)" 先来说说Struts框架的使用.1,下载Struts开发包:2,将需要的jar包导入到项目中 http://archive.apache.org/dist/struts/source/      struts源码包下载地址 http:/

PostgreSQL 修改列报错:cannot be cast automatically to type integer

如果你直接使用可视化工具修改一个varchar字段为int类型的时候,可能会报错, 这里就需要自己去写一个语句去修改了 调整执行语句:ALTER TABLE table_name ALTER COLUMN column_name TYPE integer USING(column_name::integer); 这样的话,修改就可以正常的修改了.