`
Angelialily
  • 浏览: 241652 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Struts+Hibernate+Sprint结合完美实现

阅读更多
实现接口类:
package com.wu.dao;
import java.util.List;
import hib.*;
import org.springframework.orm.hibernate3.support.*;
public class EmailDAOImp extends HibernateDaoSupport implements IEmailDAO {
org.springframework.orm.hibernate3.LocalSessionFactoryBean  sessionFactory;
/*
  * (non-Javadoc)
  * @see com.wu.dao.IEmailDAO#deleteE(int)
  * deleteE方法删除数据 按编号删除
  */
public  boolean deleteE(int emailId){
  try{
   /*
    * load方法加载类。 通过这个对象找到这个编号
    * 调用模版的delete方法 (删除的是个对象)
    */
   EmailInfo obj=(EmailInfo)this.getHibernateTemplate().load(EmailInfo.class, new Integer(emailId));
   this.getHibernateTemplate().delete(obj);
   return true;
  }catch(Exception ex){
   System.out.println(ex.getMessage());
   return false;
  }
}
/*
  * (non-Javadoc)
  * @see com.wu.dao.IEmailDAO#readAllEmail()
  * 读取方法 用模版的find方法
  */
public  List readAllEmail(){
  try{
   String  strSql="from hib.EmailInfo";
   return this.getHibernateTemplate().find(strSql);
  }catch(Exception ex){
   System.out.println(ex.getMessage());
   return null;
  }
}
/*
  * (non-Javadoc)
  * @see com.wu.dao.IEmailDAO#addEmail(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
  *  添加方法  调用用对象来添加
  *  添加的模版用Save方法来保存
  */
public boolean addEmail(String emailfrom, String emailto,
   String emailtitle, String emailcontent) {
  try{
   EmailInfo  email = new EmailInfo();
   email.setEmailfrom(emailfrom);
   email.setEmailto(emailto);
   email.setEmailtitle(emailtitle);
   email.setEmailcontent(emailcontent);
  
   FJInfo  fj = new FJInfo();
   fj.setFjfile("one");
   fj.setFjurl("one");
   FJInfo  fj1 = new FJInfo();
   fj1.setFjfile("two");
   fj1.setFjurl("two");
   email.getFjSet().add(fj);
   email.getFjSet().add(fj1);
   this.getHibernateTemplate().save(email);
   return true;
  }catch(Exception ex){
   System.out.println(ex.getMessage());
  }
  return false;
}

}
------------------------------------
Action类

public ActionForward insertEmail(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  EmaiForm emaiForm = (EmaiForm) form;// TODO Auto-generated method stub
  String emailfrom  = emaiForm.getEmailfrom();
  String emailto    = emaiForm.getEmailto();
  String emailtitle = emaiForm.getEmailtitle();
  String emailcontent = emaiForm.getEmailcontent();
  /*
   * addEmail 添加的方法
   * List   添加后要返回一个集合
   */
  if(emailDAO.addEmail(emailfrom, emailto, emailtitle, emailcontent)){
   List  email = emailDAO.readAllEmail();//把添加后的结果显示出来调用这个方法
    emaiForm.setList(email);
   return mapping.findForward("emailpage");
  }else{
   return mapping.findForward("errorpage");
  }
}
public ActionForward deleteEmail(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  EmaiForm emaiForm = (EmaiForm) form;// TODO Auto-generated method stub
  int emailId  =Integer.parseInt(request.getParameter("emailId"));
  /*
   * deleteE 删除的方法
   * List 删除后要返回一个集合
   */
  if(emailDAO.deleteE(emailId)){
   List  email = emailDAO.readAllEmail();//删除后要把删除后的结果显示出来
    emaiForm.setList(email);
   return mapping.findForward("emailpage");
  }else{
   return mapping.findForward("errorpage");
  }
 
}
--------------------------------------
配置文件
<beans>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName">
   <value>net.sourceforge.jtds.jdbc.Driver</value>
  </property>
  <property name="url">
   <value>jdbc:jtds:sqlserver://127.0.0.1:1433/pubs</value>
  </property>
  <property name="username">
   <value>sa</value>
  </property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource">
   <ref local="dataSource"/>
  </property>
  <property name="mappingResources">
   <list>
    <value>/hib/UserInfo.hbm.xml</value>
    <value>/hib/EmailInfo.hbm.xml</value>
    <value>/hib/FJInfo.hbm.xml</value>
   </list>
  </property>
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
    <prop key="hibernate.show_sql">true</prop>
   </props>
  </property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory">
   <ref local="sessionFactory"/>
  </property>
</bean>
<bean id="userDAO" class="com.wu.dao.UserDAOImp">
  <property name="sessionFactory">
   <ref local="sessionFactory"/>
  </property>
</bean>
<bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="transactionManager">
   <ref bean="transactionManager"/>
  </property>
  <property name="target">
   <ref local="userDAO"/>
  </property>
  <property name="transactionAttributes">
   <props>
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
    <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
    <prop key="check*">PROPAGATION_REQUIRED,readOnly</prop>
   </props>
  </property>
</bean>
<bean id="emailDAO" class="com.wu.dao.EmailDAOImp">
  <property name="sessionFactory">
   <ref local="sessionFactory"/>
  </property>
</bean>
<bean id="emailDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="transactionManager">
   <ref bean="transactionManager"/>
  </property>
  <property name="target">
   <ref local="emailDAO"/>
  </property>
  <property name="transactionAttributes">
   <props>
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
    <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
    <prop key="add*">PROPAGATION_REQUIRED</prop>
    <prop key="delete*">PROPAGATION_REQUIRED</prop>
    <prop key="read*">PROPAGATION_REQUIRED,readOnly</prop>
   </props>
  </property>
</bean>
<bean name="/login" class="com.wu.struts.action.LoginAction">
  <property name="userDAO">
   <ref bean="userDAOProxy"/>
  </property>
</bean>
<bean name="/emai" class="com.wu.struts.action.EmaiAction">
  <property name="emailDAO">
   <ref bean="emailDAOProxy"/>
  </property>
</bean>
</beans>
---------------------------
循环显示页面
<table width="80%" border="1" bgcolor="#ffcc88">
     <tr>
      <td>emailId</td>
      <td>emailfrom</td>
      <td>emailto</td>
      <td>emailtitle</td>
      <td>emailcontent</td>
      <td>delete</td>
     </tr>
        <logic:present name="emaiForm">
         <logic:iterate id="emai" name="emaiForm" property="list" type="hib.EmailInfo">
          <tr>
        <td><bean:write name="emai" property="emailId"/></td>
        <td><bean:write name="emai" property="emailfrom"/></td>
        <td><bean:write name="emai" property="emailto"/></td>
        <td><bean:write name="emai" property="emailtitle"/></td>
        <td><bean:write name="emai" property="emailcontent"/></td>
        <td><a href="/TestEmail/emai.do?method=deleteEmail&emailId=<%=emai.getEmailId()%>" onclick="return confirm('Y/N');">Delete</a></td>
       </tr>
         </logic:iterate>
        </logic:present>
</table>
0
0
分享到:
评论
2 楼 yojiwei 2008-02-03  
没有层次感,写的太乱!
注释的不专业!有待提高!
1 楼 zhkchi 2008-02-02  
这个。。。你没发现少很多重要的配置说明么?

相关推荐

    sprint+struts+hibernate框架

    总的来说,"Sprint+Struts+Hibernate"框架的组合为Java开发者提供了一个强大的工具集,帮助他们构建健壮、灵活的Web应用,同时JPA的加入使得数据持久化的处理更加标准化。了解并熟练掌握这些框架的使用,对于提升...

    Struts+Spring+Hibernate开发入行真功夫源码

    Struts、Spring和Hibernate是Java Web开发中的三大框架,它们共同构建了企业级应用程序的基石。这个"Struts+Spring+Hibernate开发入行真功夫源码"提供了完整的代码示例,帮助初学者深入理解这三个框架的集成与应用。...

    easyui+spring+struts+hibernate 实例

    Java Web Demo,前台使用easyUI控件、jQuery技术,后台使用Spring、Struts、Hibernate技术。具体运行参考:http://blog.csdn.net/fansy1990/article/details/39319335

    struts+hibernate+spring.rar(demo)

    Struts、Hibernate 和 Spring 是Java开发中的三大框架,它们各自负责不同的职责,组合起来可以构建出高效、松耦合的企业级应用。这个"struts+hibernate+spring.rar(demo)"压缩包很可能是提供了一个整合这三大框架...

    ssh配置,Struts1.2+Sprint2+hibernate3.1

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要讲述的是如何在MyEclipse 5.5.1环境中配置SSH框架(Struts + Spring + Hibernate)以及与Tomcat 5.5集成的过程。接下来,我们将深入探讨这些内容...

    SSH,struts2.21+spring3+hibernate3.68

    SSH是Java开发中的一种经典企业级应用框架组合,由Struts2、Spring和Hibernate三个开源框架集成而成。这个"SSH,struts2.21+spring3+hibernate3.68"是一个演示性的工程,它展示了如何将这三个组件协同工作,为开发者...

    Struts2 + Spring3 + Hibernate3.5 整合(实际使用项目,version3).part1

    这是一个实际使用中的项目,可访问 http://cdbke.cuit.edu.cn 可查看效果及功能,后台需要登录后才能使用(出于安全性考虑这里就不给大家介绍了,另外还有一个struts1版本的,如有需要可以与我联系)。 此项目整合...

    Struts2.3.7+Spring3.0.0+Hibernate4.0.0整合源码

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责不同的职责:Struts2主要用于MVC(Model-View-Controller)架构的实现,Spring提供了依赖注入和面向切面编程,以及全面的企业级应用支持,而...

    SSH 常用jar包 (struts sprint hibernate)

    Struts2的jar包通常包括核心库如struts2-core、拦截器库struts2-convention、结果类型库如struts2-json-plugin等,这些jar包提供了Action配置、拦截器、结果类型等功能,使得开发者能够更方便地实现业务逻辑和页面...

    三大框架整合的学习spring struts hibernate

    最后,通过sprint+struts+hibernate.doc和struts+spring+hibernenate.pdf这两个文档,你可以进一步学习三大框架的整合细节,理解如何配置和使用这些框架,以及如何解决整合过程中可能遇到的问题。这些文档将是你深入...

    struts,hibernate,sprint3大框架整合jar包

    在整合这三大框架时,通常会利用Spring的ApplicationContext来管理Struts的Action和Hibernate的SessionFactory,实现它们之间的依赖注入。Spring可以作为整个应用的“胶水”,将各组件粘合在一起。比如,可以通过...

    chinamobile.rar_SPRINT_struts

    struts+hibernate+sprint A full example for business management. It contain a user manangement and business control. It s a good sample for struts entrance.

    struts-hibernate-sprint开发详解 乱码问题 连接池

    在Java Web开发中,Struts、Hibernate和Spring的整合是一个常见的技术栈,称为SSH框架。本文将详细解析如何使用SSH框架进行开发,并解决乱码和连接池的问题。 首先,配置数据库是开发的第一步。在MyEclipse中,可以...

    struts hibernate sprint 经典实例 配置文件的设置

    Struts、Hibernate和Spring是Java开发中的三大主流框架,它们各自负责不同的职责,共同构建了企业级应用的基础架构。Struts处理MVC模式中的Controller部分,Spring提供了强大的依赖注入(DI)和面向切面编程(AOP)...

    Struts2+Ajax实现的用户登录

    Struts2提供了控制流程,Ajax实现了无刷新的用户交互,Sprint协助管理应用程序组件,而Hibernate则简化了数据库操作。理解并掌握这些技术对于Java Web开发者来说至关重要,因为它们构成了现代企业级应用的基础架构。

    struts-sprint-hibernate

    struts-sprint-hibernate 开发案例介绍 介绍了struts-sprint-hibernate 模式的开发流程

    Struts2+Ibatis+Spring例子

    jdbc.url=jdbc:mysql://127.0.0.1/hibernate jdbc.username=root jdbc.password=root 另外我这个工程DEMO支持我自己的代码生成器(http://download.csdn.net/detail/wangxin_wangxin/3914834)(也可以在csdn资源里...

    java面试问题集(j2ee java struts hibernate sprint jsp)

    在面试中,除了上述知识,还需要了解J2EE相关的Web框架Struts、Hibernate和Spring。Struts是一个MVC框架,用于处理HTTP请求和响应;Hibernate是一个对象关系映射(ORM)框架,简化数据库操作;Spring框架是一个全面...

    ssh(hibernat+sprint+struts)

    SSH是一个在Java开发领域广泛应用的开源框架组合,它由Struts、Spring和Hibernate三个组件构成。这个框架集合为构建企业级的Web应用提供了强大的支持。 **Struts** 是一个MVC(Model-View-Controller)框架,负责...

    开发指南(spring,hibernate,ibatis,webwork)

    这四者在实际项目中经常结合使用,Spring可以整合Hibernate和iBatis作为数据访问层,而WebWork(或Struts2)则可以与Spring结合,形成强大的Web应用架构。`Manning@2007 - Spring in Action(2nd Edition).pdf`和`...

Global site tag (gtag.js) - Google Analytics