admin 管理员组

文章数量: 887629


2024年1月12日发(作者:qqlinux是什么)

第35卷 第2期

2019年2月

福 建 电 脑

Journal of Fujian Computer

Vol. 35 No.2

Feb. 2019

Web前后端分离模式下Spring MVC在

高职Java Web教学中的研究

魏钢

(锦州师范高等专科学校计算机系 辽宁 锦州 121000)

摘 要 随着移动互联网技术的广泛应用,Web前后端分离模式开发逐渐成为首选方式。高职计算机软件专业Java Web课程需要进一步改进,通过引入Spring MVC技术,在遵守REST规范的基础上,采用JSON数据格式,实现前后端分离模式下的数据交换。

关键词 Spring MVC;REST;JSON

中图法分类号 TP311

Research on the Role of Spring MVC in Java Web Teaching in Higher

Vocational Colleges Based on Web front-end and back-end separation patter

WEI Gang

(Department of Computer, Jinzhou Teachers College, Jinzhou, China, 121000)

1 前言

当今的社会已经全面进入信息时代,移动通信技术和互联网技术的不断融合,催生出全新的移动互联网。随着移动互联网技术的不断发展和广泛应用,手机取代了PC成为人们上网的首选工具,真正实现获取信息随时化、随地化。为了避免前端差异导致后端的重复开发,Web前后端分离模式的开发逐渐成为首选方式。通过前后端分离模式的选择,在降低了后端重复开发的同时,又可以避免前后端功能的互相依赖,从而可以实现前后端工程师并行进行开发,降低了程序的开发周期,提高了程序的开发效率。企业的人才需求是我们制定人才培养方案的主要依据,为了培养高质量的人才,高职计算机软件专业必须进调整,核心Java Web课程需进一步改进,在掌握Servlet/JSP基础上引入SSM(Spring+ Spring MVC+MyBatis)框架,为后续研究Spring Boot和Spring Cloud技术奠定基础,对于Spring MVC是实现前端和后端接口实现的主要框架,对于前后端分离模式开发研究具有重要意义。

———————————————

2 Spring MVC框架的优势

Java Web基础课的教学重点是Servlet、JSP和JavaBean三大技术[1],Servlet作为控制器,JSP作为视图,JavaBean作为模型,三种组件结合实现MVC开发模式[2]。但随着前后端分离模式开发的不断应用,JSP作为视图部分功能逐步被Html5所取代,其根本原因在于JSP页面中Java代码与Html大量耦合,增加了代码维护的难度。此外JSP页面在被访问时需要被服务器翻译成Servlet,也增加了服务器的开销和响应时间。前后端分离模式下的web开发前端和后端主要使用JSON数据进行数据交换,采用原生的Servlet作为控制部分,开发者必须自己实现JSON数据的接受和响应,并且只能使用Http协议默认的get和post方式提交数据,这些弊端也增加了开发复杂度[3]。Spring MVC框架完全支持REST开发规范,通过@RestController注解的使用即可实现控制器的声明和响应数据格式自动转化为JSON格式,一个注解实现了@Controller和@ResponseBody两个注解的功能。通过魏钢(通信作者),男,1978年生,主要研究领域为Java Web开发.E-mail: weigangweiyiwen@.

108 福 建 电 脑 2019年

@GetMapping、@PostMapping、@PutMapping和@DeleteMapping四个注解的使用,能够完成前端对应的get、post、put和delete四种请求方式,极大地降低了前后端分离开发的复杂度[4]。

3 Spring MVC框架的使用和常见问题处理方法

对于前端访问后端接口localhost:8080/user/userlist时,请求被Spring

MVC核心拦截器DispatcherServlet拦截,通过内部初始化流程映射到getUserList方法去执行,通过调用用户服务接口获取模型中的数据放到集合中返回给前端,由于使用了@RestController注解,集合中的数据会被Spring MVC框架进行转换成JSON格式返回给前端进行数据渲染。部分参考代码如下:

@RestController

public class UserController{

@Autowired

private UserService userService=null;

@GetMapping("/user/userlist")

public List getUserList( ){

List

userList=ers();

return userList;

}

}

常见问题一:响应数据对象类型或集合类型不能自动转换成JSON数据。

解决办法:项目中引入jackson-core、jackson-databind和jackson-annotations三个jar包,在进行如下配置即可[5]。

class="gJackson2HttpMessageConverter">

text/html;charset=UTF-8

application/json;charset=UTF-8

常见问题二:浏览器禁止跨域访问

由于前后端实现分离模式开发,导致前端页面资源和后端接口资源不在同一域名下,如果前端使用AJAX异步请求技术访问后端接口就会被浏览器禁止跨域访问。

解决办法:对于单个控制器或方法的访问可使用@CrossOrigin注解,设置属性origins = "*"即可实现任意域名跨域访问后端接口。但是对于多个控制器或方法进行跨域访问时,这种方式就显示出代码的冗余了,此时最好使用全局配置方式,即在进行跨域配置即可,配置代码如下:

4 结语

Spring MVC框架的引入是对高职Java Web基础教学的一个提高,适应Java Web技术发展方向,易于学生日后研究Spring Boot和Spring Cloud框架,对于高职院校计算机软件专业人才的培养和提升社会影响力具有深远意义。

致谢 通过自身的不懈努力,在前人研究的成果基础上,我经过半年的时间,顺利的完成本次科研任务,撰写了这篇论文,为此献出了大量的时间和精力。论文中研究内容和所提出的观点得到了北京联创教育、兄弟连、一灯学堂、中软卓越科技等多家行业专家的指导和帮助,在此表示真诚的谢意,同时也感谢我的家人对我的支持和鼓励!

参 考 文 献

[1] 张孝祥,徐明华. JSP基础与案例开发详解. 北京: 清华大学出版社,

2009.

[2] 刘乃琪,王冲. JSP应用开发与实践. 北京: 人民邮电出版社, 2012.

[3] 丁振凡. Spring REST风格Web服务的Json消息封装及解析研究. 智能计算机与应用, 2012, 2(2): 9-10.

[4] 杨开振. 深入浅出Spring 北京: 清华大学出版社, 2018.

[5] 杨开振. Java EE互联网轻量级框架整合开发. 北京: 电子工业出版社, 2017.


本文标签: 开发 实现 研究 使用 技术