SpringMVC

1.什么是SpringMVC

  • 构建再Servlet(API)之上
  • 是一个Web框架(具备Http能力)
  • 来自于Spring webMVC模块

 1.1 MVC定义

是软件工程中的一种软件架构模式

Model:模型 -》模型对象负责再数据库中存取数据

View:视图-》应用程序中处理数据显示的部分

Controller:控制器-》通常负责从视图读取数据,控制用户输入,并向模型发送数据

1.2 MVC和Spring MVC的关系

MVC是一种思想,而Spring MVC是对MVC的具体实现

Spring MVC能够将用户(浏览器)和Java程序连接起来、获取到用户访问时候的一些参数、执行业务逻辑之后,把程序执行结果返回给用户

1.3 Spring MVC的创建和连接

在Spring MVC中使用@RequestMapping来实现URL路由映射,也就是浏览器连接程序的作用

使用Spring Boot添加Sring Web模块=Spring MVC

1.浏览器获取前端接口和后端程序连接功能实现

@RequestMapping(“/xxx")既能修饰类又能修饰方法

特性:既支持GET方式的请求又支持POST方式的请求。。

@RequestMapping(value="/hi",method = RequestMethod.POST) //当前方法只支持POST请求等价于@PostMapping("/hi"),表示当前接口只支持POST类型的请求

name参数【key】要对应=》参数名称要相同

传参数注意事项:在Spring boot(Spring MVC)中传参一定要包装类型,而非基础类型,主要是因为,当需要一个基础类型,但又忘记传递的时候,使用基础数据类型程序会报错(500),而包装类型不会报错,只是值为null。

 

 而使用包装类类型,值为null

 

1.4 SpringMVC(Spring Boot ->Spring Web)接收传递的对象2种类型:

1.普通对象

//    @GetMapping("/show-user")
//    public String showUser(User user){
//        return user.toString();
//    }

2.JSON对象(不等于普通对象)=》使用@RequestBody表示传JSON

//接受JSON对象(和第三方系统通讯时常见的场景
 //添加@RequestBody注解之后,才能从前端获取到JSON格式的对象
 @PostMapping("/show-json-user") 
public String showJSONUser(@RequestBody User user)
{ return user.toString(); }

1.5 改变参数的传递方式

    //改变参数的传递方式  -》直接在url地址种通过变量传参数
    //http://127.0.0.1:8080/test/login/123/456
//    @GetMapping("/login/{username}/{password}")
//    public String login(@PathVariable("username") String username,
//                        @PathVariable("password") String password){
//        return username+ ":" +password;
//    }
//    @GetMapping("/login/{username}/and/{password}")
//    public String login1(@PathVariable("password") String pwd,
//                         @PathVariable("username") String usn){
//        return usn+ ":" +pwd;
//    }

1.6 上传文件

//    @RequestMapping("/upload")
//    public String upfile(@RequestPart("myfile")MultipartFile file) throws IOException {
//        String path = "D:\\Generate\\img.png";
//        //保存文件
//        file.transferTo(new File(path));
//        return path;
//
//    }
@RequestMapping("/myupfile")
public String myUpFile(@RequestPart("myfile")MultipartFile file) throws IOException {
    //根目录
    String path = "D:\\Generate\\";
    //根目录+【唯一的文件名】
    path += UUID.randomUUID().toString().replace("-","");
    //根目录+唯一的明文件+【文件的后缀】 ex:.png
    path += file.getOriginalFilename().toString().substring(file.getOriginalFilename().lastIndexOf("."));
    file.transferTo(new File(path));
    return path;

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值