前言

分2种情况,
1.struts2
2.ssh

struts2


ssh

1.如果action由spring来管理,即action在ssh里是一个spring Bean。与action对应的spring Bean所在配置文件必须要在web.xml配置(即指明路径,这样spring容器就可以找到与action对应的spring Bean)。

示例:web.xml
<!--Spring的配置文件的路径-->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath:springApplicationContext.xml, <!-- 1.spring的配置文件没有父子之分,即每个配置文件都是独立的。 (注:如果只有一个配置文件的话,那么默认是applicationcontext.xml)2.而struts2的配置文件:1)有一个主配置文件(默认是struts2.xml) 2)主配置文件里面包含其他的子配置文件。-->

            classpath:com/heilan/*/spring-*-*.xml,
         
        </param-value>
	</context-param>


出错原因
修改了配置文件路径,但是在web.xml里没有同步修改,导致不能进入action。


2.action配置文件,或者,与action对应的spring Bean所在配置文件,里面的各种名字写错了,不对应,仔细检查会发现十有八九是名字写错了。

示例:与action对应的spring Bean所在配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- 在spring里配置Action:注入业务逻辑实例到Action的属性。 -->
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
	
	<!-- 在spring里面,每个Action都成了一个Bean -->
	<bean id="bookControllerBean" class="com.heilan.book.businessController.BookController" scope="prototype">
		<property name="bookBusiness" ref="bookBusinessBean"/>
	</bean>
	
</beans>


出错原因
 
 com.heilan.book.businessController.BookController,大小写或包的路径写错了。 
 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