基于Spring MVC+JDBCTemplate的Web系统的研究与应用.docx

上传人:rrsccc 文档编号:8927339 上传时间:2021-01-25 格式:DOCX 页数:7 大小:15.22KB
返回 下载 相关 举报
基于Spring MVC+JDBCTemplate的Web系统的研究与应用.docx_第1页
第1页 / 共7页
基于Spring MVC+JDBCTemplate的Web系统的研究与应用.docx_第2页
第2页 / 共7页
基于Spring MVC+JDBCTemplate的Web系统的研究与应用.docx_第3页
第3页 / 共7页
基于Spring MVC+JDBCTemplate的Web系统的研究与应用.docx_第4页
第4页 / 共7页
基于Spring MVC+JDBCTemplate的Web系统的研究与应用.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于Spring MVC+JDBCTemplate的Web系统的研究与应用.docx》由会员分享,可在线阅读,更多相关《基于Spring MVC+JDBCTemplate的Web系统的研究与应用.docx(7页珍藏版)》请在三一文库上搜索。

1、基于Spring MVC+JDBCTemplate的Web系统的研究与应用1 引言(Introduction)在Web应用中,表现层是Web应用不可忽略的重要组成部分,Spring为表现层提供了一个十分优秀的Web框架Spring MVC。与大多数其他的Web框架一样的设计理念,都是遵循MVC的思想架构。Spring MVC通过注解的方式,让POJO成为处理请求的控制器,无需实现任何的接口【1】。另外,Spring MVC最大的优点就是松散耦合,更具有灵活性和可扩展性【2】。JDBC已经能够满足大部分用户最基本的对数据库的需求,但是在使用JDBC时,应用必须自己来管理数据库资源。JDBCTem

2、plate正是为了减少JDBC繁琐的代码而设计出来的。Spring对数据库操作需求提供了很好的支持,并在原始JDBC基础上,构建了一个抽象层,提供了许多使用JDBC的模板和驱动模块,为Spring应用操作关系数据库提供了更大的便利。Spring封装好的模板,封装了数据库存取的基本过程,方便使用。2 Spring MVC的技术要点(Technical points ofSpring MVC)2.1 Spring MVC的组件(1)DispatherServlet:前置控制器,负责接收并处理所有的web请求,根据HandlerMapping找到具体的Controller,由Controller完成

3、具体的处理逻辑。(2)HandlerMapping:负责处理web请求和具体的Controller之间的映射关系匹配。(3)Controller:DispatherServlet的次级控制器,web请求的具体处理者。DispatherServlet获得HandlerMapping的返回结果后,调用Controller的方法处理前端发出的请求,处理结果通过ModelAndView对象返回。(4)ViewResolver:用来处理视图名与具体的View实例之间的映射对应关系。根据ModelAndView中的视图名查找相应的View实现类,然后将查找的结果返回给DispatcherServlet,D

4、ispatcherServlet最终会将ModelAndView中的模型数据交给返回的View处理最终的视图渲染工作。(5)View:为支持多种视图技术而存在,统一抽象视图的生成策略,根据模型数据输出具体的视图。2.2 Spring MVC的体系架构Spring MVC是基于Model 2实现的,Model 2是MVC模型在Java Web应用中的一个变体。Spring MVC的底层机制是MVC,是利用处理器分离模型、视图和控制达到松散耦合的效果。Spring MVC的框架模型如图1所示。从接收请求开始,到返回响应为止,Spring MVC框架中的各个组件各司其职,通力合作,有序配合地完成各自

5、的工作。在整个Spring MVC框架中,DispatcherServlet处于核心领导地位。它负责组织和协调不同的组件完成从请求到响应的任务。其处理请求的整体过程如下:(1)整个过程从客户端发出一个HTTP请求开始,Web应用服务器接收请求,如果与DispatcherServlet的请求路径相匹配,Web容器就将该请求转发给DispatcherServlet处理。(2)DispatcherServlet接收到这个请求后,将根据请求的信息及HandlerMapping的配置找到处理请求的处理器,即Handler。注意:Spring MVC中并没有定义Handler接口。(3)当Dispatch

6、erServlet根据HandlerMapping得到对应当前请求的Handler后,通过HandlerAdapter对Handler进行封装。再通过统一的适配器接口调用Handler(HandlerAdapter是Spring MVC的框架级接口)。(4)处理器完成业务处理后,返回一个ModelAndView给DispatcherServlet,ModelAndView包含视图逻辑的名称和模型数据的信息。(5)ModelAndView中包含的是逻辑视图名,不是真正意义的视图对象。DispatcherServlet通过ViewResolver完成从逻辑视图名到真实视图对象的解析。(6)当得到真

7、正的视图对象后(View),DispatcherServlet就使用这个View对象对ModelAndView中的模型数据进行视图渲染。(7)最后客户端得到的响应信息可能是一个页面(HTML、JSP),也可能是XML、JSON串或其他不同的媒体形式。2.3 Spring MVC配置(1)配置DispatcherServletDispatcherServlet在web.xml中进行配置,它让Spring MVC能够生龙活虎。基本代码如下所示:webservletorg.springframework.web.servlet.DispatcherServletcontextConfigLocati

