




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Struts+spring+hibernate学习笔记!分类:hibernatestrutsspring2005-01-09 10:59509人阅读评论(0)收藏举报(快刀浪子原创)下面是我学习Struts+spring+hibernate的笔记.1.WEB.XML的配置:首先在web.xml中加入:java代码: SpringContextServlet org.springframework.web.context.ContextLoaderServlet 1 我的整个web.xml象这样:java代码: info_web contextConfigLocation /WEB-INF/applicationContext-hibernate.xml SetCharacterEncoding iclass.util.SetEncodingFilter encoding GBK FilterRedirector org.apache.cactus.server.FilterTestRedirector SetCharacterEncoding /* FilterRedirector /FilterRedirector SpringContextServlet org.springframework.web.context.ContextLoaderServlet 1 ServletRedirector org.apache.cactus.server.ServletTestRedirector JspRedirector /jspRedirector.jsp action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config.xml debug 2 application ApplicationResources 2 ServletRedirector /ServletRedirector JspRedirector /JspRedirector action *.do index.jsp /tags/struts-nested /WEB-INF/struts-nested.tld /WEB-INF/struts-bean.tld /WEB-INF/struts-bean.tld /WEB-INF/struts-html.tld /WEB-INF/struts-html.tld /WEB-INF/struts-logic.tld /WEB-INF/struts-logic.tld /WEB-INF/struts-tiles.tld /WEB-INF/struts-tiles.tld /WEB-INF/struts-nested.tld /WEB-INF/struts-nested.tld 2.spring配置配置文件为applicationContext-hibernate.xml,在此配置文件中,配了POJO层,商业逻辑层,DAO层,和事务管理java代码: org.gjt.mm.mysql.Driver jdbc:mysql:/localhost:3306/info_web?useUnicode=true&characterEncoding=GBK root 123456 infoweb/pojo/Answer.hbm.xml infoweb/pojo/Board.hbm.xml infoweb/pojo/Image.hbm.xml infoweb/pojo/Info.hbm.xml net.sf.hibernate.dialect.MySQLDialect true true PROPAGATION_REQUIRED,readOnly,-BoardException PROPAGATION_REQUIRED,-BoardException PROPAGATION_REQUIRED,-BoardException PROPAGATION_REQUIRED,-BoardException 3.做DAO代码,java代码:packageinfoweb.dao;importjava.util.List;importjava.util.Iterator;importinfoweb.pojo.Board;importnet.sf.hibernate.HibernateException;importnet.sf.hibernate.Query;importnet.sf.hibernate.Session;importorg.springframework.orm.hibernate.HibernateCallback;importorg.springframework.orm.hibernate.support.HibernateDaoSupport;/* Title: 版块分类DAOImpl* Description: 用树型结构实现* Copyright: Copyright (c) 2004* Company: * author 段洪杰* version 1.0*/publicclassBoardTreeDAOImplextendsHibernateDaoSupportimplements IBoardTreeDAO/* * 构造函数 */publicBoardTreeDAOImpl() super();/* * 通过ID取得版块 * param id String * return Board */publicBoard getBoardById(Stringid) Board board =(Board)getHibernateTemplate().load(Board.class, id); returnboard;/* * 取根叶 * return Iterator */publicIteratorgetRoots()throwsHibernateException StringqueryString = select board from Board as board where board.parentId=rootorder by board.iddesc; Listroots = getHibernateTemplate().find(queryString); returnroots.iterator();/* * 存根叶 * param board Board */publicvoidsetRoot(Board board) board.setParentId(root); getHibernateTemplate().save(board);/* * 取子叶 * param parentid String * return List */publicIteratorgetChildren(Stringparentid) /* 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); returnparent.getChildren().iterator();/* * 取子叶数 * param parentid String * return int */publicintgetChildrenCount(Stringparentid) /* 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); intcount = parent.getChildren().size(); returncount;/* * 存子叶 * param parentLeaf Leaf */publicvoidsetChild(Board board,Stringparentid) board.setParentId(parentid); getHibernateTemplate().save(board);/* * * 删除该叶和它的子叶 * param board Board */publicvoiddeleteBranch(Board board) getHibernateTemplate().delete(board);/* * 根据子叶得到父叶 * param child Board * return Board */publicBoard getParentByChild(Board child) StringparentId = child.getParentId(); Board parent =(Board)getHibernateTemplate().load(Board.class, parentId); returnparent;/* * 通过子ID得到父叶 * param id String * return Board */publicBoard getParentByChildId(Stringid) Board child =(Board)getHibernateTemplate().load(Board.class, id); Board parent =(Board)getHibernateTemplate().load(Board.class,child.getParentId(); returnparent;4.做service层代码java代码:packageinfoweb.service;importjava.util.List;importjava.util.Iterator;importinfoweb.dao.BoardTreeDAOImpl;importinfoweb.dao.IBoardTreeDAO;importinfoweb.pojo.Board;importinfoweb.exception.BoardException;importnet.sf.hibernate.HibernateException;/* Title: * Description: * Copyright: Copyright (c) 2004* Company: * author 段洪杰* version 1.0*/publicclassBoardServiceSpringImplimplementsIBoardService privateIBoardTreeDAO boardTreeDAO; publicBoardServiceSpringImpl() super(); /* * 取所有roots版块 * return Iterator */ publicIteratorgetRoots()throwsBoardException Iteratorroots =null; try roots = boardTreeDAO.getRoots(); catch(Exceptionex) thrownewBoardException(取ROOT版块时出错! + ex.toString(); returnroots; /* * 增加Root新版块 * param board Board */ publicvoidsetRoot(Board board)throwsBoardException try boardTreeDAO.setRoot(board); catch(Exceptionex) thrownewBoardException(增加ROOT版块时出错! + ex.toString(); /* * 删除版块 (包含下级版块) * param board Board */ publicvoidremoveBoard(Board board)throwsBoardException try boardTreeDAO.deleteBranch(board); catch(Exceptionex) thrownewBoardException(删除版块时出错! + ex.toString(); /* * * return IBoardTreeDAO */ publicIBoardTreeDAO getBoardTreeDAO() returnboardTreeDAO; /* * * param boardTreeDAO IBoardTreeDAO */ publicvoidsetBoardTreeDAO(IBoardTreeDAO boardTreeDAO) this.boardTreeDAO= boardTreeDAO; 5.做ACTION的父类java代码:packageinfoweb.web;importjavax.servlet.ServletContext;importorg.apache.struts.action.Action;importorg.apache.struts.action.ActionServlet;importorg.springframework.web.context.WebApplicationContext;importorg.springframework.web.context.support.WebApplicationContextUtils;importinfoweb.service.IBoardService;/* Title: * Description: * Copyright: Copyright (c) 2004* Company: * author 段洪杰* version 1.0*/publicclassBaseActionextendsActionprivateIBoardService boardService;publicvoidsetServlet(ActionServlet actionServlet) super.setServlet(actionServlet); ServletContext servletContext = actionServlet.getServletContext(); WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext( servletContext); this.boardService=(IBoardService)wac.getBean(boardService);protectedIBoardService getBoardService() returnboardService;6.做action类java代码:packageinfoweb.web;importinfoweb.pojo.Board;mons.beanutils.PropertyUtils;importorg.apache.struts.action.*;importorg.apache.log4j.Logger;importjavax.servlet.http.*;importjava.util.Iterator;importjava.util.Date;/* Title: * Description: * Copyright: Copyright (c) 2004* Company: * author 段洪杰* version 1.0*/publicclassSetBoardActionextendsBaseAction privatestaticLogger log = Logger.getLogger(SetBoardAction.class); publicActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest http
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业遗址改造为现代建筑的实践案例
- 工业电气自动化控制系统的应用
- 工作坊组织与执行要点
- 工作中的人性化情绪管理与压力缓解方法探讨
- 工作效率优化与创新思维的融合
- 工作效率提升工具及技术应用
- 工作场所中的性别平等意识培养
- 工程中的动态力学校准技术
- 工作安全分析与改善策略
- 工厂安全管理与风险控制
- GB/T 45698-2025物业服务客户满意度测评
- 2025年上海市研发公共服务平台管理中心招聘题库带答案分析
- 2025年新高考1卷(新课标Ⅰ卷)语文试卷(含答案)
- 宣讲政策课件
- 无痛胃镜操作急救知识要点
- 护理质控中心建设与运营
- 金融公司干股协议书
- 2025益阳事业单位笔试真题
- 委托加工稻米协议书
- 国际压力性损伤溃疡预防和治疗临床指南(2025年版)解读
- (高清版)DG∕TJ 08-67-2015 园林绿化草坪建植和养护技术规程
评论
0/150
提交评论