`
longflang
  • 浏览: 65668 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

struts1.x和spring整合

阅读更多
一、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 整合"指的是将这三个框架的特定版本(Struts2.X,Hibernate3.X,Spring2.5)集成到同一个项目中,实现高效的企业级应用开发。这种整合能够充分利用各个框架的优势,使开发者...

    struts1.x+spring+jta集成例子(包含所有jar包)

    Struts1.x、Spring 和 JTA(Java Transaction API)是Java Web开发中常见的三大技术,它们各自在应用程序架构中承担着不同的角色。本集成例子旨在展示如何将这三者结合,构建一个完整的业务处理系统。 Struts1.x是...

    Struts1.x+Spring+Hibernate开发实例

    Struts1.x、Spring和Hibernate是Java Web开发中经典的“SSH”组合,它们分别是MVC框架、依赖注入框架和持久层框架。这个"Struts1.x+Spring+Hibernate开发实例"是一个综合性的学习资料,旨在帮助开发者理解如何将这三...

    struts2.x hibernate spring 整合

    整合过程中,Spring作为核心,负责管理Struts2和Hibernate的生命周期,提供依赖注入,同时处理事务。Struts2作为前端控制器,处理用户请求,而Hibernate则作为数据访问层,负责数据库操作。整合后的系统可以实现松...

    spring和struts2.x的整合篇

    spring和struts2.x的整合篇spring和struts2.x的整合篇

    spring,struts1.x ,hibernate整合

    Spring、Struts1.x 和 Hibernate 是经典的 Java Web 开发框架,它们的整合是构建企业级应用的常见方式。这三个框架分别负责不同的职责:Spring 提供依赖注入和事务管理,Struts1.x 负责视图和控制层,而 Hibernate ...

    struts2.3.x+spring3.1.x+hibernate4.1整合工程(好用)

    1. **Spring管理Bean**:Spring作为全局的依赖注入容器,负责管理所有的业务逻辑组件和服务,包括Struts2的Action类和Hibernate的SessionFactory。 2. **Struts2与Spring的整合**:通过Spring插件Struts2-Spring-...

    struts1.x+spring 2.x+hibernate3.x jar包 组合

    Struts1.x、Spring 2.x 和 Hibernate3.x 是经典的Java Web开发框架组合,被称为SSH(Struts-Spring-Hibernate)集成。这个jar包集合包含了这三个框架的核心库和其他相关依赖,便于开发者快速搭建一个基于MVC模式的...

    Ext2.1 struts1.x spring 2.x hibernate 2.x

    在实际项目中,这四个技术的组合通常用来创建一个三层架构的应用:EXT JS 2.1负责前端交互和展示,Struts1.x作为后端的MVC框架处理请求和转发,Spring 2.x提供依赖注入和事务管理,而Hibernate 2.x则作为持久层框架...

    struts1.x+spring+hibernate集成例子(包含所有jar包,ehcache二级缓存)

    Struts1.x、Spring 和 Hibernate 是Java Web开发中经典的“SSH”框架组合,它们各自承担着不同的职责。Struts1.x 是一个 MVC 框架,负责处理用户请求和业务逻辑;Spring 提供了依赖注入和面向切面编程,简化了组件的...

    Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00

    ### Struts1.x、Spring2.x、Hibernate3.x 和 DWR2.x 整合知识点解析 #### 一、Struts1.x与Spring2.x的整合 **1.1 在web.xml中进行Struts和Spring的配置** 为了实现Struts1.x与Spring2.x的无缝集成,首先需要在...

    struts1.x整合freemarker

    Struts1.x是一款经典的MVC(Model-View-Controller)框架,它在Java ...同时,随着技术的发展,虽然Struts1.x已逐渐被Struts2、Spring MVC等更现代的框架取代,但理解这些基础知识对于学习更高级的框架仍然很有帮助。

    DWR+jquery2.x+easyUI1.3.x开发富客户端应用

    1. **整合目标**:本文档的目标是将 Struts2.x、Spring3.x、Hibernate4.x 与 DWR、jquery2.x 和 easyUI1.3.x 进行集成,以构建一个功能齐全且高效的 Web 开发环境。 2. **jQuery 版本选择**:为了兼容性和性能考虑...

    Struts1.x-Hibernate,曾删改查

    Struts1.x 和 Hibernate 是两种在Java Web开发中广泛使用的开源框架,它们分别负责不同的职责。...尽管现在有更新的框架如Spring MVC和Spring Data,但对Struts1.x和Hibernate的理解仍然是提升Java Web技能的重要部分。

    struts1.x 常用知识详解

    1. **Spring**:Struts1.x可以与Spring框架整合,Spring负责管理Action的依赖,提供AOP(面向切面编程)支持。 2. **Hibernate**:结合Hibernate,Struts可以实现持久层操作,提高数据访问效率。 3. **Struts-...

    基于eclipse的struts2.x+hibernate3.x+spring3.x整合文档及实例源码

    综上所述,"基于eclipse的struts2.x+hibernate3.x+spring3.x整合文档及实例源码"提供了一个完整的SSH整合教程,通过下载的源码和文档,开发者可以学习并实践SSH的集成,了解每个框架在实际项目中的作用和它们协同...

    Struts2 2.3.15 + Hibernate 3.x.x + Spring 3.2.3整合JAR包

    1. **配置环境**:确保JDK、Tomcat等基础环境已安装,然后下载Struts2、Hibernate和Spring的相应版本JAR包。 2. **添加依赖**:将下载的JAR包添加到项目的类路径中,或者如果使用Maven或Gradle,则在pom.xml或build....

    客户关系管理系统。hibernate5.2.x+struts2.3.x+spring4.3+Mysql5.zip

    在这个项目中,它使用了技术栈包括Hibernate 5.2.x、Struts 2.3.x、Spring 4.3以及MySQL 5。 Hibernate是Java领域的一个对象关系映射(Object-Relational Mapping, ORM)框架,它简化了数据库操作,使得开发人员...

    struts in action (struts1.x)

    `Struts 1.x` 可以很好地与其他开源技术集成,如Hibernate(持久层)、Spring(依赖注入)等,形成强大的企业级应用开发解决方案。 通过学习 `Struts 1.x`,开发者可以掌握Web应用程序的基本架构,理解MVC模式的...

    Struts2.x整合工具开发包,需要的朋友下载过来学习

    Struts2.x是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它在Struts1的基础上进行了很多改进和增强,旨在提供更高效、更灵活的Web应用程序开发。Struts2.x的主要目标是简化开发过程,提高代码可...

Global site tag (gtag.js) - Google Analytics