2 相关技术介绍
2.1 B/S架构
B/S结构,又叫浏览器/服务器结构。在这种架构中,在客户端只需要一个浏览器,就可以向服务器发送各种请求,极大程度地降低了客户端的压力。用户想要发送或者获取一些数据,只要将所需要的数据请求或者命令发送到服务器上,服务器接收请求后来进行大量的计算工作,包括访问数据库以及返回至客户端的数据进行处理。
B/S架构的优点就在于其操作非常方便,只要有一个浏览器,就可以体验到所有的功能,不需要下载客户端,这点在用户体验上是非常好的。在页面上,通过配合前段技术,前后端动作默契地配合,就可以轻而易举地实现非常强大的功能。目前也有非常多的开源API进行选择。并且这个架构模式在升级、维护、修改时是非常方便的。尤其是系统版本的升级很方便,在用户体验是“瞬间”完成升级。系统升级时,只需要在服务器上修改,用户只需要刷新一次界面便可使用最新版。
B/S架构根据其功能或者流程,可以分成表示、控制、数据三层。界面请求后离不开数据处理、数据处理离不开数据,左右这几层的关系既是相互关联而又是自身分层独立的,下面将一一介绍这三层:
(1)表示层:又叫表示逻辑层,用户界面的使用和操作,就是表示层作用的地方。用户发出一个请求到服务器上,服务器根据用户发出的请求做出反应,期间用到了HTTP的传输协议。服务器接收到请求并且做完反应以后,最终把页面或者结果展示到用户界面,浏览器通过自身内核解析主页文件,从而显示在屏幕上;
(2)控制层:又控制逻辑层,其用到了对数据库的请求。首先用户对服务器发出请求,服务器接收到请求验证了正误以后,执行对应的数据库连接,获取数据或者操作数据,把结果提交到服务器上,最后返回回来;
(3)数据层:又叫数据表示层,该架构的数据都是储存在服务器上的,因此客户端发送到服务器端请求之后,服务器根据请求来对数据库进行一系列的操作,随后把结果传送到服务器上,等待发送至客户端。
B/S架构和另一个比较流行的架构C/S架构相比,最大的区别在于客户端不参与运算。B/S架构的三层机构中,两层都不参与运算,所有计算或者数据的处理都在服务器端进行。用户只需要发出请求和接收数据结果即可。对客户端的电脑配置要求较低,另外,如果现在进行一个请求,它占用的内存非常少,是可以用电话线来传导的。但是如果是C/S架构,如果用电话线进行传输这个请求的话,可能速度太慢无法接收。因此B/S的三层结构,不仅可以减少和改善客户端的配置,而且只需要一台应用服务器和数据库服务器即可,有效地降低了成本,并且获得了更好的业务实现效果。
2.2 S2SH框架
S2SH框架是由Struts2,Spring,Hibernate三个框架整合而成,是目前较为热门的JAVA框架。在功能上分为四层:表示层、业务层、数据持久化层和域模块层。具体实现过程:这个架构的最终对数据库的操作是在DAO层进行的,在其他层面,除了Hibernate是用了面向平面的思想,其他都是充分利用了面向对象的思想。这个框架用Hibernate完成映射。随后系统的业务逻辑由Spring来完成。其中Hibernate框架来进行数据持久化,将实体类和数据库字段映射起来,利用Struts为系统的整体基础架构,用来对MVC的分离,在对数据和数据库间的操作,业务逻辑层用Spring来支持。
这个框架的基本的流程可以解释为:在与用户交互的表示层中,是通过JSP的页面来实现交互的,通过浏览器展示,并且负责传输请求接收响应。在根据Struts的xml配置文件将Servlet请求委派给对应的Action来处理。进入业务层后,SpringIOC容器来负责之前Action中的业务请求,并提供相应的业务处理,保证数据的完整性,再通过DAO层的操作进行对数据库的请求操作。最后进入持久层,通过Hibernate设置好的映射关系,出来DAO层发来的命令,进行最后的数据库操作,然后把处理结果返回回来。