原帖:http://www.iteye.com/article/7925
(快刀浪子原创)下面是我学习Struts+spring+hibernate的笔记.
1.WEB.XML的配置:
首先在web.xml中加入:
代码
- <servlet>
- <servlet-name>SpringContextServletservlet-name>
- <servlet-class>org.springframework.web.context.ContextLoaderServletservlet-class>
- <load-on-startup>1load-on-startup>
- servlet>
<script>render_code();</script>
我的整个web.xml象这样:
代码
- <!---->xml version="1.0" encoding="UTF-8"?>
- <!---->>
- <web-app>
- <display-name>info_webdisplay-name>
- <context-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>/WEB-INF/applicationContext-hibernate.xmlparam-value>
- context-param>
- <filter>
- <filter-name>SetCharacterEncodingfilter-name>
- <filter-class>iclass.util.SetEncodingFilterfilter-class>
- <init-param>
- <param-name>encodingparam-name>
- <param-value>GBKparam-value>
- init-param>
- filter>
- <filter>
- <filter-name>FilterRedirectorfilter-name>
- <filter-class>org.apache.cactus.server.FilterTestRedirectorfilter-class>
- filter>
- <filter-mapping>
- <filter-name>SetCharacterEncodingfilter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
- <filter-mapping>
- <filter-name>FilterRedirectorfilter-name>
- <url-pattern>/FilterRedirectorurl-pattern>
- filter-mapping>
- <servlet>
- <servlet-name>SpringContextServletservlet-name>
- <servlet-class>org.springframework.web.context.ContextLoaderServletservlet-class>
- <load-on-startup>1load-on-startup>
- servlet>
- <servlet>
- <servlet-name>ServletRedirectorservlet-name>
- <servlet-class>org.apache.cactus.server.ServletTestRedirectorservlet-class>
- servlet>
- <servlet>
- <servlet-name>JspRedirectorservlet-name>
- <jsp-file>/jspRedirector.jspjsp-file>
- servlet>
- <servlet>
- <servlet-name>actionservlet-name>
- <servlet-class>org.apache.struts.action.ActionServletservlet-class>
- <init-param>
- <param-name>configparam-name>
- <param-value>/WEB-INF/struts-config.xmlparam-value>
- init-param>
- <init-param>
- <param-name>debugparam-name>
- <param-value>2param-value>
- init-param>
- <init-param>
- <param-name>applicationparam-name>
- <param-value>ApplicationResourcesparam-value>
- init-param>
- <load-on-startup>2load-on-startup>
- servlet>
- <servlet-mapping>
- <servlet-name>ServletRedirectorservlet-name>
- <url-pattern>/ServletRedirectorurl-pattern>
- servlet-mapping>
- <servlet-mapping>
- <servlet-name>JspRedirectorservlet-name>
- <url-pattern>/JspRedirectorurl-pattern>
- servlet-mapping>
- <servlet-mapping>
- <servlet-name>actionservlet-name>
- <url-pattern>*.dourl-pattern>
- servlet-mapping>
- <welcome-file-list>
- <welcome-file>index.jspwelcome-file>
- welcome-file-list>
- <taglib>
- <taglib-uri>/tags/struts-nestedtaglib-uri>
- <taglib-location>/WEB-INF/struts-nested.tldtaglib-location>
- taglib>
- <taglib>
- <taglib-uri>/WEB-INF/struts-bean.tldtaglib-uri>
- <taglib-location>/WEB-INF/struts-bean.tldtaglib-location>
- taglib>
- <taglib>
- <taglib-uri>/WEB-INF/struts-html.tldtaglib-uri>
- <taglib-location>/WEB-INF/struts-html.tldtaglib-location>
- taglib>
- <taglib>
- <taglib-uri>/WEB-INF/struts-logic.tldtaglib-uri>
- <taglib-location>/WEB-INF/struts-logic.tldtaglib-location>
- taglib>
- <taglib>
- <taglib-uri>/WEB-INF/struts-tiles.tldtaglib-uri>
- <taglib-location>/WEB-INF/struts-tiles.tldtaglib-location>
- taglib>
- <taglib>
- <taglib-uri>/WEB-INF/struts-nested.tldtaglib-uri>
- <taglib-location>/WEB-INF/struts-nested.tldtaglib-location>
- taglib>
- web-app>
<script>render_code();</script>
2.spring配置
配置文件为applicationContext-hibernate.xml,在此配置文件中,配了POJO层,商业逻辑层,DAO层,和事务管理
代码
- <!---->xml version="1.0" encoding="UTF-8"?>
- <!---->>
- <beans>
- <!---->
- <!---->
- <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
- <property name="driverClassName">
- <value>org.gjt.mm.mysql.Drivervalue>
- property>
- <property name="url">
- <value>jdbc:mysql://localhost:3306/info_web?useUnicode=true&characterEncoding=GBKvalue>
- property>
- <property name="username">
- <value>rootvalue>
- property>
- <property name="password">
- <value>123456value>
- property>
- bean>
- <bean id="mySessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
- <property name="mappingResources">
- <list>
- <value>infoweb/pojo/Answer.hbm.xmlvalue>
- <value>infoweb/pojo/Board.hbm.xmlvalue>
- <value>infoweb/pojo/Image.hbm.xmlvalue>
- <value>infoweb/pojo/Info.hbm.xmlvalue>
- list>
- property>
- <property name="hibernateProperties">
- <props>
- <prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialectprop>
- <prop key="hibernate.show_sql">trueprop>
- <prop key="hibernate.cglib.use_reflection_optimizer">trueprop>
- props>
- property>
- <property name="dataSource"><ref bean="myDataSource"/>property>
- bean>
- <!---->
- <bean id="myTransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
- <property name="sessionFactory"><ref local="mySessionFactory"/>property>
- bean>
- <!---->
- <bean id="boardService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
- <property name="transactionManager"><ref local="myTransactionManager"/>property>
- <property name="target"><ref local="boardServiceSpring"/>property>
- <property name="transactionAttributes">
- <props>
- <prop key="get*">PROPAGATION_REQUIRED,readOnly,-BoardExceptionprop>
- <prop key="set*">PROPAGATION_REQUIRED,-BoardExceptionprop>
- <prop key="modify*">PROPAGATION_REQUIRED,-BoardExceptionprop>
- <prop key="remove*">PROPAGATION_REQUIRED,-BoardExceptionprop>
- props>
- property>
- bean>
- <!---->
- <bean id="boardServiceSpring" class="infoweb.service.BoardServiceSpringImpl">
- <property name="boardTreeDAO"><ref local="boardTreeDAO"/>property>
- bean>
- <!---->
- <bean id="boardTreeDAO" class="infoweb.dao.BoardTreeDAOImpl">
- <property name="sessionFactory"><ref local="mySessionFactory"/>property>
- bean>
- <!---->
- <bean id="infoDAO" class="infoweb.dao.InfoDAOImpl">
- <property name="sessionFactory"><ref local="mySessionFactory"/>property>
- bean>
- beans>
<script>render_code();</script>
3.做DAO代码,
代码
- package infoweb.dao;
- import java.util.List;
- import java.util.Iterator;
- import infoweb.pojo.Board;
- import net.sf.hibernate.HibernateException;
- import net.sf.hibernate.Query;
- import net.sf.hibernate.Session;
- import org.springframework.orm.hibernate.HibernateCallback;
- import org.springframework.orm.hibernate.support.HibernateDaoSupport;
- /**
- * <p>Title: 版块分类DAOImplp>
- * <p>Description: 用树型结构实现p>
- * <p>Copyright: Copyright (c) 2004p>
- * <p>Company: p>
- * @author 段洪杰
- * @version 1.0
- */
- public class BoardTreeDAOImpl extends HibernateDaoSupport implements
- IBoardTreeDAO {
- /**
- * 构造函数
- */
- public BoardTreeDAOImpl() {
- super();
- }
- /**
- * 通过ID取得版块
- * @param id String
- * @return Board
- */
- public Board getBoardById(String id) {
- Board board = (Board) getHibernateTemplate().load(Board.class, id);
- return board;
- }
- /**
- * 取根叶
- * @return Iterator
- */
- public Iterator getRoots() throws HibernateException {
- String queryString =
- "select board from Board as board where board.parentId='root' order by board.id desc";
- List roots = getHibernateTemplate().find(queryString);
- return roots.iterator();
- }
- /**
- * 存根叶
- * @param board Board
- */
- public void setRoot(Board board) {
- board.setParentId("root");
- getHibernateTemplate().save(board);
- }
- /**
- * 取子叶
- * @param parentid String
- * @return List
- */
- public Iterator getChildren(String parentid) {
- /*
- String queryString =
- "select board as Board where board.parent_id='parentid' order by board.id desc";
- List children = getHibernateTemplate().find(queryString);
- return children;
- */
- Board parent = (Board) getHibernateTemplate().load(Board.class, parentid);
- return parent.getChildren().iterator();
- }
- /**
- * 取子叶数
- * @param parentid String
- * @return int
- */
- public int getChildrenCount(String parentid) {
- /*
- String queryString =
- "select count(*) Board where board.parent_id='parentid' order by board.id desc";
- List children = getHibernateTemplate().find(queryString);
- int count = ((Integer) children.iterator().next()).intValue();
- return count;
- */
- Board parent = (Board) getHibernateTemplate().load(Board.class, parentid);
- int count = parent.getChildren().size();
- return count;
- }
- /**
- * 存子叶
- * @param parentLeaf Leaf
- */
- public void setChild(Board board, String parentid) {
- board.setParentId(parentid);
- getHibernateTemplate().save(board);
- }
- /**
- *
- * 删除该叶和它的子叶
- * @param board Board
- */
- public void deleteBranch(Board board) {
- getHibernateTemplate().delete(board);
- }
- /**
- * 根据子叶得到父叶
- * @param child Board
- * @return Board
- */
- public Board getParentByChild(Board child) {
- String parentId = child.getParentId(); <li class="al
相关推荐
这个“struts+spring+hibernate学习笔记”应该涵盖了这三个框架的基础知识以及如何将它们整合使用的详细教程。 Struts是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于控制Web应用的流程。它...
Struts、Spring 和 Hibernate 是Java开发中非常著名的三个开源框架,它们在企业级应用开发中起着关键作用。Struts 是一个 MVC(Model-View-Controller)架构的 Web 框架,Spring 提供了一个全面的后端服务管理平台,...
Struts、Spring和Hibernate是Java开发中非常重要的三个开源框架,它们各自负责Web应用程序的不同层面。Struts主要用于控制层,Spring则是一个全面的框架,涵盖了依赖注入、事务管理、AOP(面向切面编程)等多个方面...
学习和理解Struts、Spring、Hibernate的整合不仅有助于开发者构建高效的企业级应用,还能提升其在Java开发领域的专业素养。这三个框架的组合提供了良好的分层架构,使得项目更易于维护和扩展,同时也降低了代码的...
【Struts+Spring+Hibernate 学习总结】 SSH(Struts、Spring、Hibernate)是Java Web开发中的一个经典企业级应用架构,它将MVC设计模式应用到Web应用的各个层次,实现了良好的分层和解耦。这篇学习总结旨在帮助读者...
java(1) 整合入门(spring,struts,hibernate的整合)资料(1) 中大软件工厂项目前培训资料(1) 完整笔记+源码(1) ssh(1) C#查询参数化例子(1) 学习笔记+完整源码(1) 介绍与深入(1) 学习笔记(不含整合)(1) C#(1) .CHM格式...
内涵数据库设计模型 和数据库设计代码! 图书管理系统: 数据库使用的mysql 里面的发送e-mail我用的是一个我申请的邮箱在测试 可以用自己的! 代码功能基本都有注释.... 才学完s2sh的入门笔记吧!... 供学习使用........
### Struts + Spring + Hibernate 整合笔记 #### 前言 随着企业级应用的不断发展壮大,单一框架已经难以满足复杂多变的业务需求。因此,将多种框架进行有机整合成为了开发高效率、高性能应用的重要手段之一。本...
而“Struts+Spring+Hibernate整合笔记.txt”则可能记录了整合过程中的关键点、注意事项或者常见问题解决方案。 这些技术的整合能够实现松散耦合,提高代码的可维护性和可扩展性。Struts2处理HTTP请求,Spring管理...
本学习笔记将深入探讨这四个组件如何协同工作,构建出强大的企业级应用。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它提供了处理用户请求、控制应用流程的能力。Struts2的核心是...
SSH版本1.0——基于struts,struts2,spring2,hibernate3 本软件是作者上课时所使用的课件,用于SSH教学任务,于上课时分发给学生。 本课件大部分资料由作者完成,另一部分来源于教科书及网络,经作者整理、加工、...
5. **整合使用**:学习如何在Spring中配置Struts和Hibernate,理解它们如何协同工作。 6. **实战项目**:通过实际项目练习,巩固理论知识,提高问题解决能力。 通过深入学习和实践,你将能够熟练运用SSH框架构建...
SSH是Java开发中广泛使用的三大框架——Struts2、Hibernate和Spring的缩写。这三大框架结合使用,能够构建高效、灵活的企业级Web应用程序。现在,让我们深入探讨这些框架的知识点。 **Struts2笔记** Struts2是MVC...
spring+hibernate+jpa+struts1+struts2+springmvc+jquery+freemaker 学习笔记 Compass将lucene、Spring、Hibernate三者结合
本笔记主要涵盖了Java服务器页面(JSP)开发中的三大主流框架:Struts、Hibernate和Spring。这三大框架是企业级Web应用开发中的基石,为开发者提供了高效、灵活且可扩展的解决方案。Struts作为MVC(模型-视图-控制器...
Struts2、Hibernate和Spring是Java开发中三大主流框架,它们各自解决了Web开发中的不同问题,结合使用可以构建出高效、可维护的大型企业级应用。以下是对这三大框架及其结合使用的知识点详解。 **Struts2框架** ...
SSH项目是一种经典的Java Web开发框架组合,由Spring、Hibernate和Struts2三个开源框架组成。这个项目示例提供了一个基于这些技术的简单应用,帮助开发者理解如何将它们整合在一起进行实际开发。 **Spring框架**是...
### Struts、Spring、Hibernate&Ajax 学习笔记总结 #### Struts 部分 **Struts** 是 Java 开源框架中最早出现且最具影响力的框架之一,它出自 Apache 组织,是 Java Web 应用开发的标准之一。Struts 以 MVC(Model...