SSH技术在网站开发中的研究与应用
2017-06-05熊海燕
熊海燕
摘要:spring作为开源的中间件,独立于各种JavaEE服务器,甚至不需要服务器的支持,也能提供JavaEE服务器的功能;Struts框架是目前最流行的MVC结构的框架,提供了一种快速高效的构建web应用的方法;Hibernate在网站开发中具有非常突出的优势,能够将数据库的字段和类的数据成员进行绑定,形成对象关系映射模式,使得网站开发人员可以集中精力进行网站的设计,不用担心数据的读写,能自由地操纵数据库。随着B/S软件开发模式的不断深入,对网站开发效率和开发技术的要求越来越高,Spring、Struts和Hibernate在网站开发中的优势明显,尤其开发效率高,受到众多网站开发人员的青睐。该文阐述了在网站开发中如何使用SSH技术,并通过在线考试网站的开发来探讨SSH技术如何具体应用于网站的开发中。通过SSH在网站开发中的应用,使得所开发的网站在架构上实现了业务逻辑和数据处理的分离,从整体上提升了系统的安全性和可扩展性。
关键词:网站开发;SSH;信息管理
中图分类号:TP3
文献标识码:A
文章编号:1009-3044(2017)10-0068-03
在Spring中,程序员可以从单调烦闷的事务管理代码中解脱出来,以声明式的方式灵活地进行事务管理,从而提高开发效率和开发质量,方便集成各种优秀框架。Struts体系结构实现了MVC设计模式的架构,它使得网站开发更容易,将整个开发分为三个层,视图层专门负责数据的显示以及接受用户输入的数据,模型层专门负责数据的表示和存储,控制层负责视图层和模型层之间的交互。Hibernate完成开发语言中类数据成员和数据库中字段的映射,让网站开发人员更轻松地完成对数据库中数据的操作,而且简化了繁琐的操作,例如,网站开发人员要想对数据库进行读写,只要通过类对象来完成读写就可以达到目的,因为类的数据成员和数据库字段是绑定的。
1.SSH技术在网站开发中的研究
下面以在线考试网站为例来研究SSH技术,本文的在线考试网站数据的存储采用MySQL数据库来储存系统所依赖的相关数据。持久层数据的增删改查操作用Hibernate来实现,实现的过程中结合SQL语句和HQL语句来完成系统数据的相关操作。页面之间的相关跳转用struts2来控制,而前后台的数据交互用大部分采用JSON这种数据格式来实现,较少的数据库交互放在HttpSession域对象中。处于web层的struts2,核心算法的实现业务逻辑层以及持久层三者的整合用Spring来进行整合,从而实现各种的解耦,使整个系统属于一种松耦合的状态。各组件之间的依赖关系如图1所示。
页面中要显示的数据都封装成一个个Java Bbean,最终通过在action中转化成Json格式的对象输出到前台显示。前后台数据交互的过程如下图2所示。
3.SSH技术在网站开发中的应用
SSH技术在网站开发中应用的具体框架如图4所示,使用struts、spring、hibernate三种框架进行构建。
由Struts来控制数据流、跳转和显示。其中Struts应用MVC设计模式,M(model)主要封装将数据封装为对象进行操作。v(view)给用户显示一个操作界面,其中JSP也用来显示。C(controller)的功能非常重要,它能使得M(model)和v(view)之间有序协调的交互,这些功能主要是由抽取出的业务逻辑控制来完成。业务层主要用于向表示层提供处理逻辑业务的接口,所有的前台操作在这一层中也都有所体现。持久层主要用来给业务逻辑层提供数据访问对象接口(DAO)。与此同时使用Hibernate的持久化进行处理,来访问数据库。
在网站开发中,经常涉及数据的显示和存储,传统的做法是,利用开发语言连接数据库,进行一系列繁琐的操作完成数据中数据的读取和存储,例如:建立数据库对象,连接数据库对象,建立数据集对象,得到要操作的数据集,然后对数据集进行增删改查操作等,这一系列下来,要写很多代码,而且容易出错。Hibernate是专门用于解决数据库中数据的读取问题,它通过配置XML文件来实现数据库和对象之间的绑定,使得开发语言中的类对象和数据库中的表之间建立了“对象一关系”映射,这样,对数据库的操作就转化为对开发语言中类对象的操作,开发人员不再需要花费精力在数据库操作的细节上,也就是说,网站开发人员从数据库繁琐的操作中解放出来,有更多的精力进行网站的设计与开发。当开发人员对类对象操作后,Hibernate把对开发语言中的对象操作转化为对数据库的读写。下面通过一个网站开发中常用的登录案例来说明Hiber-hate的具体应用。假设数据库中有用户登录的信息表LogonOn(Logon_username,Logon_password,Class_Identity),网站开发中有对应的用户登录类Logonon.Class,在这个类中,有相应的数据成员,L_userN,L_passW,Class_ID,其中Class_ID是开发语言中类对象的唯一标识,以便与不同的对象进行区别。除此之外,网站开发人员还要编写配置文件LogonOn.hbm.Xml,核心配置如下:
在上面的LogonOn.hbm.Xml配置文件中,配置实例的唯一性通过语句
來控制,
例如查询:User user=(Uset)session.get(User.class,123);表示查询学号为123的学生,返回值是对象,即把数据库表中的字段信息赋值给User类实例的属性,这样就实现了对象一关系映射操作。同样,可以通过调用hibernate框架的session接口的相应方法比如updateo、addo、deleteo,实现对数据库表的更新,添加,删除。这些方法hibernate框架已经提供给用户,作为系统开发者只要了解这些方法,需要用时拿过来用就可以,这样大大减轻了传统的需要开发者编写JDBC数据库操作工作量,而且更容易掌握。
下面以试题的生成为例来介绍SSH技术在网站开发中的具体应用。具体实现是首先根据每一个章节来查找该章节的所有信息题目,添加一个习题后,包括习题的主图片和附件图片的路径(相对路径或者绝对路径)以及该习题的题号和正确答案,和该题是属于那章节所对应的数据库中的ID。使用Hi—bernate的级联来添加习题,根据章节的ID得到页面显示的习题显示封装Bean,并讲将逐个题目显示出来。详细实现代码如下:
4.小结
spring作为开源的中间件,独立于各种JavaEE服务器,甚至不需要服务器的支持,也能提供JavaEE服务器的功能。Struts框架是目前最流行的MVC结构的框架,提供了一种快速高效的构建web应用的方法。Hibernate通过绑定开发语言中的类对象和数据库中的表来实现对象一关系映射,使得对数据库的操作从传统的繁琐工作中解脱出来,提高了网站开发效率,降低了网站开发人员的工作量,本文在对这些技术研究的基础上,通过一个具体的网站开发实例来展示应用这些技术开发网站的优势。