`

spring+hibernate+struts 整合的三种方法,我只用第三种可以。

阅读更多

一.用spring的DelegatingRequestProcessor替换struts的RequestProcessor.

1)不要在web.xml中设置ApplicationContext的自动加载,在struts-config.xml中通plug-in设置.

<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
   <set-property value="/WEB-INF/applicationContext.xml,/WEB-INF/appContext.xml" property="contextConfigLocation" />
</plug-in>

2)在struts-config.xml中设置RequestProcessor的替换类.

<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller>

3)不要在struts-config.xml中的<action>元素中设置action的type属性.

<action path="/login" input="/index.jsp"
    validate="true" scope="request">
    <forward name="forward" path="/success.jsp"></forward>
</action>

4)在applicationContext.xml或其他spring bean配置文件中设置由DelegatingRequestProcessor转发的bean,这个bean就是Action类.

<bean name="/login" class="mypack.LoginAction" singleton="false">
    <property name="property1" ref="otherbean"/>
 </bean>

 

 二.使用DelegatingActionProxy,此种方法是在action中再把请求转发给定义在applicationContext.xml中的Action.

1)同第一种方法的1).

2)如果试了第一种方法,去掉struts-config.xml中的

<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller>

元素.

3)需要在struts-config.xml中定义action的type="org.springframework.web.struts.DelegatingActionProxy".即第一种方法的3)中加入type属性.

<action path="/login" input="/index.jsp" validate="true"
    scope="request" type="org.springframework.web.struts.DelegatingActionProxy">
    <forward name="forward" path="/success.jsp"></forward>
   </action>

4)同第一种方法的4).

 

三.使用Spring的ActionSupport .

Spring 的ActionSupport 继承至org.apache.struts.action.Action

ActionSupport的子类可以或得 WebApplicationContext类型的全局变量。通过getWebApplicationContext()可以获得这个变量。


这是一个 servlet 的代码:

 

public class LoginAction extends org.springframework.web.struts.ActionSupport {
            public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {
             LoginForm loginForm = (LoginForm) form;
            //获得  WebApplicationContext  对象
        WebApplicationContext ctx = this.getWebApplicationContext();
            LoginDao dao = (LoginDao) ctx.getBean("loginDao");
            User u = new User();
            u.setName(loginForm.getName());
            u.setPwd(loginForm.getPwd());
            if(dao.checkLogin(u)){
            	return mapping.findForward("success");
            }else{
           	 return  mapping.findForward("error");
            }
            }
            }
            applicationContext.xml 中的配置
            <beans>
            	<bean id="loginDao" class="com.cao.dao.LoginDao"/>
            </beans>
            
分享到:
评论

相关推荐

    struts+spring+hibernate三大框架整合

    Spring整合Struts主要有三种方式: 1. **使用Spring的ActionSupport**:Action类直接继承自Spring的ActionSupport,通过`super.getWebApplicationContext()`获取Spring上下文,然后通过`ApplicationContext.getBean...

    Spring4.0+Hibernate4.0+Struts2.3整合案例

    Spring4.0+Hibernate4.0+Struts2.3整合案例:实现增删改查。 ===================== application.xml: xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...

    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全注解整合)Spring5.0.3 + Hibernate5.0.7 + Struts2.5.13全注解整合(SSH全注解...

    Struts1+Spring2+Hibernate2整合详细例子

    Struts1、Spring2和Hibernate2是Java Web开发中的三个重要框架,它们分别负责MVC模式中的表现层、业务层和服务层。这个整合例子旨在展示如何将这三个框架协同工作,以构建一个完整的Java Web应用程序。 Struts1是...

    Spring+Struts2+hibernate+Redis整合

    在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...

    spring+hibernate+struts2整合

    在Spring+Hibernate的整合中,Spring会管理Hibernate的SessionFactory,提供事务支持,并通过SessionFactory创建Session对象,进行数据操作。 **Struts2框架**:Struts2是基于MVC设计模式的Web应用框架,负责接收...

    最新版本的Struts2+Spring4+Hibernate4框架整合

    整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...

    一个spring+struts+hibernate的例子

    一个spring+struts+hibernate的例子,是eclipse的工程,用tomcat5和mysql,文件夹下包含所有的源码和库,另外还有一个.sql的文件用于建立数据库。大家觉得它有什么不好,欢迎交流

    spring+struts2+hibernate+mybatis

    一个简单的spring+struts2+hibernate+mybatis整合(数据库脚本放在项目资源文件的sql目录下) 因为没想好mvc用springmvc好,还是struts2好 所以没有整合进去

    SSH整合jar包-spring5.0+hibernate5.1+struts2.5

    标题中的"SSH整合jar包-spring5.0+hibernate5.1+struts2.5"意味着这是一个已经打包好的集合,包含了这三个特定版本的框架所需的jar文件。这些jar文件是开发者在项目中引用SSH框架时需要的,确保了它们之间的兼容性和...

    最新项目系统:Struts2+Spring4+Hibernate4三大框架整合

    总的来说,"最新项目系统:Struts2+Spring4+Hibernate4三大框架整合"为学习和实践Java Web开发提供了一个实用的平台,对于提升开发者的技术水平和项目经验具有极大的帮助。通过深入研究和实践,开发者可以掌握Java ...

    spring+hibernate+struts整合jar包

    Spring、Hibernate和Struts是Java开发中非常经典的三大框架,它们分别负责控制层、持久层和展示层,常被组合使用以构建企业级Web应用程序。本文将详细介绍这三大框架的整合过程及其关键知识点。 首先,Spring框架是...

    Struts+Spring+Hibernate 整合教程

    Struts+Spring+Hibernate 整合教程Struts+Spring+Hibernate 整合教程Struts+Spring+Hibernate 整合教程Struts+Spring+Hibernate 整合教程

    图书管理系统spring+struts+hibernate

    《图书管理系统spring+struts+hibernate》是一款基于Java技术栈开发的图书管理软件,其核心框架包括Spring、Struts和Hibernate。该系统利用MySQL作为数据库存储数据,提供了完整的数据库备份,确保了数据的安全性与...

    spring mvc + spring + hibernate 全注解整合开发视频教程 11

    在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第11部分,重点可能是建立在前几部分的基础之上,进一步深化对这三个核心技术的理解和实践。 ...

    Java-Spring+Struts+Hibernate-SSH框架整合01-Spring+Hibernate

    Java-Spring+Struts+Hibernate-SSH框架整合01-Spring+Hibernate(一步一步的教你敲代码)(博客园,博客名称:Java-Spring+Struts+Hibernate-SSH框架整合01-Spring+Hibernate)

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    简单struts+spring+hibernate搭建,配置

    简单struts+spring+hibernate搭建,配置,适合初学者

Global site tag (gtag.js) - Google Analytics