8、onclasspath:web-servlet.xml1webservlet*.do3 JDBCTemplate的应用(The application ofJDBCTemplate)由于JDBC API过于底层,直接进行JDBC编写数据库程序,需要完成数据库代码(SQL)、还需要编写获取JDBC连接、异常处理、释放连接资源等代码,实在是过于繁琐。Spring JDBC通过模板和回调机制简化了JDBC编写数据库程序的复杂度。借助JDBCTemplate,程序员只需要编写处理业务的核心SQL语句即可。3.1 JDBCTemplate配置在Spring的配置文件ApplicationContext.

9、xml中进行数据源的配置。以下代码以mariadb数据库为例,代码如下:destroy-method=closep:driverClassName=org.mariadb.jdbc.Driverp:url=dbc:mysql:/localhost:3306/asms?useUnicode=true&characterEncoding=UTF-8p:username=asmsp:password=asms/3.2 JDBCTemplate中的常用方法(1)update()方法用于执行数据库表的新增、修改、删除的SQL语句。(2)batchUpdate()方法用于执行批处理相关的SQL语句

10、。(3)query()方法及queryForXXX()方法:用于执行查询相关的SQL语句。其中queryForXXX()根据返回对象类型进行方法的选择(queryForObject,queryForList等)。(4)call()方法用于执行存储过程、函数相关的SQL语句。3.3 JDBCTemplate实例在代码中,以向表nps_classes中插入数据为例。首先定义SQL语句,然后使用JDBCTemplate执行该SQL。privatestaticfinal String SQL_ADD_CLASS=insert into nps_classes(classid,classname,cla

11、ssdesc,batid,apid) values(?,?,?,?,?);publicvoidaddClass(Map map) Objectparams=MapUtil.getObjectArrayFromMap(map, classid,classname,classdesc,batid,apid);jt.update(SQL_ADD_CLASS,params);4 应用实例(Application instance)运用实际案例介绍Spring MVC在项目中的实现过程。基本功能说明:毕业生首次登录系统要完成自主注册功能,该功能分为两步完成:第一步,通过姓名和身份证号在毕业生信息中进行校

12、验,校验成功后进入第二步,校验失败重新填写姓名和身份证号进行校验。第二步:在第一步校验成功后,需要填写姓名拼音、电子邮箱、验证码、密码、确认密码提交至系统保存,保存成功即毕业生注册成功。(1)在注册第二步,填写相应信息后,点击下一步;按钮,向服务端发送post请求,如图2所示。(2)分发器得到客户端请求后,通过控制器映射匹配到负责业务逻辑处理的控制器,并将请求转发给该控制器。该控制器所在的Java类为StuRegisterController.java,代码如下:RequestMapping(value=/stu/registerasmsstep2.do)public Mapregistera

13、smsstep2(String studentno,String stupwd,Stringstudentnameen)throwsIOException Mapjsonrslt=new HashMap();boolean flag=false;flag=this.registerService.updateregisterasmsstep2(studentno,stupwd,studentnameen);jsonrslt.put(flag,flag);returnjsonrslt;(3)控制器调用RegisterServiceImpl处理注册第二步的业务逻辑,其处理方法如下:Override

14、publicboolean updateregisterasmsstep2(String studentno,Stringstupwd,Stringstudentnameen) boolean flag=false;MaprmParam=new HashMap();rmParam.put(studentno,studentno);rmParam.put(stupwd,stupwd);rmParam.put(studentnameen,studentnameen);int i=jdbctemplate.update(sql.updateregisterasmsstep2(),rmParam);i

15、f(i=1)flag=true;return flag;(4)由于业务要求第一步注册校验时已将毕业生信息插入到数据表中,所以第二步注册仅仅是更新部分数据信息,RegisterServiceImpl中的JDBCTemplate更新数据表的信息,调用SQL如下:public String updateregisterasmsstep2() returnupdate ASMS_STUREGINFO set stupwd=:stupwd,studentnameen=:studentnameen where studentno=:studentno;(5)响应返回至客户端获取flag数据,则显示注册成功

16、,请使用学号和密码进行系统登录;信息,如图3所示。5 结论(Conclusion)本文分析了Spring MVC的技术要点和JDBCTemplate的应用。Spring MVC技术要点包括组件、框架模型和配置,JDBCTemplate的应用包括配置和常用方法。最后通过实际项目,介绍了web请求在Spring MVC中的应用,以及JDBCTemplate如何操作数据表。综上得出:Spring MVC大大简化了程序开发的繁琐度,JDBCTemplate降低了编写数据库程序的复杂度。Spring MVC+JDBCTemplate的组合值得在Web应用软件开发中广泛使用。参考文献(References

17、)【1】 张文宇,许明健,薛昱.论spring的零配置与XML配置.计算机系统应用,2015,24(2):270-275.【2】 周燕玲.Spring MVC框架开发WEB应用程序的探索与研究.科技广场,2016(6):25-28.【3】 叶雯.基于Spring MVC框架的Web登录模块的设计与实现.电脑知识与技术,2013(35):7983-7984.【4】 Zhang Chao,Zhao Ping,He Jing.Design and Implementation of the Control System Software Based on MVC Model.High Power L

18、aser and Particle Beams,2013(S1):91-95.【5】 TianPengfei,Tian Di,Yang Guang.Design and Implementation of LIBS Software Based on MVC Architecture.Journal of Jilin University(Engineering and Technology Edition),2016(1):242-245.【6】 Lin HC,et al.Development of a Real-Time Clinical Decision Support System upon the Web MVC-Based Architecture for Prostate Cancer Treatment.BMC Med Inform DecisMak,2011(926):3306-3309.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1