`
myfight_xuan
  • 浏览: 11794 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Struts2,Spring,Hibernate整合例子

阅读更多

Struts2,Spring,Hibernate整合例子一个(自己笔记)

开发本项目的具体步骤请看:Struts2,Spring,Hibernate整合步骤

项目目录:



 

User.java

package com.zx.test.model;

public class User {

 private Long id;
 
 private String name;
 
 private Integer age;
 
 private String password;

   //   get/set方法
 
}

User.hbm.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="com.zx.test.model.User" table="LB_USER">
        <id name="id" type="java.lang.Long">
            <column name="ID"/>
            <generator class="sequence">
              <param name="sequence">SEQ_LB_USER</param>
            </generator>
        </id>
        <property name="name" type="java.lang.String">
            <column name="name" length="20"/>
        </property>
        <property name="age" type="java.lang.Integer">
            <column name="age" length="2"/>
        </property>
        <property name="password" type="java.lang.String">
            <column name="password" length="20"/>
        </property>
    
    </class>
</hibernate-mapping>

UserDao.java

package com.zx.test.dao;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.zx.test.model.User;

public class UserDao extends HibernateDaoSupport {
 
 /**
  * 保存user
  * @param user
  */
 public void saveUser(User user){
//  spring自带方法 保存
  this.getHibernateTemplate().save(user);
 }

//update, delete ,findAll 方法同上,省略!

}

 

UserService.java

package com.zx.test.service;

import com.zx.test.dao.UserDao;
import com.zx.test.model.User;

public class UserService {

 private UserDao userDao;
 
 public void setUserDao(UserDao userDao) {
  this.userDao = userDao;
 }


 public void saveUser(User user){
  userDao.saveUser(user);
 }

// 在此处添加业务逻辑方法;
}

UserAction.java

 

package com.zx.test.action;

import com.opensymphony.xwork2.ActionSupport;
import com.zx.test.model.User;
import com.zx.test.service.UserService;

public class UserAction extends ActionSupport {

 private User user;
  
 public User getUser() {
  return user;
 }

 public void setUser(User user) {
  this.user = user;
 }
 
 
 private UserService userService ;

 public void setUserService(UserService userService) {
  this.userService = userService;
 }
 
 
 public String userAdd(){
  
  this.userService.saveUser(user);
  
  return SUCCESS;
 }

//添加action方法

}

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>
  <include file="struts-default.xml"/>
  <package name="user" extends="struts-default" namespace="/user">
    <action name="userAdd" class="userAction" method="userAdd">
       <result name="success">/userShow.jsp</result>
    </action>
  </package>
</struts>

hibernate.cfg.xml

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
 <!-- 基本配置 -->
 <property name="dialect">
  org.hibernate.dialect.Oracle9Dialect
 </property>
 <property name="show_sql">false</property>
 <property name="format_sql">true</property>
 <property name="bytecode.use_reflection_optimizer">true</property>
 <property name="max_fetch_depth">2</property>
 <property name="default_batch_fetch_size">8</property>
 <property name="jdbc.batch_size">20</property>
 
 
 <mapping resource="com/zx/test/model/User.hbm.xml" />

</session-factory>
</hibernate-configuration>

 

applicationContext.xml


   
   <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value ="oracle.jdbc.driver.OracleDriver"/>
    <property name="url" value ="jdbc:oracle:thin:@192.168.0.95:1521:ZXDB2"/>
    <property name="username" value ="test"/>
    <property name="password" value ="test"/>
   
   </bean>
   
   <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
     <ref local="dataSource"/>
    </property>
    <property name="configLocation">
     <value type="org.springframework.core.io.Resource">classpath:hibernate.cfg.xml</value>
    </property>
   </bean>
   
   <bean id="userDao" class="com.zx.test.dao.UserDao">
     <property name="sessionFactory" ref="sessionFactory"></property>
   </bean>
   
   <bean id="userService" class="com.zx.test.service.UserService">
     <property name="userDao" ref="userDao"></property>
   </bean>
   
   <bean id="userAction" class="com.zx.test.action.UserAction" scope="prototype">
     <property name="userService" ref="userService"></property>
   </bean>

 

web.xml:

<!-- 配置Struts2 -->
  <filter>
  <filter-name>struts2</filter-name>
  <filter-class>
   org.apache.struts2.dispatcher.FilterDispatcher
  </filter-class>
 </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <!--  配置Spring  -->
 <listener>
  <listener-class>
   org.springframework.web.context.ContextLoaderListener  </listener-class>
 </listener>
 
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath*:*.xml</param-value>
 </context-param>

index.jsp:

<form action="<%=request.getContextPath() %>/user/userAdd.action" name="form1" method="post">
   
       userName: <input type ="text" name="user.name"><br>
       password:<input type="password" name="user.password"><br>
       age:<input type="text" name="user.age"><br>
       <input type="submit" value="submit">&nbsp;<input type="reset" value="reset">
    </form>

userShow.jsp

在第一行添加 struts2 的标签

即:<%@ taglib prefix="s" uri="/struts-tags" %>

<body>
 
       userName: <s:property value="user.name"/><br>
       password:<s:property value="user.password"/><br>
       age:<s:property value="user.age"/>
   
  </body>

 


struts.properties 文件可要可无!(可以自己配置)

分享到:
评论
1 楼 daydayforum 2013-03-23  
在eclipse下进行ssh框架开发,只在WEB/INF/lib目录下导入struts2、spring、hibernate和数据库驱动相应的jar包后,再配置web.xml、struts.xml、application.xml和struts.properties等文件后是否就可以进行ssh框架开发了??

相关推荐

Global site tag (gtag.js) - Google Analytics