前后端交互的几种方式 |
您所在的位置:网站首页 › 交互有哪几种方式组成 › 前后端交互的几种方式 |
Vue+Springboot 前后端交互的几种方式
前置知识点
用于接收前端参数传递的几个注解
@RequestBody注解 @RequestParam注解 @PathVariable注解 @RequestParam和@PathVariable的区别 @RequestBody的使用 这两篇博客写的非常的详细,看完就会了 什么是Json格式,前后端交互主要有Json格式、form-data格式等,Json格式为主。 { "ID": 1001, "name": "张三", "age": 24 }1:数据在花括号中 2:数据以"键:值"对的形式出现(其中键多以字符串形式出现,值可取字符串,数值,甚至其他json对象) 3:每两个"键:值"对以逗号分隔(最后一个"键:值"对省略逗号) 像这种遵守上面3点,便可以形成一个json对象。 JavaWeb中的几个类说实话,没有学过JavaWeb直接上手前后端,看其他大佬的代码总有出现 HttpServletRequest、HttpServletResponse、HttpSession、Model、ModelAndView这几个类,查来查去看的晕头转向。至少对于我来说 这边作为前置知识点简单讲下个人理解,有大佬有什么资料可以推荐给我。 HttpServletRequest和HttpServletResponse 由来Web服务器收到一个http请求,会针对每个请求创建一个HttpServletRequest和 HttpServletResponse对象,向客户端发送数据找HttpServletResponse,从客户端取数据找HttpServletRequest. 具体可以看这篇博客 所有的信息包括请求的地址,请求的参数,提交的数据,上传的文件客户端的ip甚至客户端操作系统都包含在HttpServletRequest内 HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法 所以后端Controller层@RequestMapping 映射函数中的参数经常都是HttpServletRequest,可以从前端获取数据。 HttpServletRequest中有一个getsession()方法,这边就引入了对HttpSession类的介绍 HttpSession类的介绍服务器会为每一个用户 创建一个独立的HttpSession,我们只要知道我们可以从中获取我们需要的数据。下面是主要常用方法 关于Session Object getAttribute(String name) 获取session对象中名为参数name所指明的属性的值 void setAttribute(String name,Object value) 向session中存储数据 void removeAttribute(String name ) 从session中删除名为参数name所指明的属性 void invalidate() 使session失效 Model和ModelAndView 这两个类前面介绍的几个类用于前端向后端传数据,Model 和ModelAndView 主要用于后端向前端传。方法可以自行百度。下面开始正文。 前后端交互的几种方法 第一种:使用HttpServletRequest 后端接受前端传来的session信息测试:下面这种方法获得的是登录的用户,登录的User发送了http请求。 数据库原始数据: 使用postman传Json参数,我们用001用户登录。 运行结果: 登录成功,我们再看delete方式测试输出的UserId @RequestMapping(value = "/User/getAllUser", method = RequestMethod.DELETE) @ResponseBody private void deleteUser(, HttpServletRequest request)throws Exception{ String UserId =(String) request.getSession().getAttribute("UserId"); System.out.println(UserId); // userService.delete(UserId); } 方法二 用使用@RequestParam注解原始数据库内容: 使用postman发送PUT请求 运行结果: 方法三Json格式给后端传数据使用JSONObject类 使用方法很简单,在参数中使用@RequestBody注解传递一个JSONObject参数,关于JSONObject类,需要导入阿里的依赖,具体可以看看其他的博客,感觉越底层的东西越值钱。 之后我们需要什么参数,就可以通过params.get方法获取了。 原始数据库: 使用postman发送DELETE请求: 运行结果: 还有几种封装过的方法,比较复杂,有机会学习了再更新。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |