

免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SH中间件的Java Web软件架构设计与应用1. 引言Java技术是目前流行的开发Web语言。Java Web开发模式已被广泛用于开发B/S软件应用。Java Web技术的发展归因于互联网浏览器的发展。基于BS结构的软件与基于CS结构的软件相比较有一个显著的改进。基于CS结构的软件,客户端代码和服务器端代码必须分别存储在客户端和服务器端。客户端请求发送到服务器,然后服务器响应请求并且返回结果。它在维修和应用中带来了很多不便,因为每个客户端必须安装客户端代码。基于B / S结构软件的客户端浏览器。客户端代码和服务器端代码都存储在Web容器(Web服务器)中。用户通过客户端浏览器发送一个请求到服务器,客户端代码被下载到客户端计算机,并且在浏览器中运行。它不再需要客户端计算机安装客户端代码,这是不同于基于C / S结构的软件。因此,不仅在客户端计算机系统维护的工作能方面显著简化,同时也使用户的操作简单和一致。基于B/S结构的Java Web软件不断改进。模型1(JSP + JavaBean)和模型2(JSP + Servlet + JavaBean)已先后发展起来。后者实现了MVC模型(模型+视图+控制器)。基于BS的软件在结构发展方面变得越来越有层次。层次结构的目的是从程序中分离出数据,将业务逻辑从显示逻辑中分离出来,将数据库管理从业务逻辑中分离出来。层次结构有利于系统扩张,以便对整个系统因某层的改变所造成的影响可以最小化。表示层:提供用户特定的操作接口,接收客户端请求,并显示响应结果。它也可以识别小数量的业务逻辑。业务层:识别主要的业务逻辑。业务代码是独立的,不需要知道如何以及在哪里显示。此外,它也是独立的后端数据库。数据层:是一个独立的后端数据资源。数据可以被不同的程序使用。目前,典型的数据资源是关系数据库。由于上述几个优点,分层网络软件应用程序已迅速成为主流的Web应用程序。2. SH框架技术作者研究了基于SH中间件的Java Web软件应用程序的体系结构和设计技术,并应用在开发项目上。A. StrutsStruts2是在Java开发平台上的一个开放资源的表示层中间件。它认识到表示层的MVC模式,成功地在表示层分离了视图和控制。Struts2包括三个部分:核心控制器过滤调度员,逻辑控制器动作和视图组件。过滤调度分配器是一个在运行的Web应用程序上的过滤器。它负责拦截所有客户端请求,然后通过阅读配置文件“struts.xml”确定处理客户端请求的方法。执行方法获得信息,例如客户端请求的参数和执行业务处理。它还将处理结果传输到客户端显示出来,如JSP,FreeMarker,速度,等2。B. HibernateHibernate3是在Java开发平台中数据层中间件的开放资源和对象/关系数据库的映射工具。它将实体对象到关系数据库映射的很好,屏蔽了应用软件的关系数据库,关系数据库的访问封装到对象的访问,并为上层提供了一个统一的数据访问接口。Hibernate3不仅提供了从Java类双向映射到数据表,而且提供数据查询、数据修改、数据修复、数据恢复的机制。Hibernate3可用于J2EE和J2SE应用软件开发的JDBC方面。Hibernate3提供HQL(Hibernate查询语言),可以完全以面向对象的方式访问数据资源。3. 基于SH框架的软件体系结构作者介绍了SH中间件在气象预报系统设计项目中的应用。Struts2在表示层,Hibernate3在数据层。JSP:客户端页面,使用Struts2标记和在表单中从POJO接收客户端数据的形式。Action:Struts2 Action类,其私人属性符合JSP表单的POJO。Action不需要执行大量的业务流程。主要的业务流程由业务层完成。Action类在业务层调用业务接口的方法。业务接口:它是一个正面的业务层,定义了各业务模块中的方法。应用软件的各个模块应该有这个接口来分离表示层与业务层。表示层和业务层之间通过接口连接,这样可以降低层与层之间的相互作用,是软件扩展的首选。业务实现:业务接口的实现类,实现软件的各种业务功能。DAO接口:它是数据访问接口,它定义了所有的数据访问模块中的方法。应用软件的各个模块应该有这个接口来分离的数据层和业务层。业务层和数据层之间通过接口连接。它可以降低层与层之间的相互作用,且修改软件者优先。DAO实现:DAO接口的实现类,调用管理Hibernate类的方法来创建Hibernate会话对象和实现CRUD(创建、检索、更新、删除)数据访问。Manage Hibernate:它是一个Hibernate管理的工具类。它直接接触Hibernate。它根据 “hibernate.cfg. xml”文件和ORM映射文件提供了初始化Hibernate和创建Hibernate 会话工厂对象的方法。它还提供了创建Hibernate会话对象的方法,打开,关闭会话等等。与此同时,为了方便的恢复数据,日志数据层应提供机制,可以通过使用Hibernate3 Log4J实现。Hibernate3:Hibernate3框架用于封装数据库。每个Session Factory对象对应一个数据库和每个会话对象对应一个数据库访问会话。Hibernate会话对象提供各种各样的数据库访问方法。数据库:这是一个关系数据库。作者使用MySQL 5.0,它是一个开放的资源关系数据库。4. 设计中的一些技术问题为了安全,来自JSP页面的每个请求必须充当一个Action请求(通过Struts2 Filter Dispatcher 接收),这样是为了避免网页之间的超链接。Hibernate 会话工厂对象是用于连接数据库并创建连接池。因此,它会消耗更多的系统资源。这是一个重量级的和线程安全对象。它应该被多个线程共享。为了节省内存,提高操作效率,应该采用静态方式使用这个重量级的对象。Hibernate会话对象对应一个数据访问会话。它是一个轻量级对象。它应该在应用软件中频繁的被创建和销毁。为了确保数据的完整性,数据库访问的操作集合必须被完全执行,以便Hibernate JTA(Java事务API)必须应用到会话事务。Session是一个不安全的线程。为了防止冲突,最好在应用软件中为每个线程创建一个会话对象,即每个会话请求应该有自己的会话对象实例。一个更好的方法是使用线程本地类分别绑定相应的会话对象。结合会话密钥代码对象:private static ThreadLocal threLocal = newThreLocal();public static Session currentSession()Session cSession = (Session)threLocal.get();if(cSession = null)cSession = sessionFactory.openSession();threLocal.set(cSession);return (Session) threLocal.get();public static void closeSession()Session cSession = (Session)threLocal.get();if (cSession != null)cSession.close();threLocal.set(null);5. 结论在这个软件体系结构中,表示层使用Struts2中间件。它接收客户端数据,将客户端请求转移到相关业务模块。与此同时,它还响应页面。数据层地图对象/关系在关系数据库中通过使用Hibernate3中间件实现。静态方法应采取使用重量级Hibernate Session Factory对象节省系统资源,应该使用ThreadLocal类绑定轻量级Hibernate会话对象,以确保线程安全的。通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 洗手间装修出租合同范本
- 黑龙江省第三方协议合同
- 游泳机构合作合同协议书
- 粘土配方设备转让协议书
- 肋骨骨折工伤补偿协议书
- 汽车保险拍卖协议书模板
- 生意中介服务费合同范本
- 门面出租电子档合同范本
- 股份回购如何写合同协议
- 泰州学院食堂承包协议书
- 护理缺陷纠纷登记报告制度
- 2025年数智采购供应链发展报告
- 2025贵州省专业技术人员继续教育公需科目考试题库(2025公需课课程)
- 老年肌肉衰减综合征(肌少症)课件
- 超星尔雅《诗经》导读检测题答案
- 冷却系统橡胶软管设计基础规范
- 地源热泵埋管冬夏季换热平衡计算
- 湖北省职称评审专业目录表(工程系列)
- 中考《红星照耀中国》各篇章练习题及答案(1-12)
- 华中师范大学辅导员队伍建设实施办法
- 新生儿沐浴室医院感染管理制度
评论
0/150
提交评论