营销型网站建设的资讯,佛山专业的网站建设公司,徽省建设干部学校网站,温州专业微网站制作报价一、Spring MVC介绍
a. Spring MVC是一个Web框架 b. Spring MVC是基于Servlet API构成的 MVC 是 Model View Controller 的缩写。 MVC 是⼀种思想#xff0c;⽽ Spring MVC 是对 MVC 思想的具体实现。 学习Spring MVC目标#xff1a; a.连接功能#xff1a;将用户#xff…一、Spring MVC介绍
a. Spring MVC是一个Web框架 b. Spring MVC是基于Servlet API构成的 MVC 是 Model View Controller 的缩写。 MVC 是⼀种思想⽽ Spring MVC 是对 MVC 思想的具体实现。 学习Spring MVC目标 a.连接功能将用户浏览器和JAVA程序连接起来也就是访问一个地址能调用到Spring程序。 b.获取参数的功能用户访问的时候会带一些参数在程序中想办法获得这些参数。 c.输出数据的功能执行了业务逻辑之后要把程序执行结果返回给用户。
二、连接功能实现
2.1 RequestMapping 注解介绍
用来注册接口的路由映射 即可修饰类也可以修饰⽅法
package com.example.demo.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;Controller
RequestMapping(/user)
public class UserController {RequestMapping(/sayhi)//路由映射用户和程序的连接ResponseBody//当前方法返回的是一个非静态页面的数据public String sayHi(){return Hello,Spring MVC;}
}
RequestMapping默认支持GET请求但也支持Post请求
2.2 只支持GET请求
三种写法
2.3只支持Post请求 二、获取参数实现
2.1 获取单个参数 2.2 获取多个参数或者表单参数 2.3 获取对象
定义UserInfo对象
2.4获取JSON对象 利用postman结果显示如下
2.5 后端参数重命名扩展知识
当前端传递的参数和后端的参数不一致就可以用这种方式。 使用注解RequestParam
2.6获取URL中的参数
利用注解PathVariable
2.7 上传文件图片
关键步骤 a.接受前端传递的文件 RequestPart(“file”)MultipartFile file b.将前端传递过来的文件保存到本地 file.transferTo(new File(filePath filename));
第一步 具体实现
Controller
Slf4j
ResponseBody//当前方法返回的是一个非静态页面的数据
RequestMapping(/user)
public class UserController {Value(${myfile.path})private String filePath;//从配置文件中获取图片的上传路径RequestMapping(/upfile)public boolean upFile(String username, RequestPart(file)MultipartFile file){boolean result false;try {//获取原文件的名称String fileType file.getOriginalFilename();//获取文件名称后缀fileType fileType.substring(fileType.lastIndexOf(.));//文件名称String filename UUID.randomUUID().toString() fileType;file.transferTo(new File(filePath filename));result true;log.info(username上传图片成功);} catch (IOException e) {System.out.println(图片上传失败);}return result;}用postman模拟
2.8获取cookie
2.8.1传统方式获取 2.8.2简洁方式获取
使用注解**CookieValue**
2.9获取请求头header中的信息
使用注解RequestHeader
2.10 获取Session
使用注解SessionAttribute //定义全局的session keyprivate final String SESSION_KEY SESSION_KEY;/*** 设置 session** param request* return*/RequestMapping(/setsess)public boolean setsess(HttpServletRequest request){boolean result false;//1.得到session对象try {HttpSession session request.getSession(true);session.setAttribute(SESSION_KEY, java);result true;}catch (Exception e){log.info(出现了异常 e.getMessage());}return result;}/*** 获取session* param data* return*/RequestMapping(/getsess)public String getSess(SessionAttribute(name SESSION_KEY,required false) String data){return data;}三、返回数据
默认情况下返回的是一个页面而不是页面中的数据。 现在因为前后端分离所以可以只返回数据就可以了。 例如 综上可以看到当不加注解时返回的是一个页面而不是页面中的数据。
3.1使用注解ResponseBody
当ResponseBody加在类上说明这个类中的所有方法返回的都是一个非静态页面的数据。
3.2注解RestController
RestController Controller ResponseBody 源码 使用RestController一个注解可以代替之前的两个注解
四、请求转发和请求重定向
4.1具体实现
1.forward:请求转发 2.redirect:请求重定向 请求转发的结果 请求重定向的结果
4.2 forward和redirect的具体区别
1.请求重定向redirect将请求重新定位到资源请求转发forward服务器端转发。 2.请求重定向地址发⽣变化请求转发地址不发⽣变化。