注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 程序开发 > Java 内容正文:Struts+Spring+Hibernate快速入门

Struts+Spring+Hibernate快速入门

发布时间:2006-05-08 16:14:08 来源:网易社区 网友评论 0 条

  本文是开发基于spring的web应用的入门文章,前端采用Struts MVC框架,中间层采用spring,后台采用Hibernate。

   本文包含以下内容:

    ·配置Hibernate和事务

    ·装载Spring的applicationContext.xml文件

    ·建立业务层和DAO之间的依赖关系

    ·将Spring应用到Struts中

  简介

   这个例子是建立一个简单的web应用,叫MyUsers,完成用户管理操作,包含简单的数据库增,删,查,该即CRUD(新建,访问,更新,删除)操作。这是一个三层的web应用,通过Action(Struts)访问业务层,业务层访问DAO。图一简要说明了该应用的总体结构。图上的数字说明了流程顺序-从web(UserAction)到中间层(UserManager),再到数据访问层(UserDAO),然后将结果返回。

   Spring层的真正强大在于它的声明型事务处理,帮定和对持久层支持(例如Hiberate和iBATIS)

   以下下是完成这个例子的步骤:

   1. 安装Eclipse插件

   2. 数据库建表

   3. 配置Hibernate和Spring

   4. 建立Hibernate DAO接口的实现类

   5. 运行测试类,测试DAO的CRUD操作

   6. 创建一个处理类,声明事务

   7. 创建web层的Action和model

   8. 运行Action的测试类测试CRUD操作

   9. 创建jsp文件通过浏览器进行CRUD操作

   10. 通过浏览器校验jsp

  安装eclipse插件

   1. Hibernate插件http://www.binamics.com/hibernatesync

   2. Spring插件http://springframework.sourceforge.net/spring-ide/eclipse/updatesite/

   3. MyEclipse插件(破解版)

   4. Tomcat插件. tanghan

   5. 其他插件包括xml,jsp,

   数据库建表


create table app_user(id number not null primary,firstname vchar(32),lastname vchar(32));
  新建项目

   新建一个web project,新建后的目录结构同时包含了新建文件夹page用于放jsp文件,和源文件夹test用于放junit测试文件。同时将用到的包,包括struts,hibernate,spring都导入到lib目录下。

   创建持久层O/R mapping

   1. 在src/com.jandar.model下用hibernate插件从数据库导出app_user的.hbm.xml文件改名为User.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
   "-//Hibernate/Hibernate Mapping DTD//EN"
   "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping package="com.jandar.model">
<class name="User" table="APP_USER">
  <id
   column="ID"
   name="id"
   type="integer"
  >

   <generator class="assigned" />

  </id>

  <property
    column="LASTNAME"
    length="10"
    name="lastname"
    not-null="false"
    type="string"
  />

  <property
    column="FIRSTNAME"
    length="10"
    name="firstname"
    not-null="true"
    type="string"
  />

</class>
</hibernate-mapping>

   2. 通过hibernate synchronizer->synchronizer file生成User.java文件,User对象对应于数据库中的app_user表

   注:在eclipse下自动生成的对象文件不完全相同,相同的是每个对象文件必须实现Serializable接口,必需又toString和hashCode方法;

import java.io.Serializable;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

public class BaseObject implements Serializable {
  public String toString() {
   return ToStringBuilder.reflectionToString(this,
   ToStringStyle.MULTI_LINE_STYLE);
  }

  public boolean equals(Object o) {
   return EqualsBuilder.reflectionEquals(this, o);
  }

  public int hashCode() {
   return HashCodeBuilder.reflectionHashCode(this);
  }
}

public class User extends BaseObject {
  private Long id;
  private String firstName;
  private String lastName;

  /**
  * @return Returns the id.
  */

  public Long getId() {
   return id;
  }

  /**
   * @param id The id to set.
  */

  public void setId(Long id) {
   this.id = id;
  }

  /**
  * @return Returns the firstName.
  */

  public String getFirstName() {
   return firstName;
  }

  /**
   * @param firstName The firstName to set.
  */

  public void setFirstName(String firstName) {
   this.firstName = firstName;
  }

  /**
  * @return Returns the lastName.
  */

  public String getLastName() {
   return lastName;
  }

  /**
  * @param lastName The lastName to set.
  */

  public void setLastName(String lastName) {
   this.lastName = lastName;
  }
}

  

相关文章
  • Struts VS Spring 两种MVC框架比较
  • 看看如何在Struts应用中施展AJAX魔法
  • 基于AJAX技术实现Struts校验框架
  • 基于MVC模式的Struts框架研究与应用
  • JSP和Struts解决用户退出问题
【评论】【收藏本文】【打印】【关闭】
上一篇文章:Weblogic81和Hibernate 的集成问题
下一篇文章:Java秘史:隐藏在SWT/Swing背后的故事
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
Java控件设计入门
Java控件设计入门
推荐阅讯
  • Java理论和实践:用软引用阻止内存泄漏
  • 通过实例论证J2ME的事件传输机制
  • Java 程序初始化过程详解
  • JAVA代码编写的30条建议
  • Java入门需掌握的30个基本概念
  • 用定制的GUI开发Java聊天软件
  • 感受Ruby on Rails
  • EJB 3.0是Hibernate的克隆吗?
  • 实例分析Java SE 6.0新增功能
  • JavaOne 2006 不容错过的十大看点
阅读排行
  • 1.Java连接SQL Server 2000
  • 2.Java文件操作详解
  • 3.Java控件设计入门
  • 4.Java操作Excel电子表格
  • 5.Java: JNI完全手册
  • 6.Java命令行简介
  • 7.开发J2EE应用应遵循的几点原则
  • 8.Servlet与Javabean配置
  • 9.Java规则引擎与其API应用详解
  • 10.CLASSPATH详解
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载