其实很简单,只需要两步:
1.在Web.xml文件中加入下面代码,从而加载spring的配置文件。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
2.为了使Action得到Bean,写一个BaseAction类,以得到想要的Bean。
BaseAction类
/**
*
*/
package com.leon.struts.action;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.struts.ActionSupport;
import com.leon.service.JobService;
import com.leon.service.NewsService;
/**
* @author Leon Sui
*
* Date: Mar 4, 2009
*
*/
public class BaseAction extends ActionSupport {
protected Object getBean( String name ) {
WebApplicationContext ctx = getWebApplicationContext();
return ctx.getBean( name );
}
//得到Service bean
protected JobService getJobService() {
return (JobService)getBean("jobService");
}
}
其他的就是正常的注册bean,正常写struts-config配置文件。例如;
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans >
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
path="/job"
scope="request"
type="com.leon.struts.action.JobAction"
validate="false">
<forward name="Job" path="/job.jsp" />
</action>
</action-mappings>
<message-resources parameter="com.leon.struts.ApplicationResources" />
</struts-config>
<bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="mappingResources">
<list>
<value>com/leon/model/news.hbm.xml</value>
<value>com/leon/model/job.hbm.xml</value>
<value>com/leon/model/cases.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect </prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="current_session_context_class">thread</prop>
<prop key="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider </prop>
<prop key="connection.pool_size">10</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
<!--Dao-->
<bean id="newsDao" class="com.leon.dao.impl.NewsDaoImpl">
<property name="sessionFactory">
<ref bean="mySessionFactory"></ref>
</property>
</bean>
<bean id="jobService" class="com.leon.service.impl.JobServiceImpl">
<property name="jobDao">
<ref bean="jobDao"></ref>
</property>
</bean>
Action类:红色的就是得到bean
/**
* MyEclipse Struts
* Creation date: 03-03-2009
*
* XDoclet definition:
* @struts.action path="/job" name="jobForm" scope="request"
* @struts.action-forward name="Job" path="/job.jsp"
*/
public class JobAction extends BaseAction {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
ArrayList list = (ArrayList) getJobService().loadJobs();
HttpSession session = request.getSession(true);
session.setAttribute("job", list);
return mapping.findForward("Job");
}
}
一切正常使用。这是我用自己遇到的问题,加上8个小时的上网查找解决方法,最后总结出来的。希望大家能用得到!
分享到:
相关推荐
Spring4.0+Hibernate4.0+Struts2.3整合案例:实现增删改查。 ===================== application.xml: xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
一个spring+struts+hibernate的例子,是eclipse的工程,用tomcat5和mysql,文件夹下包含所有的源码和库,另外还有一个.sql的文件用于建立数据库。大家觉得它有什么不好,欢迎交流
spring+hibernate+struts
一个简单的spring+struts2+hibernate+mybatis整合(数据库脚本放在项目资源文件的sql目录下) 因为没想好mvc用springmvc好,还是struts2好 所以没有整合进去
SSH整合jar包-spring5.0+hibernate5.1+struts2.5 使用测试通过的
DWR+Struts+spring+hibernate的订货系统,自己添加的dwr功能
简单struts+spring+hibernate搭建,配置,适合初学者
有关Struts2+Spring+Hibernate和Struts2+Spring+Ibatis的整合实例demo 原创,完全基于eclipse开发
农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts ...
采用Spring+Hibernate+Struts架构,实现资源共享,用户可以注册登录,上传资源,下载资源,评论资源,并且通过别人下载自己上传的资源赚取相对应的资源分数等功能
Spring5.0.3 + Hibernate5.0.7 + Struts2.5.13全注解整合(SSH全注解整合)Spring5.0.3 + Hibernate5.0.7 + Struts2.5.13全注解整合(SSH全注解整合)Spring5.0.3 + Hibernate5.0.7 + Struts2.5.13全注解整合(SSH全注解...
简单的SSH项目 使用spring+hibernate+struts2 有详细的创建项目笔记 代码配置都有注释
struts2+spring+hibernate框架购物车
spring2+hibernate+struts结合总结 对学习spring+hibernate+struts 有很帮助
struts2+spring+hibernate 配置文件struts2+spring+hibernate 配置文件
Struts1+Spring+Hibernate整合注册登录(BLing原创).part1.rar 有二个文件
Struts+Spring+Hibernate开发实例.pdf
ssh三大框架的整合步骤,非常详细。包含spring整合struts、spring整合hibernate、声明式事务说明等。
使用Struts + Spring + Hibernate完成用户登陆笔记使用Struts + Spring + Hibernate完成用户登陆笔记
基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh...