ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:262.17KB ,
资源ID:12064767      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12064767.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Struts2+Spring+Hibernate整合流程.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Struts2+Spring+Hibernate整合流程.docx

1、Struts2+Spring+Hibernate整合流程Struts2+Spring3.0+Hibernate3.3整合过程(老夫呕心沥血制作,如果要传播,请一定联系你翔哥!翻版必究!)一、 创建WEB工程,在工程中按照如下规范定义包结构二、 按顺序添加struts2、spring、hibernate框架1、 添加struts2框架a、 将struts2框架所需要的jar文件(包括与spring整个插件jar包)配置到工程中;b、 将struts2框架的配置文件模板复制粘贴到src中;2、 添加spring框架图-1注意:选择的Spring Library包括(AOP、Core、Persist

2、ence Core、Web);图-23、 添加hibernate框架图-1图-2图-3图-4图-5通过以上5个步骤,已经在当前项目中添加SSH框架,但是发现spring配置文件applicationContext.xml文件出错,因为在SSH整合中使用到了数据源DataSource,缺少对象的jar包;找到对应的jar 包配置到当前项目中即可;三、 配置SSH框架1、 web.xml文件中配置struts2核心控制器StrutsPrepareAndExecuteFilter(注:在添加struts1框架时,工具会自动配置struts1核心控制器);2、 在web.xml文件中配置用于加载Spr

3、ing配置文件的上下文加载监听器3、 在struts.xml文件中配置常量(设置字符集编码和业务控制器的创建管理方式)4、 通过工具生成数据库表对应的实体类和映射文件注意:生成完毕后,实体类和hbm映射文件不一定位于com.mstanford.entity和com.mstanford.hbm包中,需要手动修改(包括在*.hbm.xml文件中类路径和applicationContext文件指定的映射文件路径)四、 完成用户登陆功能1、 在com.mstanford.dao包中定义实现持久化的接口IBaseDAOpackage com.mstanford.dao;import java.io.Se

4、rializable;import java.util.List;/* * 定义通用的持久化操作接口 * * author Qct 2013-7-1 */public interface IBaseDAO /* * 保存对象 * * param object */ public void save(Object object); /* * 删除对象 * * param object */ public void delete(Object object); /* * 修改对象 * * param object */ public void update(Object object); /* *

5、 根据对象标识获取指定类的对象 * * param clazz * param id * return */ public Object get(Class clazz, Serializable id); /* * 执行hql查询 * * param hql * return */ public List query(String hql,Objectparams); /* * 执行hql查询,带分页功能 * * param hql * param pageSize * param pageNo * return */ public List query(String hql,Objectp

6、arams, int pageSize, int pageNo); /* * 执行SQL(查询) * * param sql * return */ public List find(String sql,Objectparams); /* * 执行SQL(insert、delete、update) * * param sql */ public void execute(String sql, Object params); /* * 调用存储过程 * * param sql * param params * return */ public Object call(String sql,

7、Object params);2、 在com.mstanford.dao包中定义抽象类BaseDAO继承HibernateDAOSupport类并实现持久化通用接口IBaseDAOpackage com.mstanford.dao;import java.io.Serializable;import java.sql.CallableStatement;import java.sql.Connection;import java.sql.SQLException;import java.util.List;import org.hibernate.HibernateException;impo

8、rt org.hibernate.Query;import org.hibernate.SQLQuery;import org.hibernate.Session;import org.springframework.orm.hibernate3.HibernateCallback;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class BaseDAO extends HibernateDaoSupport implements IBaseDAO public void call(St

9、ring sql, Object params)throws SQLException Connection conn=this.getSession().connection(); CallableStatement stm=conn.prepareCall(sql); if(params!=null & params.length0) for(int index=0;index0) for(int index=0;indexparams.length;index+) sqlQuery.setParameter(index, paramsindex); return sqlQuery.exe

