Struts2+spring2+hibernate3整合方案

Struts2+spring2+hibernate3整合方案
最近闲来无事可做,于是开始学习struts2Struts2struts1webwork2有什么区别我也不说了,网上有很多这方面的资料。以前在项目中从未使用过struts,一直使用spring+hibernate,现在既然学习了Struts,也不能浪费,于是乎开始琢磨着怎么整合这3个框架。整合原理以spring为容器,管理hibernateDAOStruts2Action
一、 准备工作
Struts2.06+spring2.5+hibernate3.2+jdk6.0+myeclipse6.0+tomcat5.5+mysql5.0
以上是整合的原料。下面以一个注册登陆的例子来开始我们的整合过程。
这个例子很简单,下面是它的sql脚本内容:
CREATE TABLE `user` (
  `userid` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(20) NOT NULL,
  `password` varchar(16) NOT NULL,
  `email` varchar(30) NOT NULL,
  PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf-8;
二、 开始行动
包结构可以参考下图
 
图一

 
图二

图三
1) Struts
部分:建立struts.xmlstruts.properties
Struts.xml
内容如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" >
<struts>
    
<package name="user_curd" extends="struts-default" >
        
<global-results>
            
<!-- 下面定义的结果对所有的Action都有效 -->
            
<result name="exception">/error.jsp</result>
        
</global-results>

        
<global-exception-mappings>
            
<!-- Action抛出Exception异常时,转入名为exception的结果。 -->
            
<exception-mapping exception="java.lang.Exception" result="exception"/>
        
</global-exception-mappings>

        
<action name="Login" class="LoginAction">
            
<result name="success">/success.jsp</result>    
            
<result name="input">/login.jsp</result>
        
</action>
        
<action name="Regist" class="RegistAction">
            
<result name="success">/success.jsp</result>    
            
<result name="input">/regist.jsp</result>
        
</action>
    
</package> 
            
</struts>


Struts.properties
内容如下:

 

struts.devMode=false
struts.enable.DynamicMethodInvocation=true
struts.i18n.reload=true
struts.ui.theme=xhtml

struts.locale=zh_CN
struts.i18n.encoding=UTF-8
struts.objectFactory=spring
struts.objectFactory.spring.autoWire=name

struts.serve.static.browserCache=false
struts.url.includeParams=none


2) 
建立User.javaUser.hbm.xmljdbc.properties
User.java
内容如下:

 

/** *//** 
 * 
 * 
@author <a href="mailto:flustar2008@163.com">flustar</a>
 * 
@version 1.0 
 * Creation date: Dec 23, 2007 1:55:28 PM
 */

package com.firstssh.model;

import java.io.Serializable;

public class User implements Serializable  {
    
private int id;
    
private String username;
    
private String password;
    
private String email;

    
public int getId()  {
        
return id;
    }

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

    
public String getUsername()  {
        
return username;
    }

    
public void setUsername(String username)  {
        
this.username = username;
    }

    
public String getPassword()  {
        
return password;
    }

    
public void setPassword(String password)  {
        
this.password = password;
    }

    
public String getEmail()  {
        
return email;
    }

    
public void setEmail(String email)  {
        
this.email = email;
    }
}


User.hbm.xml
内容:

 

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<hibernate-mapping 
    
package="com.firstssh.model">

    
<class name="User" table="User">
        
<id name="id" column="userid">
            
<generator class="identity" />
        
</id>    
        
<property name="username"
                  column
="username"
                  not-null
="true"
                  length
="20"
        
/>
        
<property name="password"
                  column
="password"
                  not-null
="true"
                  length
="16" />
        
<property name="email"
                  column
="email"
                  not-null
="true"
                  length
="30"/>
    
</class>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值