javamvc技术的在线考试系统的设计与实现(4)
时间:2021-06-20 15:57 来源:毕业论文 作者:毕业论文 点击:次
JDK的版本有三个版本,其中分别是标准版SE(J2SE)、企业版EE(J2EE)以及ME(J2ME),后来被分别更名为Java SE 、Java EE和Java ME。 标准版主要是用于开发各类C/S架构的应用程序,比如安卓应用以及PC端应用。企业版一般是用来开发各类B/S架构的网站程序,如门户网站等等。 1.2.2 SSM框架 作为Java Web程序员,我们从学校到就业到工作中,接触的最多的可能就是三大框架,学习的时候老师经常跟我们重复和强调,学会用SSH,可以保证就业,保证薪水,那时候没有人想过为什么要学SSH,在学校就买了很多相关的书籍《Hibernate实战》、《Spring+Struts+Hibernate 整合开发》,书中的内容就感觉是基督教徒通往天堂的必经之路,我开始阅读书籍中的XML配置,HQL语句编写,Hibernate多级缓存,关联关系配置,像模像样的搭建了某个管理系统,参加工作后,最开始使用JSP和JavaScript编写表单,Controller层接收参数,引入service处理业务逻辑,Dao层处理与数据库的交互,逐级返回结果,我们依次循环,仿佛这一天是理所当然,我们越用越熟练,了解框架越来越多的用法,我们得意满满,仿佛没有框架实现不了的业务功能。 然而SSH(Spring+Struts+Hibernate)框架对于本次系统开发而言有点大材小用。于是乎,本次开发采用了相对更加灵活,但是功能一样强大的SSM(SpringMVC+Spring+Mybatis)框架。 首先,SpringMVC是前端框架和Struts2类似。所以不会和Spring,Hibernate存在取舍,取舍的是SpringMVC和Struts。由于SpringMVC是轻量级的,用起来相对灵活。所以如果使用Spring MVC 框架的话,开发效率通常会比使用 Struts2 框架的开发效率高很多。因为Spring MVC 的设计是建立在各个方法上的,然而 Struts2的开发通常是建立在各个类上的。所以每当客户端向服务器发送一次请求的时候,Struts2都会根据客户端发送的请求来创建一个与之对应的Action实例。Spring MVC 使用更加简洁, 并且就开发效率而言 Spring MVC 确实比 Struts2高:SpringMVC支持 JSR303, 处理 Ajax 的请求更方便。当然struts也不是没有任何优点,Struts2 的 OGNL 表达式使页面的开发效率相比 Spring MVC 更高些。从目前的情况来看,SpringMVC被越来越多的开发人员所青睐。不敢说SpringMVC一定能够取代Struts2。但是,可以肯定的一点就是SpringMVC使用比例会越来越高。 其次,对于持久层框架。Hibernate不是十分适合做查询优化,特别是当数据量特别大,达到GB甚至TB级别的时候,Hibernate优化查询会闲得特别困难,这是因为Hibernate都不是使用原生SQL语句来执行查询功能而是HQL或者Criteria Query。虽然Hibernate也可以使用SQL来执行查询,但是SQL语句是通过字符串拼接的,灵活性不高。并且复杂的HQL难写也难以理解,比如说:多表查询的HQL语句。Mybatis配置开发相对复杂,但是带来的好处是更加灵活,SQL语句放在XML文件中,可以通过各种配置来优化查询。在大数据的环境下,使用Mybatis来优化管理数据比使用hibernate更加适合些。 1.2.3 SpringMVC框架 SpringMVC框架是spring框架中用户web应用快速开的一个模块,被广泛用作当今业界最主流的web开发框架。SpringMVC的MVC是model-view-controller的缩写。 它是一个广泛应用在图形化用户交互开发中的设计模式。并且springMVC是基于spring框架、servlet和Javaserver Page,SpringMVC框架也是一个基于请求驱动的web框架,并且使用了前段控制器模式来进行设计的。然后再根据客户端发出的请求映射到各个相对应的页面控制器中进行逻辑处理。具体的工作流程如下: 首先,用户通过客户端浏览器发出请求到前端控制器(DispatcherServlet),然后前端控制器根据接收到的请求信息判断将请求转发到那个页面控制器进行处理,并把请求委托给他。 (责任编辑:qin) |