欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第6章Struts2Hibernate和Spring整合应用课堂精简.ppt

    • 资源ID:60274149       资源大小:1.99MB        全文页数:64页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第6章Struts2Hibernate和Spring整合应用课堂精简.ppt

    第6章Struts2Hibernate和Spring整合应用课堂精简 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望回顾:Struts 2应用Struts 2Struts 2开发流程:开发流程:开发流程:开发流程:2 2个个个个XML+ActionXML+Action类类类类+JSP+JSP页面页面页面页面+JavaBean+JavaBean校验器:校验器:校验器:校验器:validatevalidate方法或者方法或者方法或者方法或者XMLXML校验器校验器校验器校验器 注意:命名注意:命名注意:命名注意:命名+位置位置位置位置拦截器:拦截器:拦截器:拦截器:struts.xmlstruts.xml配置配置配置配置 拦截器类(继承拦截器类(继承拦截器类(继承拦截器类(继承AbstractInterceptorAbstractInterceptor ,重写,重写,重写,重写interceptintercept方法方法)国际化:国际化:国际化:国际化:struts.propertiesstruts.properties 相应语言的相应语言的相应语言的相应语言的propertiesproperties文件文件文件文件(*_zh _CN.properties(*_zh _CN.properties或或或或*_en _US.properties)*_en _US.properties)位置位置位置位置+命名命名命名命名2回顾:Hibernate应用HibernateHibernate开发步骤:开发步骤:(1 1)创建)创建)创建)创建HibernateHibernate的配置文件、创建的配置文件、创建的配置文件、创建的配置文件、创建SessionFactorySessionFactory类。类。类。类。(2 2)创建持久化类。)创建持久化类。)创建持久化类。)创建持久化类。(3 3)创建对象)创建对象)创建对象)创建对象-关系映射文件。关系映射文件。关系映射文件。关系映射文件。(4 4)通过)通过)通过)通过Hibernate APIHibernate API编写访问数据库的代码。编写访问数据库的代码。编写访问数据库的代码。编写访问数据库的代码。3回顾:Spring应用依赖注入依赖注入依赖注入依赖注入 工厂模式工厂模式工厂模式工厂模式 依赖注入的两种方式依赖注入的两种方式依赖注入的两种方式依赖注入的两种方式SpringSpring主要接口主要接口主要接口主要接口 BeanFactoryBeanFactory、ApplicationContext ApplicationContextSpringSpring配置文件配置文件配置文件配置文件 applicationContext.xmlapplicationContext.xml配置文件配置文件配置文件配置文件Spring AOPSpring AOP AdviceAdvice(5 5种类型种类型种类型种类型-around-around、beforebefore、afterafter、throwthrow、introductionintroduction)PointcutPointcut(时机)(时机)(时机)(时机)SpringSpring事务事务事务事务 4 4种声明式事务管理的配置方式:种声明式事务管理的配置方式:种声明式事务管理的配置方式:种声明式事务管理的配置方式:TransactionProxyFactoryBeanTransactionProxyFactoryBean TransactionProxyFactoryBean+BeanTransactionProxyFactoryBean+Bean继承继承 BeanNameAutoProxyCreatorBeanNameAutoProxyCreator(常用)(常用)DefaultAdvisorAutoProxyCreatorDefaultAdvisorAutoProxyCreator4回顾:Spring应用SpringSpring与与与与StrutsStruts整合应用整合应用整合应用整合应用 添加添加添加添加Struts2Struts2开发能力(开发能力(开发能力(开发能力(jarjar包、包、包、包、web.xmlweb.xml、strut.xmlstrut.xml)添加添加添加添加SpringSpring开发能力(开发能力(开发能力(开发能力(jarjar包、包、包、包、applicationContext.xmlapplicationContext.xml)添加添加添加添加SpringSpring支持包支持包支持包支持包struts2-spring-plugin.jarstruts2-spring-plugin.jar 修改修改修改修改web.xmlweb.xml,增加,增加,增加,增加springspring支持支持支持支持 创建消息包文件创建消息包文件创建消息包文件创建消息包文件struts.propertiesstruts.properties 修改修改修改修改applicationContext.xmlapplicationContext.xml 修改修改修改修改struts.xmlstruts.xmlSpringSpring与与与与HibernateHibernate整合应用整合应用整合应用整合应用 添加添加添加添加SpringSpring开发能力(开发能力(开发能力(开发能力(jarjar包包包包-5libraries-5libraries、applicationContext.xml applicationContext.xml)加载加载加载加载HibernateHibernate框架(框架(框架(框架(HibernateHibernate配置文件由配置文件由配置文件由配置文件由SpringSpring管理、管理、管理、管理、sessionFactorysessionFactory由由由由SpringSpring注入)注入)注入)注入)5第第6 6章章 Struts 2 Struts 2、HibernateHibernate和和SpringSpring整合应用整合应用6第6章 Struts 2、Hibernate和Spring整合应用6.1 项目创建及功能描述项目创建及功能描述6.2 层次划分层次划分6.3 添加添加Spring开发开发6.4 实现实现Hibernate持久层持久层6.5 实现实现DAO 6.6 实现业务逻辑层实现业务逻辑层6.7 实现实现Web层层7第第6 6章章 Struts 2 Struts 2、HibernateHibernate和和SpringSpring整合应用整合应用6.1 6.1 项目创建及功能描述项目创建及功能描述项目创建及功能描述项目创建及功能描述6.2 6.2 层次划分层次划分层次划分层次划分6.3 6.3 添加添加添加添加SpringSpring开发开发开发开发6.4 6.4 实现实现实现实现HibernateHibernate持久层持久层持久层持久层6.5 6.5 实现实现实现实现DAO DAO 6.6 6.6 实现业务逻辑层实现业务逻辑层实现业务逻辑层实现业务逻辑层6.7 6.7 实现实现实现实现WebWeb层层层层86.1 项目创建及功能描述创建一个创建一个WebWeb项目,命名为项目,命名为“xscjManage”“xscjManage”。该项目要实现学生、课程及成绩的增加、删除、修改、该项目要实现学生、课程及成绩的增加、删除、修改、查找功能,需要三个表,即查找功能,需要三个表,即XSBXSB表、表、KCBKCB表、表、CJBCJB表。表。其中其中XSBXSB表中含有该学生所属专业的表中含有该学生所属专业的IDID,且作为外键,且作为外键,故还应该有一个故还应该有一个ZYBZYB表。表。在登录学生成绩管理系统时,如果没有登录成功,就回在登录学生成绩管理系统时,如果没有登录成功,就回到登录界面,登录成功后方可进行各种操作,所以还要到登录界面,登录成功后方可进行各种操作,所以还要有个有个DLBDLB表。表。9第第6 6章章 Struts 2 Struts 2、HibernateHibernate和和SpringSpring整合应用整合应用6.1 6.1 项目创建及功能描述项目创建及功能描述项目创建及功能描述项目创建及功能描述6.2 6.2 层次划分层次划分层次划分层次划分6.3 6.3 添加添加添加添加SpringSpring开发开发开发开发6.4 6.4 实现实现实现实现HibernateHibernate持久层持久层持久层持久层6.5 6.5 实现实现实现实现DAO DAO 6.6 6.6 实现业务逻辑层实现业务逻辑层实现业务逻辑层实现业务逻辑层6.7 6.7 实现实现实现实现WebWeb层层层层10补充:分层架构J2EEJ2EE四层构架:四层构架:四层构架:四层构架:11补充:分层架构分层构架优点:分层构架优点:分层构架优点:分层构架优点:层次的复用性(抽象接口)层次的复用性(抽象接口)层次的复用性(抽象接口)层次的复用性(抽象接口)支持基于抽象程度递增的系统设计,可以对复杂支持基于抽象程度递增的系统设计,可以对复杂支持基于抽象程度递增的系统设计,可以对复杂支持基于抽象程度递增的系统设计,可以对复杂系统分解,更容易模块化系统分解,更容易模块化系统分解,更容易模块化系统分解,更容易模块化支持功能增强,功能改变最多影响相邻的两层支持功能增强,功能改变最多影响相邻的两层支持功能增强,功能改变最多影响相邻的两层支持功能增强,功能改变最多影响相邻的两层可替换性,容易被功能相同的模块替换可替换性,容易被功能相同的模块替换可替换性,容易被功能相同的模块替换可替换性,容易被功能相同的模块替换分层构架缺点:分层构架缺点:分层构架缺点:分层构架缺点:效率低效率低效率低效率低工作量增加工作量增加工作量增加工作量增加连锁反应连锁反应连锁反应连锁反应设计者建立合适粒度的抽象层次比较难设计者建立合适粒度的抽象层次比较难设计者建立合适粒度的抽象层次比较难设计者建立合适粒度的抽象层次比较难12补充:分层架构我们的分层:我们的分层:我们的分层:我们的分层:ViewViewControlControlModelModel显示层应用层交互层领域层持久层数据层13补充:分层架构我们的分层:我们的分层:我们的分层:我们的分层:IServicejspcommandIDomainIDao资源层资源层发出请求发出请求viewbeandatabeandatabeanservice实现类实现类domain实现类实现类组织数据,组织数据,在页面显示在页面显示dao实现类实现类SpringSpring框架框架框架框架StrutsStruts框架框架框架框架HibernateHibernate框架框架框架框架14补充:分层架构程序架构:程序架构:程序架构:程序架构:command层层Service层层domain层层Dao层层视图对象视图对象领域对象领域对象156.2 层次划分Java EE的体系结构有三层:表示层、业务逻辑层和数据持久层。开发一个SSH(Struts,Hibernate,Spring)项目,要遵循这三层模式。根据前面知识的学习,可以分别用SSH实现这样的目的:用Hibernate来完成数据的持久层应用,用Spring的Bean来管理组件(主要是DAO、业务逻辑和Struts的Action),而用Struts来完成页面的控制跳转。该项目完成后的业务逻辑层及数据池目录如图6.1所示。图6.1 项目部分目录166.2 层次划分org.actionorg.action:放置对应的用户自定义的:放置对应的用户自定义的ActionAction类。由类。由ActionAction类调用业务逻辑来处理用户请求,然后控制跳转。类调用业务逻辑来处理用户请求,然后控制跳转。org.daoorg.dao:放置:放置DAODAO(数据访问对象)的接口,接口中的(数据访问对象)的接口,接口中的方法用来和数据库进行交互,这些方法由实现它们的类方法用来和数据库进行交互,这些方法由实现它们的类来实现。来实现。org.dao.imporg.dao.imp:放置实现:放置实现DAODAO接口的类。接口的类。org.modelorg.model:放置表对应的:放置表对应的POJOPOJO类及映射文件类及映射文件*.hbm.xml*.hbm.xml。org.serviceorg.service:放置业务逻辑接口。接口中的方法用来处:放置业务逻辑接口。接口中的方法用来处理用户请求,这些方法由实现接口的类来实现。理用户请求,这些方法由实现接口的类来实现。org.service.imporg.service.imp:放置实现业务逻辑接口的类。:放置实现业务逻辑接口的类。org.toolorg.tool:放置公用的工具类,如分页类。:放置公用的工具类,如分页类。struts.propertiesstruts.properties:实现:实现Struts 2Struts 2和和SpringSpring整合。整合。struts.xmlstruts.xml:配置:配置ActionAction。applicationContext.xmlapplicationContext.xml和和web.xmlweb.xml17第第6 6章章 Struts 2 Struts 2、HibernateHibernate和和SpringSpring整合应用整合应用6.1 6.1 项目创建及功能描述项目创建及功能描述项目创建及功能描述项目创建及功能描述6.2 6.2 层次划分层次划分层次划分层次划分6.3 6.3 添加添加添加添加SpringSpring开发开发开发开发6.4 6.4 实现实现实现实现HibernateHibernate持久层持久层持久层持久层6.5 6.5 实现实现实现实现DAO DAO 6.6 6.6 实现业务逻辑层实现业务逻辑层实现业务逻辑层实现业务逻辑层6.7 6.7 实现实现实现实现WebWeb层层层层186.3 添加Spring开发思路:思路:思路:思路:196.3 添加Spring开发在添加在添加SpringSpring开发能力之前先介绍如何自定义开发能力之前先介绍如何自定义User User LabrariesLabraries。右击项目名。右击项目名xscjManagexscjManage,选择【,选择【Build PathBuild Path】【Configure Build PathConfigure Build Path】菜单项,出现如图】菜单项,出现如图6.26.2所示所示的对话框。的对话框。图6.2 Properties for xscjManage对话框206.3 添加Spring开发然后单击【然后单击【Add LibraryAdd Library】按钮,出现如图】按钮,出现如图6.36.3所示的对所示的对话框。话框。图6.3 Add Library对话框216.3 添加Spring开发选中【User Library】后,单击【Next】按钮,出现如图6.4所示的对话框。图6.4 用户定义Library对话框226.3 添加Spring开发点击【点击【NewNew】,然后【】,然后【Add JARsAdd JARs】。】。图6.4 用户定义Library对话框236.3 添加Spring开发定义好User Library后,界面如下:图6.5 添加User Libraries对话框246.3 添加Spring开发思路:思路:思路:思路:256.3 添加Spring开发现在可以为项目添加现在可以为项目添加SpringSpring开发能力。选择【开发能力。选择【MyEclipseMyEclipse】【Add Spring CapabilitiesAdd Spring Capabilities】菜单项,出现选择版】菜单项,出现选择版本及类库的对话框,如图本及类库的对话框,如图6.76.7所示。所示。图6.7 Spring选择类库26第第6 6章章 Struts 2 Struts 2、HibernateHibernate和和SpringSpring整合应用整合应用6.1 6.1 项目创建及功能描述项目创建及功能描述项目创建及功能描述项目创建及功能描述6.2 6.2 层次划分层次划分层次划分层次划分6.3 6.3 添加添加添加添加SpringSpring开发开发开发开发6.4 6.4 实现实现实现实现HibernateHibernate持久层持久层持久层持久层6.5 6.5 实现实现实现实现DAO DAO 6.6 6.6 实现业务逻辑层实现业务逻辑层实现业务逻辑层实现业务逻辑层6.7 6.7 实现实现实现实现WebWeb层层层层276.4 实现Hibernate持久层思路:思路:思路:思路:286.4 实现Hibernate持久层首先建立与数据库的连接,步骤见4.2.1节的第2步。建成后的连接如图6.8所示。图6.8 与SQL Server的连接296.4 实现Hibernate持久层Dlb.java文件Dlb对应映射文件Dlb.hbm.xml:private Integer id;private String xh;private String kl;306.4 实现Hibernate持久层Xsb.javaXsb.hbm.xmlprivate String xh;private Zyb zyb;private String xm;private Byte xb;private Date cssj;private Integer zxf;private String bz;private byte zp;.316.4 实现Hibernate持久层Kcb.java文件代码如下:Kcb.hbm.xmlprivate String kch;/课程号课程号private String kcm;/课程名课程名private Short kxxq;/开学学期开学学期private Short xs;/学时学时private int xf;/学分学分 326.4 实现Hibernate持久层Zyb.javaZyb.hbm.xmlprivate Integer id;/IDprivate String zym;/专业名专业名private Integer rs;/人数人数private String fdy;/辅导员辅导员 336.4 实现Hibernate持久层CjbId.java文件代码如下:Cjb.java代码如下:Cjb.hbm.xmlprivate String xh;private String kch;private CjbId id;private int cj;private int xf;346.4 实现Hibernate持久层对应文件完成后,还要在Spring配置文件中注册,Spring配置文件applicationContext.xml。org/model/Dlb.hbm.xmlorg/model/Xsb.hbm.xmlorg/model/Kcb.hbm.xmlorg/model/Zyb.hbm.xmlorg/model/Cjb.hbm.xml35关于实验和课堂实验提前做实验提前做实验提前做实验提前做 提前把实验要求和步骤放到课件服务器上,课下做提前把实验要求和步骤放到课件服务器上,课下做提前把实验要求和步骤放到课件服务器上,课下做提前把实验要求和步骤放到课件服务器上,课下做 实验当天提供完整代码、强调实验的关键点实验当天提供完整代码、强调实验的关键点实验当天提供完整代码、强调实验的关键点实验当天提供完整代码、强调实验的关键点 最后大实验分组最后大实验分组最后大实验分组最后大实验分组充分发挥同学们之间的互帮互助充分发挥同学们之间的互帮互助充分发挥同学们之间的互帮互助充分发挥同学们之间的互帮互助 聘聘聘聘3-53-5名同学做实验助教,协助老师指导实验名同学做实验助教,协助老师指导实验名同学做实验助教,协助老师指导实验名同学做实验助教,协助老师指导实验课堂内容精简课堂内容精简课堂内容精简课堂内容精简 保留必要知识点,把知识点讲透保留必要知识点,把知识点讲透保留必要知识点,把知识点讲透保留必要知识点,把知识点讲透增加交流方式增加交流方式增加交流方式增加交流方式 建建建建QQQQ群,提供在线答疑群,提供在线答疑群,提供在线答疑群,提供在线答疑开放实验室开放实验室开放实验室开放实验室 部分课堂内容(模式、架构)放到开放实验室中讲授部分课堂内容(模式、架构)放到开放实验室中讲授部分课堂内容(模式、架构)放到开放实验室中讲授部分课堂内容(模式、架构)放到开放实验室中讲授 鼓励同学们关注鼓励同学们关注鼓励同学们关注鼓励同学们关注Java EEJava EE之外的技术(手机软件开发)之外的技术(手机软件开发)之外的技术(手机软件开发)之外的技术(手机软件开发)本周五下午本周五下午本周五下午本周五下午5 5、6 6节节节节214214讨论开放实验室事宜讨论开放实验室事宜讨论开放实验室事宜讨论开放实验室事宜36回顾系统的分层系统的分层系统的分层系统的分层37回顾38回顾39第第6 6章章 Struts 2 Struts 2、HibernateHibernate和和SpringSpring整合应用整合应用6.1 6.1 项目创建及功能描述项目创建及功能描述项目创建及功能描述项目创建及功能描述6.2 6.2 层次划分层次划分层次划分层次划分6.3 6.3 添加添加添加添加SpringSpring开发开发开发开发6.4 6.4 实现实现实现实现HibernateHibernate持久层持久层持久层持久层6.5 6.5 实现实现实现实现DAO DAO 6.6 6.6 实现业务逻辑层实现业务逻辑层实现业务逻辑层实现业务逻辑层6.7 6.7 实现实现实现实现WebWeb层层层层406.5 实现DAO下面介绍这5个类对应的DAO组件的实现。这里的DAO实现类中用到了Spring整合Hibernate后提供的HibernateDaoSupport类。登录类对应DAO层实现,DlDao.java接口:package org.dao;import java.util.List;import org.model.Dlb;public interface DlDao/插入用户插入用户public void save(Dlb user);/根据学号和口令查找根据学号和口令查找public Dlb find(String xh,String kl);/是否存在该学号的用户是否存在该学号的用户public boolean existXh(String xh);416.5 实现DAO对应实现类DlDaoImp.java。public class DlDaoImp extends HibernateDaoSupport implements DlDaopublic boolean existXh(String xh)List list=getHibernateTemplate().find(from Dlb where xh=?,xh);if(list.size()0)return true;else return false;public Dlb find(String xh,String kl)String str=xh,kl;List list=getHibernateTemplate().find(from Dlb where xh=?and kl=?,str);if(list.size()0)return(Dlb)list.get(0);elsereturn null;public void save(Dlb user)getHibernateTemplate().save(user);426.5 实现DAO基于HibernateDaoSupport的DAO组件必须获得一个SessionFactory的引用,然后才可以完成持久化访问。因此把这些DAO组件交由Spring容器的Bean来管理,而且在后面的业务逻辑中也要用到这些组件,所以要在Spring配置文件中加入下列代码。43第第6 6章章 Struts 2 Struts 2、HibernateHibernate和和SpringSpring整合应用整合应用6.1 6.1 项目创建及功能描述项目创建及功能描述项目创建及功能描述项目创建及功能描述6.2 6.2 层次划分层次划分层次划分层次划分6.3 6.3 添加添加添加添加SpringSpring开发开发开发开发6.4 6.4 实现实现实现实现HibernateHibernate持久层持久层持久层持久层6.5 6.5 实现实现实现实现DAO DAO 6.6 6.6 实现业务逻辑层实现业务逻辑层实现业务逻辑层实现业务逻辑层6.7 6.7 实现实现实现实现WebWeb层层层层446.6 实现业务逻辑层下面列举它们对应的业务逻辑接口及实现类。DlService.java接口:package org.service;import org.model.Dlb;public interface DlService/根据学号和口令查找根据学号和口令查找public Dlb find(String xh,String kl);456.6 实现业务逻辑层对应实现类DlServiceManage.java:package org.service.imp;import org.dao.DlDao;import org.model.Dlb;import org.service.DlService;public class DlServiceManage implements DlService/对对DlDao进行依赖注入进行依赖注入private DlDao dlDao;public void setDlDao(DlDao dlDao)this.dlDao=dlDao;public Dlb find(String xh,String kl)return dlDao.find(xh,kl);466.6 实现业务逻辑层把业务逻辑交由Spring容器的Bean管理,在Spring配置文件中加入以下代码。47在我们的操作中,必须要用到事务管理,所以这在我们的操作中,必须要用到事务管理,所以这里要用到里要用到SpringSpring的事务。的事务。SpringSpring声明式事务管理的方式有哪些?声明式事务管理的方式有哪些?使用使用TransactionProxyFactoryBeanTransactionProxyFactoryBean为目标为目标BeanBean生生成事务代理的配置。成事务代理的配置。采用采用BeanBean继承的事务代理配置方式,比较简洁,继承的事务代理配置方式,比较简洁,但依然是增量式配置。但依然是增量式配置。采用采用BeanNameAutoProxyCreatorBeanNameAutoProxyCreator,根据,根据Bean Bean NameName自动生成事务代理的方式。这是直接利用自动生成事务代理的方式。这是直接利用SpringSpring的的AOPAOP框架配置事务代理的方式,需要对框架配置事务代理的方式,需要对SpringSpring的的AOPAOP框架有所理解。但这种方式避免了增量框架有所理解。但这种方式避免了增量式配置,效果非常不错。式配置,效果非常不错。采用采用DefaultAdvisorAutoProxyCreatorDefaultAdvisorAutoProxyCreator,直接利用,直接利用SpringSpring的的AOPAOP框架配置事务代理的方式,效果非常不框架配置事务代理的方式,效果非常不错,只是这种配置方式的可读性不如第错,只是这种配置方式的可读性不如第3 3种方式。种方式。6.6 实现业务逻辑层48 property name=sessionFactory PROPAGATION_REQUIRED PROPAGATION_REQUIRED xsService kcService cjService zyService transactionInterceptor 在在在在SpringSpring配置文件中加入以下配置文件中加入以下配置文件中加入以下配置文件中加入以下代码代码代码代码来对业务逻辑进行事务管理来对业务逻辑进行事务管理来对业务逻辑进行事务管理来对业务逻辑进行事务管理HibernateTransactionManager bean需要依赖注入一个需要依赖注入一个SessionFactory bean的引用的引用事务拦截器事务拦截器bean需要依需要依赖注入一个事务管理器赖注入一个事务管理器定义事务定义事务传播属性传播属性该该bean无需被引用,因无需被引用,因此没有此没有id属性属性,这个这个bean根据事务拦截器为目标根据事务拦截器为目标bean自动创建事务代理自动创建事务代理指定对满足哪些指定对满足哪些bean name的的bean自动生成业务代理自动生成业务代理list是所有需要自动创建事务是所有需要自动创建事务代理的代理的bean指定指定Interceptor可以增加新的可以增加新的Interceptor 6.6 实现业务逻辑层49第第6 6章章 Struts 2 Struts 2、HibernateHibernate和和SpringSpring整合应用整合应用6.1 6.1 项目创建及功能描述项目创建及功能描述项目创建及功能描述项目创建及功能描述6.2 6.2 层次划分层次划分层次划分层次划分6.3 6.3 添加添加添加添加SpringSpring开发开发开发开发6.4 6.4 实现实现实现实现HibernateHibernate持久层持久层持久层持久层6.5 6.5 实现实现实现实现DAO DAO 6.6 6.6 实现业务逻辑层实现业务逻辑层实现业务逻辑层实现业务逻辑层6.7 6.7 实现实现实现实现WebWeb层层层层506.7 实现Web层6.7.1 web.xml及及struts.properties配置文件配置文件既然要用到Struts 2及Spring,就需要在web.xml中配置相应的过滤器及监听器。还要配置Struts 2与Spring整合用到的struts.properties文件,其代码如下:struts.objectFactory=spring struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /*org.springframework.web.context.ContextLoaderListener contextConfigLocation /WEB-INF/applicationContext.xml 516.7 实现Web层6.7.2 6.7.2 分页实现(略)分页实现(略)分页实现(略)分页实现(略)526.7.3 系统主界面系统运行后,会出现如图6.9所示的主界面。图6.9 运行主界面536.7.3 系统主界面该主界面分为4个部分,分别是头部head.jsp、左边部分left.jsp、右边部分rigtht.jsp和尾部foot.jsp。然后用main.jsp把它们整合在一起。下面是实现它们的代码。head.jsp代码如下:学生成绩管理系统学生成绩管理系统546.7.3 系统主界面right.jsp代码如下:代码如下:学生成绩管理系统学生成绩管理系统foot.jsp代码如下:代码如下:学生成绩管理系统学生成绩管理系统556.7.3 系统主界面main.jsp代码如下:代码如下:学生成绩管理系统学生成绩管理系统 566.7.4 “登录”功能实现在6.7.3节的主界面中,如果用户单击左边的任意一个超链接时还没有登录,都会跳转到登录界面,如图6.10所示。图6.10 登录界面576.7.4 “登录”功能实现Struts 2可以自己配置拦截器,用来验证用户是否已经登录,如果没有登录就跳转到登录界面。而登录成功后就会跳转到成功界面,如图6.11所示。图6.11 登录成功界面586.7.4 “登录”功能实现下面是拦截器代码:package org.tool;import java.util.Map;import org.model.Dlb;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;public class MyFilter extends AbstractInterceptorpublic String intercept(ActionInvocation arg0)throws Exception Map session=arg0.getInvocationContext().getSession();Dlb user=(Dlb)session.get(user);if(user=null)return Action.LOGIN;return arg0.invoke();596.7.4 “登录”功能实现下面是实现left.jsp中超链接跳转的Action在Struts的核心配置文件struts.xml中的配置。/login.jsp/xsInfo.jsp /addXsInfo.jsp606.7.4 “登录”功能实现如果判断出没有登录就会跳转到登录界面。下面是登录界面login.jsp的实现:学生成绩管理系统学生成绩管理系统 616.7.4 “登录”功能实现在struts.xml中的配置:对应Action实现类DlAction.java/login_success.jsp/login.jsppublic class DlAction extends ActionSupportprivate DlService dlService;private Dlb dl;public void setDlService(DlService dlService)this.dlService=dlService;public String execute()throws ExceptionDlb user=dlService.find(dl.getXh(),dl.getKl();if(user!=null)Map session=(Map)ActionContext.getContext().getSession();session.put(user,user);return SUCCESS;elsereturn ERROR;626.7.4 “登录”功能实现由于该Action实例是由Spring完成的,所以在applicationContext.xml文件中加入代码:登录成功后的界面login_success.jsp:登录成功!你可以进行相关操作了!登录成功!你可以进行相关操作了!636.7.4 “登录”功能实现部署运行,结果如下:部署运行,结果如下:部署运行,结果如下:部署运行,结果如下:64

    注意事项

    本文(第6章Struts2Hibernate和Spring整合应用课堂精简.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开