一、struts和spring整合:
1、让struts的action继承spring的ActionSupport:
ApplicationContext context = getWebApplicationContext();
CourseService courseService = context.getBean("courseService");
2、配置方式
修改struts的配置文件
<action path="/listCourses" type="org.springframework.web.struts.DelegatingActionProxy"/>
使用spring的DI为struts的action注入所需对象
<bean name="/listCourses" class="com.springinaction.training.struts.ListCourseAction">
<property name="courseService">
<ref bean="courseService"/>
</property>
</bean>
3、替换掉struts的RequestProcessor:
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>
此时struts的配置就无需做什么改变:
<action path="/listCourses" type="com.springinaction.training.struts.ListCourseAction"/>
或者:
<action path="/listCourses"/>
二、spring的启动时机:
1、在web.xml中加入listener:
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/training-service.xml,/WEB-INF/training-data.xml</param-value>
</context-param>
2、如果用的是struts,可以让struts启动时加载spring:
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/training-servlet.xml,/WEB-INF/…"/>
</plug-in>
三、spring处理配置DAO
1、Getting a DataSource from JNDI:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/myDatasource</value>
</property>
</bean>
2、Creating a DataSource connection pool:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driver">
<value>${db.driver}</value>
</property>
<property name="url">
<value>${db.url}</value>
</property>
<property name="username">
<value>${db.username}</value>
</property>
<property name="password">
<value>${db.password}</value>
</property>
</bean>
配置属性:
<bean id="datasourcecfg" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:datasource.properties</value>
</property>
</bean>
3、spring对jdbc的支持:
public void insertPerson(Person person) throws SQLException {
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = dataSource.getConnection();
stmt = conn.prepareStatement("insert into person (" +
"id, firstName, lastName) values (?, ?, ?)");
stmt.setInt(0, person.getId().intValue());
stmt.setString(1, person.getFirstName());
stmt.setString(2, person.getLastName());
stmt.executeUpdate();
}catch(SQLException e) {
LOGGER.error(e);
}finally {
try { if (stmt != null) stmt.close(); }catch(SQLException e) { LOGGER.warn(e); }
try { if (conn != null) conn.close(); }catch(SQLException e) { LOGGER.warn(e); }
}
}
public int insertPerson(Person person) {
String sql = "insert into person (id, firstName, lastName) values (?, ?, ?)";
Object[] params = new Object[] { person.getId(),person.getFirstName(),person.getLastName() };
int[] types = new int[] { Types.INTEGER, Types.VARCHAR, Types.VARCHAR };
return jdbcTemplate.update(sql, params, types);
}
4、spring对Hibernate的支持:
四、如何处理LazyInitializedException异常
<filter>
<filter-name>hibernateSessionFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateSessionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
五、struts的分模块开发
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>config/center</param-name>
<param-value>/WEB-INF/center-struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>config/student</param-name>
<param-value>
/WEB-INF/student-struts-config.xml
</param-value>
</init-param>
<init-param>
<param-name>config/admin</param-name>
<param-value>/WEB-INF/admin-struts-config.xml</param-value>
</init-param>
</servlet>
六、对于数据库增删改过种中防止重复和不能删除项的处理意见:
分享到:
相关推荐
标题"Struts2.X+Hibernate3.X+Spring2.5 整合"指的是将这三个框架的特定版本(Struts2.X,Hibernate3.X,Spring2.5)集成到同一个项目中,实现高效的企业级应用开发。这种整合能够充分利用各个框架的优势,使开发者...
Struts1.x、Spring 和 JTA(Java Transaction API)是Java Web开发中常见的三大技术,它们各自在应用程序架构中承担着不同的角色。本集成例子旨在展示如何将这三者结合,构建一个完整的业务处理系统。 Struts1.x是...
Struts1.x、Spring和Hibernate是Java Web开发中经典的“SSH”组合,它们分别是MVC框架、依赖注入框架和持久层框架。这个"Struts1.x+Spring+Hibernate开发实例"是一个综合性的学习资料,旨在帮助开发者理解如何将这三...
整合过程中,Spring作为核心,负责管理Struts2和Hibernate的生命周期,提供依赖注入,同时处理事务。Struts2作为前端控制器,处理用户请求,而Hibernate则作为数据访问层,负责数据库操作。整合后的系统可以实现松...
spring和struts2.x的整合篇spring和struts2.x的整合篇
Spring、Struts1.x 和 Hibernate 是经典的 Java Web 开发框架,它们的整合是构建企业级应用的常见方式。这三个框架分别负责不同的职责:Spring 提供依赖注入和事务管理,Struts1.x 负责视图和控制层,而 Hibernate ...
1. **Spring管理Bean**:Spring作为全局的依赖注入容器,负责管理所有的业务逻辑组件和服务,包括Struts2的Action类和Hibernate的SessionFactory。 2. **Struts2与Spring的整合**:通过Spring插件Struts2-Spring-...
Struts1.x、Spring 2.x 和 Hibernate3.x 是经典的Java Web开发框架组合,被称为SSH(Struts-Spring-Hibernate)集成。这个jar包集合包含了这三个框架的核心库和其他相关依赖,便于开发者快速搭建一个基于MVC模式的...
在实际项目中,这四个技术的组合通常用来创建一个三层架构的应用:EXT JS 2.1负责前端交互和展示,Struts1.x作为后端的MVC框架处理请求和转发,Spring 2.x提供依赖注入和事务管理,而Hibernate 2.x则作为持久层框架...
Struts1.x、Spring 和 Hibernate 是Java Web开发中经典的“SSH”框架组合,它们各自承担着不同的职责。Struts1.x 是一个 MVC 框架,负责处理用户请求和业务逻辑;Spring 提供了依赖注入和面向切面编程,简化了组件的...
### Struts1.x、Spring2.x、Hibernate3.x 和 DWR2.x 整合知识点解析 #### 一、Struts1.x与Spring2.x的整合 **1.1 在web.xml中进行Struts和Spring的配置** 为了实现Struts1.x与Spring2.x的无缝集成,首先需要在...
Struts1.x是一款经典的MVC(Model-View-Controller)框架,它在Java ...同时,随着技术的发展,虽然Struts1.x已逐渐被Struts2、Spring MVC等更现代的框架取代,但理解这些基础知识对于学习更高级的框架仍然很有帮助。
1. **整合目标**:本文档的目标是将 Struts2.x、Spring3.x、Hibernate4.x 与 DWR、jquery2.x 和 easyUI1.3.x 进行集成,以构建一个功能齐全且高效的 Web 开发环境。 2. **jQuery 版本选择**:为了兼容性和性能考虑...
Struts1.x 和 Hibernate 是两种在Java Web开发中广泛使用的开源框架,它们分别负责不同的职责。...尽管现在有更新的框架如Spring MVC和Spring Data,但对Struts1.x和Hibernate的理解仍然是提升Java Web技能的重要部分。
1. **Spring**:Struts1.x可以与Spring框架整合,Spring负责管理Action的依赖,提供AOP(面向切面编程)支持。 2. **Hibernate**:结合Hibernate,Struts可以实现持久层操作,提高数据访问效率。 3. **Struts-...
综上所述,"基于eclipse的struts2.x+hibernate3.x+spring3.x整合文档及实例源码"提供了一个完整的SSH整合教程,通过下载的源码和文档,开发者可以学习并实践SSH的集成,了解每个框架在实际项目中的作用和它们协同...
1. **配置环境**:确保JDK、Tomcat等基础环境已安装,然后下载Struts2、Hibernate和Spring的相应版本JAR包。 2. **添加依赖**:将下载的JAR包添加到项目的类路径中,或者如果使用Maven或Gradle,则在pom.xml或build....
在这个项目中,它使用了技术栈包括Hibernate 5.2.x、Struts 2.3.x、Spring 4.3以及MySQL 5。 Hibernate是Java领域的一个对象关系映射(Object-Relational Mapping, ORM)框架,它简化了数据库操作,使得开发人员...
`Struts 1.x` 可以很好地与其他开源技术集成,如Hibernate(持久层)、Spring(依赖注入)等,形成强大的企业级应用开发解决方案。 通过学习 `Struts 1.x`,开发者可以掌握Web应用程序的基本架构,理解MVC模式的...
Struts2.x是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它在Struts1的基础上进行了很多改进和增强,旨在提供更高效、更灵活的Web应用程序开发。Struts2.x的主要目标是简化开发过程,提高代码可...