怎样建一个免费网站,广告模板在哪个网站好,wordpress 统计流量,泊头哪里有做网站的文章目录 前言一、SpringMVC是什么#xff1f;1.1 MVC的定义#xff1a;1.2 MVC 和 Spring MVC 的关系 二、Spring MVC 创建和连接2.1创建springmvc2.2接下来#xff0c;创建⼀个 UserController 类#xff0c;实现⽤户到 Spring 程序的互联互通#xff0c;具体实现代码如… 文章目录 前言一、SpringMVC是什么1.1 MVC的定义1.2 MVC 和 Spring MVC 的关系 二、Spring MVC 创建和连接2.1创建springmvc2.2接下来创建⼀个 UserController 类实现⽤户到 Spring 程序的互联互通具体实现代码如下2.1.2 RequestMapping 注解介绍2.1.3 RequestMapping 是 post 还是 get 请求2.2 获取参数2.2.1传递参数2.2.2传递对象2.2.3 后端参数重命名后端参数映射2.2.4RequestBody 接收JSON对象 总结 前言
提示这里可以添加本文要记录的大概内容 提示以下是本篇文章正文内容下面案例可供参考
一、SpringMVC是什么
Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架从⼀开始就包含在 Spring 框架中。它的正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc)但它通常被称为”SpringMVC“。 从上述定义我们可以得出两个关键信息
Spring MVC 是⼀个 Web 框架。Spring MVC 是基于 Servlet API 构建。
1.1 MVC的定义
MVC 是 Model View Controller 的缩写它是软件⼯程中的⼀种软件架构模式它把软件系统分 为模型、视图和控制器三个基本部分 Model模型是应⽤程序中⽤于处理应⽤程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。 View视图是应⽤程序中处理数据显示的部分。通常视图是依据模型数据创建的。 Controller控制器是应⽤程序中处理⽤户交互的部分。通常控制器负责从视图读取数据 控制⽤户输⼊并向模型发送数据。
1.2 MVC 和 Spring MVC 的关系
MVC 是⼀种思想⽽ Spring MVC 是对 MVC 思想的具体实现。 总结来说Spring MVC 是⼀个实现了 MVC 模式并继承了 Servlet API 的 Web 框架。既然是 Web框架那么当⽤户在浏览器中输⼊了 url 之后我们的 Spriing MVC 项⽬就可以感知到⽤户的请求。
二、Spring MVC 创建和连接
2.1创建springmvc 创建这个就行了
2.2接下来创建⼀个 UserController 类实现⽤户到 Spring 程序的互联互通具体实现代码如下
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
Controller // 让 spring 框架启动时加载
ResponseBody // 返回⾮⻚⾯数据
RequestMapping(/user) // 路由器规则注册
public class UserController {
// 路由器规则注册
RequestMapping(/hi)
public String sayHi(){
return h1Hi,Spring MVC./h1;
}
}这样实现之后当访问地址http://localhost:8080/user/hi 时就能打印“hellospring mvc”的信息
2.1.2 RequestMapping 注解介绍
RequestMapping 是 Spring Web 应⽤程序中最常被⽤到的注解之⼀它是⽤来注册接⼝的路 由映射的
路由映射所谓的路由映射指的是当⽤户访问⼀个 url 时将⽤户的请求对应到程序中某个类
的某个⽅法的过程就叫路由映射当在类上用到这个注解时
package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
RestController
RequestMapping(/h)
public class UserController2 {RequestMapping(/hi)public String sayHi(){return hello;}} 就把类上的ReuquestMapping都给写上RequestMapping 即可修饰类也可以修饰⽅法当修饰类和⽅法时访问的地址是类 ⽅ 法。 RequestMapping 也可以直接修饰⽅法那就直接写方法后面的RequestMapping
2.1.3 RequestMapping 是 post 还是 get 请求
默认情况下时GET的 指定 GET/POST ⽅法类型
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
Controller
ResponseBody
RestController
public class UserController2 {RequestMapping(value /hi,method RequestMethod.POST)public String sayHi(){return hello;}}2.2 获取参数
2.2.1传递参数
package com.example.demo;
import lombok.Data;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
RestController
public class UserController {RequestMapping(/m3)public String sayHi(String name, String pwd){System.out.println(name);System.out.println(pwd);return htmlbodyHello from /hi/body/html;}
}
2.2.2传递对象
并且 Spring MVC 可以⾃动实现参数对象的赋值⽐如 User对象
package com.example.demo;import lombok.Data;Data
public class User {private String Name;private int id;private String Password;
}
package com.example.demo;
import lombok.Data;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
RestController
public class UserController {RequestMapping(/m3)public String sayHi(User u){System.out.println(u.getName());System.out.println(u.getId());return htmlbodyHello from /hi/body/html;}
}http://localhost:8080/m3?namejavapwd18抓包看一下 当然最终执行的结果 当然因为我刚才刷新了一下所以打印了俩次
2.2.3 后端参数重命名后端参数映射
某些特殊的情况下前端传递的参数 key 和我们后端接收的 key 可以不⼀致⽐如前端传递了⼀个time 给后端⽽后端⼜是有 createtime 字段来接收的这样就会出现参数接收不到的情况如果出现 这种情况我们就可以使⽤ RequestParam 来重命名前后端的参数值
⾮必传参数设置 如果我们的实际业务前端的参数是⼀个⾮必传的参数我们可以通过设置 RequestParam 中的 requiredfalse 来避免不传递时报错具体实现如下
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
RestController
public class UserController {RequestMapping(/m4)public String method(RequestParam(time)String creattime){System.out.println(时间 creattime);return /index.html;}
}2.2.4RequestBody 接收JSON对象
RequestMapping(value /m5, method RequestMethod.POST)
public Object method_5(RequestBody Person person) {
System.out.println(Person person);
return redirect:/index.html;
}总结
先到这里把欢迎大佬在评论区提意见哦