设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>理工论文 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
基于SH中间件的Java Web软件架构设计与应用
文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

1.  引言

Java技术是目前流行的开发Web语言。Java Web开发模式已被广泛用于开发B/S软件应用。Java Web技术的发展归因于互联网浏览器的发展。

基于B/S结构的软件与基于C/S结构的软件相比较有一个显著的改进。基于C/S结构的软件,客户端代码和服务器端代码必须分别存储在客户端和服务器端。客户端请求发送到服务器,然后服务器响应请求并且返回结果。它在维修和应用中带来了很多不便,因为每个客户端必须安装客户端代码。

基于B / S结构软件的客户端浏览器。客户端代码和服务器端代码都存储在Web容器(Web服务器)中。用户通过客户端浏览器发送一个请求到服务器,客户端代码被下载到客户端计算机,并且在浏览器中运行。它不再需要客户端计算机安装客户端代码,这是不同于基于C / S结构的软件。因此,不仅在客户端计算机系统维护的工作能方面显著简化,同时也使用户的操作简单和一致。

基于B/S结构的Java Web软件不断改进。模型1(JSP + JavaBean)和模型2(JSP + Servlet + JavaBean)已先后发展起来。后者实现了MVC模型(模型+视图+控制器)。基于B/S的软件在结构发展方面变得越来越有层次。层次结构的目的是从程序中分离出数据,将业务逻辑从显示逻辑中分离出来,将数据库管理从业务逻辑中分离出来。层次结构有利于系统扩张,以便对整个系统因某层的改变所造成的影响可以最小化。

表示层:提供用户特定的操作接口,接收客户端请求,并显示响应结果。它也可以识别小数量的业务逻辑。

业务层:识别主要的业务逻辑。业务代码是独立的,不需要知道如何以及在哪里显示。此外,它也是独立的后端数据库。

数据层:是一个独立的后端数据资源。数据可以被不同的程序使用。目前,典型的数据资源是关系数据库。

由于上述几个优点,分层网络软件应用程序已迅速成为主流的Web应用程序。

2.  SH框架技术

作者研究了基于SH中间件的Java Web软件应用程序的体系结构和设计技术,并应用在开发项目上。

A. Struts

Struts2是在Java开发平台上的一个开放资源的表示层中间件。它认识到表示层的MVC模式,成功地在表示层分离了视图和控制。Struts2包括三个部分:核心控制器过滤调度员,逻辑控制器动作和视图组件。过滤调度分配器是一个在运行的Web应用程序上的过滤器。它负责拦截所有客户端请求,然后通过阅读配置文件“struts.xml”确定处理客户端请求的方法。

执行方法获得信息,例如客户端请求的参数和执行业务处理。它还将处理结果传输到客户端显示出来,如JSP,FreeMarker,速度,等[2]。

B. Hibernate

Hibernate3是在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<Session> threLocal = new

ThreLocal<Session>();

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会话对象,以确保线程安全的。

通过不同层次的接口可以减少交互层。它有助于改变和扩展应用软件。

为了一致的使用和管理Hibernate,有必要设计一个ManageHibernate类,对DAO提供服务。

从前台JSP到后台Hibernate,POJO在层和操作数据对象之间进行参数传递

POJO的表示层封装客户端数据,可以是相同的类作为数据层的POJO ORM映射。

  全套毕业设计论文现成成品资料请咨询微信号:biyezuopin QQ:2922748026     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
中文PLC、工业PC与DCS的特 基于面向服务架构的高校宿舍微信小 自动水果采摘机:机器人苹果收割机
评估AlSiTiN和AlSiCr 基于人工智能的智能语音识别系统设 大数据舆情分析系统的设计与实现
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopin QQ:2922748026  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!