`
coolmaple
  • 浏览: 34998 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

[转]Struts+spring+hibernate学习笔记

    博客分类:
  • SSH
阅读更多

原帖:http://www.iteye.com/article/7925 

Struts+spring+hibernate学习笔记

(快刀浪子原创)下面是我学习Struts+spring+hibernate的笔记.

1.WEB.XML的配置:
首先在web.xml中加入:

代码
  1. <servlet>  
  2.   <servlet-name>SpringContextServletservlet-name>  
  3.   <servlet-class>org.springframework.web.context.ContextLoaderServletservlet-class>  
  4.   <load-on-startup>1load-on-startup>  
  5. servlet>  

<script>render_code();</script>

我的整个web.xml象这样:

代码
  1. <!---->xml version="1.0" encoding="UTF-8"?>  
  2. <!---->>  
  3. <web-app>  
  4.   <display-name>info_webdisplay-name>  
  5.   <context-param>  
  6.     <param-name>contextConfigLocationparam-name>  
  7.     <param-value>/WEB-INF/applicationContext-hibernate.xmlparam-value>  
  8.   context-param>  
  9.   <filter>  
  10.     <filter-name>SetCharacterEncodingfilter-name>  
  11.     <filter-class>iclass.util.SetEncodingFilterfilter-class>  
  12.     <init-param>  
  13.       <param-name>encodingparam-name>  
  14.       <param-value>GBKparam-value>  
  15.     init-param>  
  16.   filter>  
  17.   <filter>  
  18.     <filter-name>FilterRedirectorfilter-name>  
  19.     <filter-class>org.apache.cactus.server.FilterTestRedirectorfilter-class>  
  20.   filter>  
  21.   <filter-mapping>  
  22.     <filter-name>SetCharacterEncodingfilter-name>  
  23.     <url-pattern>/*url-pattern>  
  24.   filter-mapping>  
  25.   <filter-mapping>  
  26.     <filter-name>FilterRedirectorfilter-name>  
  27.     <url-pattern>/FilterRedirectorurl-pattern>  
  28.   filter-mapping>  
  29.   <servlet>  
  30.     <servlet-name>SpringContextServletservlet-name>  
  31.     <servlet-class>org.springframework.web.context.ContextLoaderServletservlet-class>  
  32.     <load-on-startup>1load-on-startup>  
  33.   servlet>  
  34.   <servlet>  
  35.     <servlet-name>ServletRedirectorservlet-name>  
  36.     <servlet-class>org.apache.cactus.server.ServletTestRedirectorservlet-class>  
  37.   servlet>  
  38.   <servlet>  
  39.     <servlet-name>JspRedirectorservlet-name>  
  40.     <jsp-file>/jspRedirector.jspjsp-file>  
  41.   servlet>  
  42.   <servlet>  
  43.     <servlet-name>actionservlet-name>  
  44.     <servlet-class>org.apache.struts.action.ActionServletservlet-class>  
  45.     <init-param>  
  46.       <param-name>configparam-name>  
  47.       <param-value>/WEB-INF/struts-config.xmlparam-value>  
  48.     init-param>  
  49.     <init-param>  
  50.       <param-name>debugparam-name>  
  51.       <param-value>2param-value>  
  52.     init-param>  
  53.     <init-param>  
  54.       <param-name>applicationparam-name>  
  55.       <param-value>ApplicationResourcesparam-value>  
  56.     init-param>  
  57.     <load-on-startup>2load-on-startup>  
  58.   servlet>  
  59.   <servlet-mapping>  
  60.     <servlet-name>ServletRedirectorservlet-name>  
  61.     <url-pattern>/ServletRedirectorurl-pattern>  
  62.   servlet-mapping>  
  63.   <servlet-mapping>  
  64.     <servlet-name>JspRedirectorservlet-name>  
  65.     <url-pattern>/JspRedirectorurl-pattern>  
  66.   servlet-mapping>  
  67.   <servlet-mapping>  
  68.     <servlet-name>actionservlet-name>  
  69.     <url-pattern>*.dourl-pattern>  
  70.   servlet-mapping>  
  71.   <welcome-file-list>  
  72.     <welcome-file>index.jspwelcome-file>  
  73.   welcome-file-list>  
  74.   <taglib>  
  75.     <taglib-uri>/tags/struts-nestedtaglib-uri>  
  76.     <taglib-location>/WEB-INF/struts-nested.tldtaglib-location>  
  77.   taglib>  
  78.   <taglib>  
  79.     <taglib-uri>/WEB-INF/struts-bean.tldtaglib-uri>  
  80.     <taglib-location>/WEB-INF/struts-bean.tldtaglib-location>  
  81.   taglib>  
  82.   <taglib>  
  83.     <taglib-uri>/WEB-INF/struts-html.tldtaglib-uri>  
  84.     <taglib-location>/WEB-INF/struts-html.tldtaglib-location>  
  85.   taglib>  
  86.   <taglib>  
  87.     <taglib-uri>/WEB-INF/struts-logic.tldtaglib-uri>  
  88.     <taglib-location>/WEB-INF/struts-logic.tldtaglib-location>  
  89.   taglib>  
  90.   <taglib>  
  91.     <taglib-uri>/WEB-INF/struts-tiles.tldtaglib-uri>  
  92.     <taglib-location>/WEB-INF/struts-tiles.tldtaglib-location>  
  93.   taglib>  
  94.   <taglib>  
  95.     <taglib-uri>/WEB-INF/struts-nested.tldtaglib-uri>  
  96.     <taglib-location>/WEB-INF/struts-nested.tldtaglib-location>  
  97.   taglib>  
  98. web-app>  

<script>render_code();</script>

 

2.spring配置
配置文件为applicationContext-hibernate.xml,在此配置文件中,配了POJO层,商业逻辑层,DAO层,和事务管理

代码
  1. <!---->xml version="1.0" encoding="UTF-8"?>  
  2. <!---->>  
  3.   
  4. <beans>    
  5.     <!---->     
  6.        
  7.     <!---->  
  8.   
  9.     <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  
  10.         <property name="driverClassName">  
  11.             <value>org.gjt.mm.mysql.Drivervalue>  
  12.         property>  
  13.         <property name="url">  
  14.             <value>jdbc:mysql://localhost:3306/info_web?useUnicode=true&characterEncoding=GBKvalue>  
  15.         property>  
  16.         <property name="username">  
  17.             <value>rootvalue>  
  18.         property>  
  19.         <property name="password">  
  20.             <value>123456value>  
  21.         property>  
  22.     bean>  
  23.        
  24.     <bean id="mySessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">  
  25.         <property name="mappingResources">  
  26.             <list>  
  27.                 <value>infoweb/pojo/Answer.hbm.xmlvalue>  
  28.                 <value>infoweb/pojo/Board.hbm.xmlvalue>  
  29.                 <value>infoweb/pojo/Image.hbm.xmlvalue>  
  30.                 <value>infoweb/pojo/Info.hbm.xmlvalue>  
  31.             list>  
  32.         property>        
  33.            
  34.         <property name="hibernateProperties">  
  35.             <props>  
  36.                 <prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialectprop>  
  37.                 <prop key="hibernate.show_sql">trueprop>  
  38.                 <prop key="hibernate.cglib.use_reflection_optimizer">trueprop>  
  39.             props>  
  40.         property>    
  41.   
  42.         <property name="dataSource"><ref bean="myDataSource"/>property>  
  43.     bean>  
  44.   
  45.     <!---->  
  46.     <bean id="myTransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">  
  47.         <property name="sessionFactory"><ref local="mySessionFactory"/>property>  
  48.     bean>  
  49.        
  50.   
  51.     <!---->  
  52.     <bean id="boardService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">       
  53.         <property name="transactionManager"><ref local="myTransactionManager"/>property>  
  54.         <property name="target"><ref local="boardServiceSpring"/>property>  
  55.         <property name="transactionAttributes">  
  56.             <props>  
  57.                 <prop key="get*">PROPAGATION_REQUIRED,readOnly,-BoardExceptionprop>  
  58.                 <prop key="set*">PROPAGATION_REQUIRED,-BoardExceptionprop>  
  59.                 <prop key="modify*">PROPAGATION_REQUIRED,-BoardExceptionprop>  
  60.                 <prop key="remove*">PROPAGATION_REQUIRED,-BoardExceptionprop>  
  61.             props>  
  62.         property>  
  63.     bean>  
  64.   
  65.     <!---->  
  66.     <bean id="boardServiceSpring" class="infoweb.service.BoardServiceSpringImpl">  
  67.         <property name="boardTreeDAO"><ref local="boardTreeDAO"/>property>  
  68.     bean>  
  69.        
  70.   
  71.     <!---->  
  72.     <bean id="boardTreeDAO" class="infoweb.dao.BoardTreeDAOImpl">  
  73.         <property name="sessionFactory"><ref local="mySessionFactory"/>property>  
  74.     bean>  
  75.   
  76.     <!---->  
  77.     <bean id="infoDAO" class="infoweb.dao.InfoDAOImpl">  
  78.         <property name="sessionFactory"><ref local="mySessionFactory"/>property>  
  79.     bean>  
  80. beans>  
  81.   

<script>render_code();</script>

 

3.做DAO代码,

代码
  1. package infoweb.dao;   
  2.   
  3. import java.util.List;   
  4. import java.util.Iterator;   
  5.   
  6. import infoweb.pojo.Board;   
  7.   
  8. import net.sf.hibernate.HibernateException;   
  9. import net.sf.hibernate.Query;   
  10. import net.sf.hibernate.Session;   
  11.   
  12. import org.springframework.orm.hibernate.HibernateCallback;   
  13. import org.springframework.orm.hibernate.support.HibernateDaoSupport;   
  14.   
  15. /**   
  16.  * <p>Title: 版块分类DAOImplp>  
  17.  * <p>Description: 用树型结构实现p>  
  18.  * <p>Copyright: Copyright (c) 2004p>  
  19.  * <p>Company: p>  
  20.  * @author 段洪杰   
  21.  * @version 1.0   
  22.  */   
  23.   
  24. public class BoardTreeDAOImpl extends HibernateDaoSupport implements   
  25.     IBoardTreeDAO {   
  26.   
  27.   /**   
  28.    * 构造函数   
  29.    */   
  30.   public BoardTreeDAOImpl() {   
  31.     super();   
  32.   }   
  33.   
  34.   /**   
  35.    * 通过ID取得版块   
  36.    * @param id String   
  37.    * @return Board   
  38.    */   
  39.   
  40.   public Board getBoardById(String id) {   
  41.     Board board = (Board) getHibernateTemplate().load(Board.class, id);   
  42.     return board;   
  43.   }   
  44.   
  45.   /**   
  46.    * 取根叶   
  47.    * @return Iterator   
  48.    */   
  49.   public Iterator getRoots() throws HibernateException {   
  50.     String queryString =   
  51.         "select board from Board as board where board.parentId='root' order by board.id desc";   
  52.     List roots = getHibernateTemplate().find(queryString);   
  53.     return roots.iterator();   
  54.   }   
  55.   
  56.   /**   
  57.    * 存根叶   
  58.    * @param board Board   
  59.    */   
  60.   public void setRoot(Board board) {   
  61.     board.setParentId("root");   
  62.     getHibernateTemplate().save(board);   
  63.   }   
  64.   
  65.   /**   
  66.    * 取子叶   
  67.    * @param  parentid String   
  68.    * @return List   
  69.    */   
  70.   public Iterator getChildren(String parentid) {   
  71.     /*   
  72.          String queryString =   
  73.      "select board as Board where board.parent_id='parentid' order by board.id desc";   
  74.          List children = getHibernateTemplate().find(queryString);   
  75.          return children;   
  76.      */   
  77.     Board parent = (Board) getHibernateTemplate().load(Board.class, parentid);   
  78.     return parent.getChildren().iterator();   
  79.   }   
  80.   
  81.   /**   
  82.    * 取子叶数   
  83.    * @param parentid String   
  84.    * @return int   
  85.    */   
  86.   
  87.   public int getChildrenCount(String parentid) {   
  88.     /*   
  89.          String queryString =   
  90.      "select count(*) Board where board.parent_id='parentid' order by board.id desc";   
  91.          List children = getHibernateTemplate().find(queryString);   
  92.          int count = ((Integer) children.iterator().next()).intValue();   
  93.          return count;   
  94.      */   
  95.     Board parent = (Board) getHibernateTemplate().load(Board.class, parentid);   
  96.     int count = parent.getChildren().size();   
  97.     return count;   
  98.   }   
  99.   
  100.   /**   
  101.    * 存子叶   
  102.    * @param parentLeaf Leaf   
  103.    */   
  104.   public void setChild(Board board, String parentid) {   
  105.     board.setParentId(parentid);   
  106.     getHibernateTemplate().save(board);   
  107.   }   
  108.   
  109.   /**   
  110.    *   
  111.    * 删除该叶和它的子叶   
  112.    * @param board Board   
  113.    */   
  114.   public void deleteBranch(Board board) {   
  115.       getHibernateTemplate().delete(board);   
  116.   }   
  117.   
  118.   /**   
  119.    * 根据子叶得到父叶   
  120.    * @param child Board   
  121.    * @return Board   
  122.    */   
  123.   public Board getParentByChild(Board child) {   
  124.     String parentId = child.getParentId();    <li class="al
分享到:
评论

相关推荐

    struts+spring+hibernate学习笔记

    这个“struts+spring+hibernate学习笔记”应该涵盖了这三个框架的基础知识以及如何将它们整合使用的详细教程。 Struts是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于控制Web应用的流程。它...

    Struts+spring+hibernate学习笔记! - Struts原理与实践 - JavaEye知识库.files

    Struts、Spring 和 Hibernate 是Java开发中非常著名的三个开源框架,它们在企业级应用开发中起着关键作用。Struts 是一个 MVC(Model-View-Controller)架构的 Web 框架,Spring 提供了一个全面的后端服务管理平台,...

    Struts+Spring+Hibernate笔记文档

    Struts、Spring和Hibernate是Java开发中非常重要的三个开源框架,它们各自负责Web应用程序的不同层面。Struts主要用于控制层,Spring则是一个全面的框架,涵盖了依赖注入、事务管理、AOP(面向切面编程)等多个方面...

    Struts + Spring + Hibernate

    学习和理解Struts、Spring、Hibernate的整合不仅有助于开发者构建高效的企业级应用,还能提升其在Java开发领域的专业素养。这三个框架的组合提供了良好的分层架构,使得项目更易于维护和扩展,同时也降低了代码的...

    Struts+Spring+hibernate学习总结

    【Struts+Spring+Hibernate 学习总结】 SSH(Struts、Spring、Hibernate)是Java Web开发中的一个经典企业级应用架构,它将MVC设计模式应用到Web应用的各个层次,实现了良好的分层和解耦。这篇学习总结旨在帮助读者...

    SSH(Struts+spring+hibernate)整合资料

    java(1) 整合入门(spring,struts,hibernate的整合)资料(1) 中大软件工厂项目前培训资料(1) 完整笔记+源码(1) ssh(1) C#查询参数化例子(1) 学习笔记+完整源码(1) 介绍与深入(1) 学习笔记(不含整合)(1) C#(1) .CHM格式...

    struts2+spring+hibernate 做的图书管理系统

    内涵数据库设计模型 和数据库设计代码! 图书管理系统: 数据库使用的mysql 里面的发送e-mail我用的是一个我申请的邮箱在测试 可以用自己的! 代码功能基本都有注释.... 才学完s2sh的入门笔记吧!... 供学习使用........

    struts+spring+hibernate 整合笔记

    ### Struts + Spring + Hibernate 整合笔记 #### 前言 随着企业级应用的不断发展壮大,单一框架已经难以满足复杂多变的业务需求。因此,将多种框架进行有机整合成为了开发高效率、高性能应用的重要手段之一。本...

    jsp+tomcat+Struts2+Spring+Hibernate应用实例.rar

    而“Struts+Spring+Hibernate整合笔记.txt”则可能记录了整合过程中的关键点、注意事项或者常见问题解决方案。 这些技术的整合能够实现松散耦合,提高代码的可维护性和可扩展性。Struts2处理HTTP请求,Spring管理...

    SSH整合学习笔记之struts2+spring+hibernate+c3p0源码

    本学习笔记将深入探讨这四个组件如何协同工作,构建出强大的企业级应用。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它提供了处理用户请求、控制应用流程的能力。Struts2的核心是...

    struts2+spring2+hibernate3+ajax课件,老师上课时用的讲义完整版,独加推出

    SSH版本1.0——基于struts,struts2,spring2,hibernate3 本软件是作者上课时所使用的课件,用于SSH教学任务,于上课时分发给学生。 本课件大部分资料由作者完成,另一部分来源于教科书及网络,经作者整理、加工、...

    struts+hibernate+spring详细笔记

    5. **整合使用**:学习如何在Spring中配置Struts和Hibernate,理解它们如何协同工作。 6. **实战项目**:通过实际项目练习,巩固理论知识,提高问题解决能力。 通过深入学习和实践,你将能够熟练运用SSH框架构建...

    Struts2笔记+Hibernate3.6笔记+Spring3笔记

    SSH是Java开发中广泛使用的三大框架——Struts2、Hibernate和Spring的缩写。这三大框架结合使用,能够构建高效、灵活的企业级Web应用程序。现在,让我们深入探讨这些框架的知识点。 **Struts2笔记** Struts2是MVC...

    spring+hibernate+jpa+struts1+struts2+springmvc+jquery+freemaker 学习笔记 案例.rar

    spring+hibernate+jpa+struts1+struts2+springmvc+jquery+freemaker 学习笔记 Compass将lucene、Spring、Hibernate三者结合

    JSP三大框架笔记(SSH struts+hibernate+spring.rar)

    本笔记主要涵盖了Java服务器页面(JSP)开发中的三大主流框架:Struts、Hibernate和Spring。这三大框架是企业级Web应用开发中的基石,为开发者提供了高效、灵活且可扩展的解决方案。Struts作为MVC(模型-视图-控制器...

    struts2+hibernate+spring三大框架知识点笔记

    Struts2、Hibernate和Spring是Java开发中三大主流框架,它们各自解决了Web开发中的不同问题,结合使用可以构建出高效、可维护的大型企业级应用。以下是对这三大框架及其结合使用的知识点详解。 **Struts2框架** ...

    SSH项目(spring+hibernate+struts2)

    SSH项目是一种经典的Java Web开发框架组合,由Spring、Hibernate和Struts2三个开源框架组成。这个项目示例提供了一个基于这些技术的简单应用,帮助开发者理解如何将它们整合在一起进行实际开发。 **Spring框架**是...

    Struts、Spring、Hibernate&Ajax;学习笔记总结

    ### Struts、Spring、Hibernate&Ajax 学习笔记总结 #### Struts 部分 **Struts** 是 Java 开源框架中最早出现且最具影响力的框架之一,它出自 Apache 组织,是 Java Web 应用开发的标准之一。Struts 以 MVC(Model...

Global site tag (gtag.js) - Google Analytics