- 文献综述(或调研报告):
21世纪,随着科技的发展,web网页领域也日新月异,各类框架层出不穷。最开始的web开发仅包含若干静态html页面和少量与服务器的交互,而今天甚至javaScript(早期多用于HTML上的动态脚本语言)也可以用于后端编程,即Node,js。
在开源领域,spring开源框架已经成为企业应用开发中最常用的框架,其优秀之处不仅在于它的方便快捷,面向实践,同时也因为它的背后有一个世界一流的后勤团队,不断查缺补漏更新换代。早期企业应用多应用EJB框架(Enterprise JavaBean)设计程序,EJB最初的设计思想是为分布式应用服务的,针对大型应用而生。然而大多数企业应用其实并无太多需要分布式计算的应用,换句话说,EJB用于设计小型无需分布式的应用而言,显得过于臃肿。而SPRING框架很好地解决了这个问题,它小巧,精致,在对付大型分布式应用时,它或许尚不如EJB,毕竟EJB算是经过了考验的成熟的商业解决方案。但对于小应用而言,spring框架则十分轻巧,易于使用,使得开发者能顾将重心放在业务逻辑上,而不必太花费时间设计代码逻辑,极大缩短了开发时间,提高了效率。因此态势系统也将使用spring框架作为底层框架进行开发,一来是因为态势系统非分布式系统,设计上无需大刀阔斧地采用EJB这样的“重型”解决方案,二来企业应用开发十分注重效率,而spring可以很好地帮助我们着重业务开发而非陷入设计良好的代码结构而苦恼。
SpringMvc属于spring的后续产品,已融合于spring框架中。通过策略接口,它可以无缝地嵌合多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫开发者只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制。使用SpringMvc管理web模块大致上属于水到渠成的选择。
早期(即使是现在),JSP技术都应用得相当广泛,它是在传统的HTML页面中插入Java程序段,形成JSP文件。它类似于Java和HTML的混合体。这在视图技术上确实方便,但缺点也很显然,程序员需要同时了解HTML和Java,而这两种技术本属于两个不同的领域(前端web和后端开发),并没能很好地解耦前段页面与后端开发,甚至有些混淆不清,增加了产品的复杂度。同时JSP将静态资源动态资源混合在一起,服务器会时常受到http请求导致压力过大。此外,UI设计好模型后,前端工程师设计相应的HTML页面,还需要后端工程师改造成jsp页面,出错率很高。
而前后端分离则是时下比较热门的新选择。它放弃了JSP技术,改而利用AJAX与后端进行数据交互[5],这样就将前端与后端开发区分开来,使得后端开发人员可以专注于基础代码设计,安全,存储,业务等方面,而前端人员只需要做好页面,考虑如何让页面更流畅,用户体验更好,兼容性更高即可。同时,它能够减少后端服务器的压力,增加代码的可维护性,易读性,提升开发效率,快速定位问题所在等。态势系统考虑到前后端分离带来的优点,决定利用此技术进行开发,解耦前端与后端,使得术业有专攻。
一般的企业web应用开发后端部分传统上分为三部分,即控制层,业务层,持久层。控制层与业务层交由spring框架管理,持久层主要工作是程序与数据库的交互。虽然java本身带有一套能够直接操作数据库的接口,可是该接口使用起来过于麻烦,一方面由于数据库查询语言与java有些差别,沟通上自然需要一些代码整理,另一方面代码与数据库的交互还牵扯到许多问题,如sql的注入,各种逻辑判断表达式,存储过程的使用,映射,线程池等。如果程序员开发过程中还需要考虑如上各种问题,不免影响到开发进度。而mybatis框架正是为此而开发的,它简单易学,灵活,解耦java代码与sql语言,易于管理,最重要的可以让程序员脱离繁琐的数据库交互过程的代码架构,转而专注于业务层设计。
数据库方面选择了postgresql,作为一款开源且面向对象数据库,它具有良好的稳定性且有大量可参考文献[7]和社区等。面向对象类型数据库与态势系统的需求比较吻合。
以上spring,springMvc,mybatis框架合称SSM框架,是时下常用的企业小型web应用开发的框架首选,其轻巧,易上手,解耦业务与代码逻辑的特点也可以很好地适应企业开发追求高效的特点。
参考文献:
[1]郝佳.Spring源码深度解析[M]. 北京:人民邮电出版社,2013.9 10-335
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。