10、cuteUpdate(); ); public List find(final String sql,final Object params) / TODO Auto-generated method stub return this.getHibernateTemplate().executeFind(new HibernateCallback() public List doInHibernate(Session session) throws HibernateException, SQLException / TODO Auto-generated method stub SQLQue

11、ry sqlQuery=session.createSQLQuery(sql); if(params!=null & params.length0) for(int index=0;indexparams.length;index+) sqlQuery.setParameter(index, paramsindex); return sqlQuery.list(); ); public Object get(Class clazz, Serializable id) return this.getHibernateTemplate().load(clazz, id); public List

12、query(final String hql,final Object params) / TODO Auto-generated method stub return this.getHibernateTemplate().executeFind(new HibernateCallback() public List doInHibernate(Session session) throws HibernateException, SQLException Query query=session.createQuery(hql); if(params!=null & params.lengt

13、h0) for(int index=0;indexparams.length;index+) query.setParameter(index, paramsindex); return query.list(); ); public List query(final String hql,final Object params, final int pageSize,final int pageNo) / TODO Auto-generated method stub return this.getHibernateTemplate().executeFind(new HibernateCa

14、llback() public List doInHibernate(Session session) throws HibernateException, SQLException Query query=session.createQuery(hql); if(params!=null & params.length0) for(int index=0;indexparams.length;index+) query.setParameter(index, paramsindex); query.setFirstResult(pageNo-1)*pageSize); query.setMa

15、xResults(pageSize); return query.list(); ); public void save(Object object) / TODO Auto-generated method stub this.getHibernateTemplate().save(object); public void update(Object object) / TODO Auto-generated method stub this.getHibernateTemplate().update(object); 3、 定义用于对用户操作的持久化类UserDAO,继承BaseDAOpa

16、ckage com.mstanford.dao;public class UserDAO extends BaseDAO4、 在com.mstanford.service包中定义业务层类的接口UserServicepackage com.mstanford.service;import com.mstanford.entity.User;public interface UserService /* * 用户登陆 * param userName * param userPwd * return */ public User login(String userName,String userP

17、wd);5、 在com.mstanford.service.impl包中定义业务层类UserServiceImpl实现接口UserServicepackage com.mstanford.service.impl;import java.util.List;import com.mstanford.dao.UserDAO;import com.mstanford.entity.User;import com.mstanford.service.UserService;public class UserServiceImpl implements UserService private User

18、DAO userDAO; public UserDAO getUserDAO() return userDAO; public void setUserDAO(UserDAO userDAO) this.userDAO = userDAO; public User login(String userName, String userPwd) String hql=from User where userName=? and userPwd=?; Object params=userName,userPwd; List list=(List)userDAO.query(from User whe

19、re userName=? and userPwd=?, params); if(list=null | list.size()=0) return null; else return list.get(0); 6、 在com.mstanford.action包中定义业务控制器Action父类BaseAction;package com.mstanford.action;import java.util.Map;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext

20、;import com.opensymphony.xwork2.ActionContext;public abstract class BaseAction public Map getRequest() return (Map)ActionContext.getContext().get(request); public Map getSession() return ActionContext.getContext().getSession(); public Map getApplication() return ActionContext.getContext().getApplica

21、tion(); public HttpServletResponse getResponse() return ServletActionContext.getResponse(); 7、 在com.mstanford.action包中定义业务控制器Action负责处理登陆请求的类UserAction类package com.mstanford.action;import com.mstanford.entity.User;import com.mstanford.service.UserService;public class UserAction extends BaseAction pr

22、ivate UserService userService; private User user; public UserService getUserService() return userService; public void setUserService(UserService userService) this.userService = userService; public User getUser() return user; public void setUser(User user) this.user = user; public String login() User

23、 user=userService.login(this.user.getUserName(), this.user.getUserPwd(); if(user=null) return err; else /保存当前登陆的用户对象 this.getSession().put(user, user); return suc; 8、 在applicationContext.xml文件中配置受管理的Bean(包括Dao、Service、Action)注:程序中各层的依赖关系如下struts业务控制器Action业务层Service持久层DAOSessionFactoryDataSource 9、 在struts.xml文件中配置业务控制器Action10、 准备登陆页面index.jsp和err.jsp、suc.jsp页面

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1