最近写SSH2的项目时,遇到一些小问题,action得不到service实例,遂将struct2委托给spring进行管理,然后修改了bean的id和action的class,但是运行后发现找不到action.
报了这个错误
Unable to instantiate Action, roomtypeAction, defined for 'roomtypeAction' in namespace '/'roomtypeAction
上网找了好久才发现原来原因是这个:
找不到 applicationContext.xml 中 bean id="xxxxx"
解决办法:
首先确认下 applicationContext.xml 文件存放路径
如果 applicationContext.xml 存入在 src 目录下 , 请在 web.xml 中添加如下配置:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext*.xml,classpath*:/context/applicationContext*.xml</param-value> </context-param>
如果 applicationContext.xml 存入在 WEB-INF 目录下,请在web.xml下删掉或注释掉以下配置:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext*.xml,classpath*:/context/applicationContext*.xml</param-value> </context-param>