Java高级编程节课作业

上传人:仙*** 文档编号:99621474 上传时间:2022-06-01 格式:DOC 页数:15 大小:163KB
返回 下载 相关 举报
Java高级编程节课作业_第1页
第1页 / 共15页
Java高级编程节课作业_第2页
第2页 / 共15页
Java高级编程节课作业_第3页
第3页 / 共15页
点击查看更多>>
资源描述
文档供参考,可复制、编制,期待您的好评与关注! Java高级编程结课大作业题目:分别谈谈你对Struts2、Hibernate和Spring框架的理解,并举例说明。 1、Struts2的理解: Struts2 这个框架,struts1是世界上第一个mvc框架,现在的MVC框架很多 最著名的是Struts springmvc 等 Struts2的体系结构和struts1差别巨大,它明确的说它不是一个新的MVCweb框架,它不是从struts1升级过来的,它是基于webwork的xwork的 ,是xwork2的升级版, Struts2吸取了struts1和xwork2的 两者的优点 ,Strus2是以webwork为核心。所以struts2更加优秀的,更加整洁的MVC 框架 ,采用拦截器的机制处理用户的请求 这样的设计能够与原生的servletAPI完全脱离,在struts2中有一个核心类它就是StrutsPreparedAndExecuteFilter struts2准备执行过滤器 我们要想使用Struts2 对用户的请求处理 我们必须在web.xml中进行配置这个核心过滤器。 基本上是过滤所有请求的。一般的Struts2框架的处理流程: 1、加载类 StrutsPrepareAndExecuteFilter 会执行准备操作执行操作准备操作: 使用AcionMapper 进行读取对URL进行映射,执行操作: 会交给actionproxy 来 调用配置管理器,来读取struts.xml 等读取完毕 actionproxy 交给第三者 : actionInvocation 来递归调用一组拦截器, 基本上就是我们使用的拦截器栈进行预处理操作 2、等预处理操作完毕之后,第三种进行调用我们的action 和result 在依次递归反向调用我们的那组拦截器进行后处理操作 最后发出response 给浏览器2、hibernate的理解 hibernate 是一个持久层框架,又是一个ORM框架,通俗的来讲就是 一个对象关系映射框架。使应用程序的持久化类到数据库中的表之间的关系的映射;hibernate其实就是是对jdbc的封装,减轻了程序员使用jdbc操作数据库的繁琐工作。让程序员操作数据库关心的不再是数据库中的表而是我们的持久化对象javabean,比如: 进行保存操作的时候仅仅使用一个save() 的方法,删除一条记录的时候仅仅调用delete()方法就能方便的完成对数据库中的数据的增加、删除操作。 使用Hibernate 的基本的流程是 配置Configuration对象,产生SessionFactory 创建session对象,开启事务 完成增加 删除 修改 查询 的操作 提交事务 关闭 session在使用hibernate的时候 要先配置hibernate.cfg.xml 文件 其中配置数据库连接信息和方言【不过这些固定的可以配置在hibernate.properties 属性配置文件中,在应用程序启动的时候,会先加载 src目录下的hibernate.properties 再加载 src目录下的hibernate.cfg.xml 再加载 对应的持久化配置映射文件*.hbm.xml 等加载完成后 开始创建sessionFactory 】3、对spring 的理解 说起spring ,spring实现了工厂模式的工厂类-beanFactory这是一个轻量级框架,其中在spring中包含有三个重要的技术IOC 、DI、 AOP。IOC: 控制反转 这个IOC是一种编程思想,也是一种架构的艺术,利用这个技术可以很好的实现模块与模块之间的解耦,耦合性降低 。如使用了Spring的IOC技术,对自己想使用的对象进行实例化的时候 ,不需要你自己进行new 操作了 ,而是交给 Spring容器帮你实例化对象。 那什么是DI呢? 其实IOC也成为DI DI 是英文的缩写 依赖注入这这个名词更能说明IOC的设计理念。就是将服务注入到使用它的地方中,组件之间的依赖关系由容器在应用系统运行前来决定。【依赖注入的方式一般分为4个: 通过gettter 和setter方法进行注入,和通过构造函数进行注入 通过对象工厂进行注入 和通过静态工厂进行注入】。AOP是面向切面编程,这解决了在整个系统中很多毫不相干的模块或者具体的类添加相同的功能,比如输出日志信息,权限设置, 和事务管理等。实现AOP功能就是实现了代理功能,对目标类进行代理 ,动态的代理可以分为两种: jdk的动态代理和CGLIB的动态代理,它们之间的区别是, 使用jdk的动态代理 代理对象必须实现一个接口 ,而cglib 没有必要,对字节码也可以动态代理了。 很强大 不过我们一般在做应用程序的开发的时候面向接口的编程,减少类与类之间的耦合,所以我们用jdk的动态代理。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行内部的定制化;并且有强大的用户社区来支持它。框架通常能很好的解决一个问题。然而,你的应用是分层的,可能每一个层都需要各自的框架。仅仅解决UI问题并不意味着你能够很好的将业务逻辑和持久性逻辑和UI 组件很好的耦合。 Struts2+Spring+Hibernate是J2EE的最新流行框架。本篇是我搭建这个框架的经验总结,有很多人搭建这个框架总会遇到大大小小的问题,网上也没有什么行之有效的方案或成体系的介绍,所以我就决定总结一下我的搭建过程。给一些搭建尚存问题的朋友提供帮助。我用这个框架,实现的是基本的CRUD功能的一个雇员管理系统,本来打算丰富一下功能,但是一直没能抽出空去搞。目前版本暂定为1.0,除了CRUD外还配置了表单验证框架JSValidation。功能都能很顺利的实现。现在分享部分源码,来说明一些注意事项。以下是部分搭建过程及源码:1.先组合实现Hibernate3.2+Spring2.5支持,删除hibernate.cfg.xml文件,修改applicationContext.xml文件的内容,增加SessionFactory和dataSource的设置。2.通过MyEclipse的向导方式,生成POJO类和对应的映射文件。3.修改applicationContext.xml文件中元素的内容。4.编写DAO接口和实现类。5.修改applicationContext.xml文件,增加对Dao实现类的配置。6.组合Struts2和Spring2.5,修改web.xml文件,增加struts2的所需要的过滤器配置。7.增加struts2相应类库,增加struts2与spring的配置jar包。8.拷贝struts.xml文件到src根目录下,再修改struts.xml文件,进行常量配置。9.修改web.xml文件,配置Spring监听器,和上下文变量。并增加OpenSessionInViewFilter的设置。10.写入action类。11.配置struts.xml文件。12.修改applicationContext.xml13.编写Jsp文件。14.加载运行项目。下面是关键文件的源码:struts.xml源码:add.action/emp/add_suc.jsp/emp/list.jspdelete.action/emp/delete_suc.jspupdate.action/emp/edit_suc.jsp/emp/edit.jspweb.xml源码:web-appversion=2.5xmlns=xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instancexsi:schemaLocation=contextConfigLocation/WEB-INF/applicationContext*.xmlorg.springframework.web.context.ContextLoaderListenerlazyLoadingFilterorg.springframework.orm.hibernate3.support.OpenSessionInViewFilterstruts2org.apache.struts2.dispatcher.FilterDispatcherlazyLoadingFilter*.actionstruts2/*index.jspapplicationContext.xml源码:org.hibernate.dialect.MySQLDialecttruecom/sy/crm/model/Employee.hbm.xmladd.jsp源码:addpage雇员注册:查看所有雇员list.jsp源码:listemployeepagetableborder:1pxsolidblack;border-collapse:collapse;tabletheadtrthborder:1pxsolidblack;padding:3px;background-color:#cccccc;tabletbodytrtdborder:1pxsolidblack;padding:3px;雇员管理:员工注册选择编号姓名电话地址操作inputtype=checkboxname=idvalue=/ahref=修改 ahref=删除显示界面如图:下面是项目的构图:第一点注意的是,搭建出项目,一定会报错,因为Spring 2.5 AOP Libraries中的asm的三个jar包会和Hibernate 3.2 Core Libraries中的asm的jar包中的某些类中有冲突。所以一定要删除Spring中的三个asm的jar包。第二点要注意的是,struts2的配置包的导入,需要的是5个jar包分别是:struts2-core-2.0.11.2.jarfreemarker-2.3.8.jarognl-2.6.11.jarxwork-2.05.jarcommons-logging-1.0.4.jarstruts2+spring配置包:struts2-spring-plugin-2.0.11.2.jar15 / 15
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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