`
leopard_lb
  • 浏览: 40533 次
  • 性别: Icon_minigender_1
  • 来自: 太原
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Struts+spring+hibernate学习笔记!

阅读更多

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

字串1
代码
  1. <servlet>  
  2.   <servlet-name>SpringContextServlet</servlet-name>  
  3.   <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>  
  4.   <load-on-startup>1</load-on-startup>  
  5. </servlet>  
<script type="text/javascript">render_code();</script>

 

字串8

我的整个web.xml象这样:
字串9

代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">  
  3. <web-app>  
  4.   <display-name>info_web</display-name>  
  5.   <context-param>  
  6.     <param-name>contextConfigLocation</param-name>  
  7.     <param-value>/WEB-INF/applicationContext-hibernate.xml</param-value>  
  8.   </context-param>  
  9.   <filter>  
  10.     <filter-name>SetCharacterEncoding</filter-name>  
  11.     <filter-class>iclass.util.SetEncodingFilter</filter-class>  
  12.     <init-param>  
  13.       <param-name>encoding</param-name>  
  14.       <param-value>GBK</param-value>  
  15.     </init-param>  
  16.   </filter>  
  17.   <filter>  
  18.     <filter-name>FilterRedirector</filter-name>  
  19.     <filter-class>org.apache.cactus.server.FilterTestRedirector</filter-class>  
  20.   </filter>  
  21.   <filter-mapping>  
  22.     <filter-name>SetCharacterEncoding</filter-name>  
  23.     <url-pattern>/*</url-pattern>  
  24.   </filter-mapping>  
  25.   <filter-mapping>  
  26.     <filter-name>FilterRedirector</filter-name>  
  27.     <url-pattern>/FilterRedirector</url-pattern>  
  28.   </filter-mapping>  
  29.   <servlet>  
  30.     <servlet-name>SpringContextServlet</servlet-name>  
  31.     <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>  
  32.     <load-on-startup>1</load-on-startup>  
  33.   </servlet>  
  34.   <servlet>  
  35.     <servlet-name>ServletRedirector</servlet-name>  
  36.     <servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class>  
  37.   </servlet>  
  38.   <servlet>  
  39.     <servlet-name>JspRedirector</servlet-name>  
  40.     <jsp-file>/jspRedirector.jsp</jsp-file>  
  41.   </servlet>  
  42.   <servlet>  
  43.     <servlet-name>action</servlet-name>  
  44.     <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
  45.     <init-param>  
  46.       <param-name>config</param-name>  
  47.       <param-value>/WEB-INF/struts-config.xml</param-value>  
  48.     </init-param>  
  49.     <init-param>  
  50.       <param-name>debug</param-name>  
  51.       <param-value>2</param-value>  
  52.     </init-param>  
  53.     <init-param>  
  54.       <param-name>application</param-name>  
  55.       <param-value>ApplicationResources</param-value>  
  56.     </init-param>  
  57.     <load-on-startup>2</load-on-startup>  
  58.   </servlet>  
  59.   <servlet-mapping>  
  60.     <servlet-name>ServletRedirector</servlet-name>  
  61.     <url-pattern>/ServletRedirector</url-pattern>  
  62.   </servlet-mapping>  
  63.   <servlet-mapping>  
  64.     <servlet-name>JspRedirector</servlet-name>  
  65.     <url-pattern>/JspRedirector</url-pattern>  
  66.   </servlet-mapping>  
  67.   <servlet-mapping>  
  68.     <servlet-name>action</servlet-name>  
  69.     <url-pattern>*.do</url-pattern>  
  70.   </servlet-mapping>  
  71.   <welcome-file-list>  
  72.     <welcome-file>index.jsp</welcome-file>  
  73.   </welcome-file-list>  
  74.   <taglib>  
  75.     <taglib-uri>/tags/struts-nested</taglib-uri>  
  76.     <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>  
  77.   </taglib>  
  78.   <taglib>  
  79.     <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>  
  80.     <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>  
  81.   </taglib>  
  82.   <taglib>  
  83.     <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>  
  84.     <taglib-location>/WEB-INF/struts-html.tld</taglib-location>  
  85.   </taglib>  
  86.   <taglib>  
  87.     <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>  
  88.     <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>  
  89.   </taglib>  
  90.   <taglib>  
  91.     <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>  
  92.     <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>  
  93.   </taglib>  
  94.   <taglib>  
  95.     <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>  
  96.     <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>  
  97.   </taglib>  
  98. </web-app>  
<script type="text/javascript">render_code();</script>

  字串5

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

代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">  
  3.   
  4. <beans>    
  5.     <!-- ========================= Start of PERSISTENCE DEFINITIONS ========================= -->     
  6.        
  7.     <!-- Choose the dialect that matches your "dataSource" definition -->  
  8.   
  9.     <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  
  10.         <property name="driverClassName">  
  11.             <value>org.gjt.mm.mysql.Driver</value>  
  12.         </property>  
  13.         <property name="url">  
  14.             <value>jdbc:mysql://localhost:3306/info_web?useUnicode=true&characterEncoding=GBK</value>  
  15.         </property>  
  16.         <property name="username">  
  17.             <value>root</value>  
  18.         </property>  
  19.         <property name="password">  
  20.             <value>123456</value>  
  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.xml</value>  
  28.                 <value>infoweb/pojo/Board.hbm.xml</value>  
  29.                 <value>infoweb/pojo/Image.hbm.xml</value>  
  30.                 <value>infoweb/pojo/Info.hbm.xml</value>  
  31.             </list>  
  32.         </property>        
  33.            
  34.         <property name="hibernateProperties">  
  35.             <props>  
  36.                 <prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop>  
  37.                 <prop key="hibernate.show_sql">true</prop>  
  38.                 <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>  
  39.             </props>  
  40.         </property>    
  41.   
  42.         <property name="dataSource"><ref bean="myDataSource"/></property>  
  43.     </bean>  
  44.   
  45.     <!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) -->  
  46.     <bean id="myTransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">  
  47.         <property name="sessionFactory"><ref local="mySessionFactory"/></property>  
  48.     </bean>  
  49.        
  50.   
  51.     <!-- ***** Board  SERVICE ***** -->  
  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,-BoardException</prop>  
  58.                 <prop key="set*">PROPAGATION_REQUIRED,-BoardException</prop>  
  59.                 <prop key="modify*">PROPAGATION_REQUIRED,-BoardException</prop>  
  60.                 <prop key="remove*">PROPAGATION_REQUIRED,-BoardException</prop>  
  61.             </props>  
  62.         </property>  
  63.     </bean>  
  64.   
  65.     <!-- board primary business object implementation -->  
  66.     <bean id="boardServiceSpring" class="infoweb.service.BoardServiceSpringImpl">  
  67.         <property name="boardTreeDAO"><ref local="boardTreeDAO"/></property>  
  68.     </bean>  
  69.        
  70.   
  71.     <!-- DAO board: Hibernate implementation -->  
  72.     <bean id="boardTreeDAO" class="infoweb.dao.BoardTreeDAOImpl">  
  73.         <property name="sessionFactory"><ref local="mySessionFactory"/></property>  
  74.     </bean>  
  75.   
  76.     <!-- DAO info: Hibernate implementation -->  
  77.     <bean id="infoDAO" class="infoweb.dao.InfoDAOImpl">  
  78.         <property name="sessionFactory"><ref local="mySessionFactory"/></property>  
  79.     </bean>  
  80. </beans>  
  81.   
<script type="text/javascript">render_code();</script>

 

字串9

3.做DAO代码,
字串3

代码
  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: 版块分类DAOImpl</p>  
  17.  * <p>Description: 用树型结构实现</p>  
  18.  * <p>Copyright: Copyright (c) 2004</p>  
  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();   
  125.     Board parent = (Board) getHibernateTemplate().load(Board.class, parentId);  &nbs
分享到:
评论

相关推荐

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

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

    struts+spring+hibernate学习笔记

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

    struts+spring+hibernate 整合笔记

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

    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的入门笔记吧!... 供学习使用........

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

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

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

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

    struts+hibernate+spring详细笔记

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

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

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

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

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

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

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

    传智播客2016版hibernate+struts2+Spring框架资料课件+笔记

    《传智播客2016版hibernate+struts2+Spring框架学习资源详解》 在IT行业中,框架的使用是开发高效、稳定应用的关键。本资源包聚焦于三大主流Java Web框架:Hibernate、Struts2和Spring,它们在2016年时仍然是开发者...

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

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics