`
jerryzl
  • 浏览: 16411 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
文章分类
社区版块
存档分类
最新评论

struts2整合hibernate,spring模型驱动的例子(本人原创)

阅读更多
首先到官方网站下载struts-2.0.6,将其lib下相应的包拷贝到项目中去
我的开发环境是eclipse3.2+tomcat5.5.20+JDK1.5.06+myeclipse5.1
基本布局如附件,以下是web.xml的配置
<web-app id="WebApp_9" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <filter>
        <filter-name>encodingFilter</filter-name>//解决中文问题
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
   
    <filter>
        <filter-name>struts</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener//加载spring,但同时也需要在struts.properties中配置一下,见下面
        </listener-class>
    </listener>

</web-app>
struts.properties:
struts.objectFactory = spring//表示使用spring
在struts.xml中
    <include file="struts-default.xml"/>
    <package name="default" extends="struts-default">
    <interceptors>
    <interceptor-stack name="s2Stack">//l拦截器堆栈
    <interceptor-ref name="model-driven"/>//模型驱动
    <interceptor-ref name="params"/>
    </interceptor-stack>
    </interceptors>
    <action name="login" class="login.LoginAction" method="baocun">//在action中我自己定义的方法,页可以使用默认的execute方法。
    <result name="success">/success.jsp</result>//转到成功页面
    <result name="input">/fail.jsp</result>
    <interceptor-ref name="s2Stack"/>
    </action>
    </package>
在login.jsp中为
  <body>
  <form action="login.action" method="post">
                用户名:
                <input type="text" name="name" />//因为我们用了模型驱动,所以就不用如xx.name的形式了但首先的建立一个类logininfo.java,如下:
                <br />
                密码:
                <input type="password" name="password">
                <br />
                <input type="submit" value="提交" name="sub" />
                <input type="reset" value="重置" name="res" />
        </form>
  </body>
</html>
logininfo.java:
public class LoginInfo {//主要用于取得页面输入的值,一会在action中还会用到。
private String name;
private String password;
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}

}
我建立了一个service,调用DAO去执行数据库操作。
package service;
import com.yourcompany.Admin;
import com.yourcompany.AdminDAO;;
public class LoginService {
    private AdminDAO adminDAO;

    public AdminDAO getAdminDAO() {
        return adminDAO;
    }

    public void setAdminDAO(AdminDAO adminDAO) {
        this.adminDAO = adminDAO;
    }
    public void saveinfo(Admin admin){
        adminDAO.save(admin);
    }
}
hibernate创建的DAO相信大家都会了,我就不粘贴上来了。
LoginAction如下:
import com.yourcompany.Admin;
import service.LoginService;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.yourcompany.LoginInfo;

public class LoginAction extends ActionSupport implements ModelDriven{//这里继承ActionSupport 同事实现ModelDriven
 
    /**
     *
     */
    private static final long serialVersionUID = -2144138760339549940L;
    LoginService loginService;
    LoginInfo logininfo=new LoginInfo();
    public String baocun() throws Exception{//对应与struts.xml中的method方法
        Admin admin=new Admin();
        System.out.println(logininfo.getName());
        admin.setName(logininfo.getName());
        admin.setPassword(logininfo.getPassword());
        loginService.saveinfo(admin);//保存前台的数据,插入数据库
        return SUCCESS;
    }
    public Object getModel() {
        // TODO 自动生成方法存根
        return logininfo;//这里就用到了logininfo.java
    }
    public LoginService getLoginService() {
        return loginService;
    }
    public void setLoginService(LoginService loginService) {
        this.loginService = loginService;
    }
}
一个struts2+spring+hibernate的简单整合例子完成了,有不对的地方还请大家一起交流。
最后说一下官方说可以运行与JDK1.4上,本人已经测试过,可以运行,只需将j4包下的文件拷贝到lib下,就可以了,但要注意如果用JDK1.5了,不要把j4下包和用于1.5的包都拷贝到项目lib下,会冲突,本人第一次写博客,希望大家一起交流。
  • 大小: 18.2 KB
分享到:
评论

相关推荐

    struts2 与 hibernate 整合 写得非常详细 简单易懂

    Struts2和Hibernate是两种非常流行的Java开源框架,分别用于MVC(模型-视图-控制器)架构的实现和对象关系映射(ORM)。在Java Web开发中,整合这两个框架可以构建高效、易于维护的数据库驱动的应用程序。下面将详细...

    struts2 spring hibernate 例子 ssh

    6. **模型-视图-控制器**:观察Struts2如何与Spring和Hibernate协作,完成MVC设计模式的实现。 7. **实战演练**:通过实际运行例子,理解SSH框架下,请求如何从视图层流转到业务层,再到数据访问层,最后返回响应。 ...

    SSH整合(Struts2 Hibernate3 Spring2)

    SSH整合,即Struts2、Hibernate3和Spring2的集成,是Java Web开发中的常见模式,用于构建高效、模块化的应用程序。在这个小例子中,这三个框架的协同工作使得开发人员能够轻松实现数据持久化、控制层逻辑和业务层...

    struts2+spring+hibernate一个小例子

    总结来说,这个例子展示了如何整合Struts2、Spring和Hibernate这三个框架,形成一个完整的Java Web应用程序。通过Struts2处理用户请求,Spring管理组件和事务,Hibernate处理数据库操作,实现了模型、视图和控制器的...

    struts2+hibernate+spring综合示例源码

    5. **WEB-INF/lib** - 包含了项目依赖的第三方库,如Struts2、Hibernate、Spring、Oracle JDBC驱动等。 6. **jsp** 或 **WebContent** - 视图层的JSP文件,用于展示数据。 学习这个示例,你可以了解如何整合这三个...

    struts2 spring hibernate 简单 入门 源码

    在Struts2和Spring的环境中,Hibernate可以通过Spring的数据访问抽象进一步整合,使得事务管理和数据库操作更加便捷和统一。 结合这三个框架,我们可以创建一个高效的三层架构:Struts2负责前端请求的接收和处理,...

    spring3.1+hibernate4+struts2 项目例子(注解方式)

    这是一个基于Java技术栈的Web开发项目实例,使用了Spring 3.1、Hibernate 4和Struts2这三个核心框架,并且采用了注解方式进行配置。这个项目例子旨在帮助开发者理解如何在实际开发中整合这三个框架,实现MVC模式的...

    struts2+spring+hibernate配置文件详解

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自处理不同的层面:Struts2负责MVC(模型-视图-控制器)架构的实现,Spring提供了依赖注入和事务管理等功能,而Hibernate则作为对象关系映射工具,...

    struts+hibernate(留言板例子)

    4. 在IDE中导入所有必要的库,包括Struts、Hibernate、Spring和JDBC驱动。 5. 启动服务器,访问预设的URL,查看留言板是否正常工作。 这个例子适合初学者理解和学习SSH框架的整合,同时也为有经验的开发者提供了...

    spring+hibernate+struts例子

    标题中的“spring+hibernate+struts例子”是指一个基于Java Web开发的示例项目,它整合了Spring、Hibernate和Struts这三个流行的开源框架。这个项目旨在展示如何在实际应用中有效地集成这三个技术,以实现数据持久化...

    spirng hibernate struts1整合jar包和配置流程

    在Java Web开发中,Spring、Hibernate和Struts1是经典的MVC(Model-View-Controller)框架组合,常用于构建企业级应用。这三个框架的整合能够实现数据持久化、业务逻辑处理和用户界面的分离,提高开发效率和代码可...

    实例讲解struts+hibernate+spring

    - **Spring整合**: 在Spring配置文件中定义Struts和Hibernate相关的Bean,实现框架间的无缝衔接。 - **事务管理**: 使用Spring的事务管理器,确保数据库操作的一致性和完整性。 - **对象关系映射**: Hibernate...

    一个简单的struts,spring,hibernate列子

    在这个例子中,"一个简单的struts,spring,hibernate例子" 整合了这三个框架,展示了如何将它们集成到同一个项目中。这通常涉及以下几个步骤: 1. **Struts 配置**:Struts 通过配置文件(如struts.xml)来定义...

    Struts + Spring +Hibernate

    JSF与Spring和Hibernate的整合,可以利用JSF的组件库和事件驱动模型来创建用户界面,通过Spring进行业务逻辑处理,再由Hibernate进行数据操作。 在设计Web应用程序时,通常会先收集功能需求,然后进行用例分析,...

    struts+spring+hibernate 实例

    SSH(Struts + Spring + Hibernate)是一种经典的Java Web开发框架组合,用于构建企业级的Web应用程序。本实例旨在介绍如何通过SSH整合实现对数据库的基本操作,如向数据库中添加数据。 首先,我们需要搭建环境。在...

    SPRING STRUTS2

    2. **模型驱动**:Spring Struts2集成可以实现模型驱动,将Action中的业务数据直接绑定到Spring的Bean上,简化了数据处理。 3. **事务管理**:Spring的事务管理功能可以无缝集成到Struts2中,确保在处理业务逻辑时...

    strut2+spring+hibernate +sqlserver2005

    这个名为"SS2HTEST"的压缩包文件,很可能包含了一个完整的Web项目,演示了如何将Struts2、Spring和Hibernate整合,并与SQL Server 2005数据库协同工作,实现一个基本的登录功能。以下是对这些技术的详细解释: 1. *...

    整合ssh2 crud小例子

    3. **引入依赖**:在pom.xml或build.gradle文件中添加SSH2相关的依赖,包括Spring、Struts2、Hibernate、MySQL驱动等。 4. **配置Spring**:编写spring配置文件,如`applicationContext.xml`,配置数据源、...

    struts2资料包含例子、PPT、配置

    8. **插件系统**:Struts2拥有强大的插件体系,可以方便地集成其他框架如Hibernate、Spring等,提供对RESTful风格的支持、AJAX交互等功能。 9. **测试与调试**:Struts2提供了JUnit测试支持,使得单元测试和集成...

Global site tag (gtag.js) - Google Analytics