Spring与Struts集成方式一

我们在Struts中在action类中调用Model层组件进行业务逻辑操作。那么有了spring后,我们一般要使用ioc的依赖注入获得bean,比如说现在们应该可以在action类中通过spring ioc 获得Dao Bean,再调用Dao Bean中的方法。

配置过程:
一、配置struts
*新建web项目,加入struts相关类库,及jstl.jar和standard.jar
*修改web.xml,加入ActionServlet
*拷贝tld文件及struts-config.xml文件,validation.xml文件到WEB-INF目录
*拷贝资源文件MessageResources.properties到src目录

二、配置spring
*拷贝spring.jar,aspectj下的两个jar,common-loging.jar,log4j.jar到lib目录,如果包有重复,尽量用最新版本。
*拷贝spring的配置文件applicationContext.xml和log4j.properties到src目录

三、创建jsp,formBean,action等
四、创建UserDao,UserDaoImpl类,并在LoginAction中调用。测试在没有使用spring的时候结果是否正确。

五、下面我们要将spring的配置文件与web.xml关联起来。
可以到spring源代码的事例jpetStore项目中查看web.xml
拷贝到我们项目中的web.xml中:
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/dataAccessContext-local.xml /WEB-INF/applicationContext.xml</param-value>
		<!--
		<param-value>/WEB-INF/dataAccessContext-jta.xml  /WEB-INF/applicationContext.xml</param-value>
		-->
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	我们项目中使用如下:
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	表示先从WEB-INF下找,如果找不到就到src目录下找applicationContext.xml

六、取到ApplicationContext实例,在LoginAciton中有取的实现代码
WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
		UserDao userDao = (UserDao)wac.getBean("userDao");
		注意别忘了在spring配置文件中加入userDao的定义
		测试结束。

 

你可能感兴趣的:(spring,xml,Web,bean,struts)