SpringMVC

目录

一、SpringMVC

1.概述:

2.MVC设计模式

3.工作原理

二、SpringMVC实践

1.创建启动类

2.创建Model对象类——也可以称为pojo

3.创建控制类

三、处理请求参数的方式

1.get方式

2.post方式

3.restFul方式

四、SpringMVC常用注解


一、SpringMVC

1.概述:

SpringMVC框架的核心作用:接受浏览器发来的请求 + 给浏览器做出响应

2.MVC设计模式

好处:实现分层的思想,达到松耦合的目的。提高代码的复用性,扩展性,容错性
M:Model模型,用来封装数据
V:View视图,用来展示数据
C:Controller控制器,用来接受请求和处理响应                                                                                 

3.工作原理

1、用户发送请求至前端控制器DispatcherServlet。

2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。

3、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4、DispatcherServlet调用HandlerAdapter处理器适配器。

5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。

6、Controller执行完成返回ModelAndView。

7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。

8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器。

9、ViewReslover解析后返回具体View。

10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。

11、DispatcherServlet响应用户。

二、SpringMVC实践

1.创建启动类

@SpringBootApplication        ——这是一个启动类
public class RunApp {
    public static void main(String[] args) {
        SpringApplication.run(RunApp.class);
    }
}

2.创建Model对象类——也可以称为pojo

@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class ItemVO {  
    private Item item;
    private ItemDesc itemDesc;
    private ItemParam itemParam;
}

3.创建控制类

@RestController           ——接受请求(相当于@Controller  + @ResponseBody)
@RequestMapping("/car")       ——规定了浏览器访问这个类的方式(url路径)
public class CarController {
    @RequestMapping("/get")
    public Car get() {
        Car car = new Car();
        car.setId(718);
        car.setName("保时捷")
        return car;
    }
}

三、处理请求参数的方式

1.get方式

向特定的资源发出请求,并返回实体.提交的参数在url中体现.而且数据有最大长度,超出就不行

例如:
http://localhost:8080/car/insert?id=1&name=张三&age=18

接收参数方式:(单个变量接收单个;多个变量接收多个;一个对象接收多个参数)

2.post方式

向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。

接收参数方式:

   @RequestMapping("add")
    public void add(Student s){        以对象直接来接收参数
        System.out.println(s);
    }

3.restFul方式

为了简化GET请求的写法,可以使用RESTFul方式,用法:

1、需要使用注解@PathVariable来获取请求路径中的参数值,@PathVariable用来绑定值

2、通过{???}获取路径中传递来的值

3、以前GET的访问方式即将被简化成:

http://localhost:8080/car/insert/1/张三/18
接收参数方式:

    restful方式提交:http://localhost:8080/car/add2/10/BMW/9.9
    @RequestMapping("car/add2/{id}/{y}/{x}")       {id}是占位符,表示这个参数的位置
    public void add2(@PathVariable Integer id,    @PathVariabl用来获取{}中间的值
                     @PathVariable String y,
                     @PathVariable Double x){
        System.out.println(id+y+x);
    }

四、SpringMVC常用注解

@Controller                      标识是一个Controller,Spring包扫描创建实例

@RequestMapping          请求后的映射路径

@PathVariable                 标识接收单个参数

@ResponseBody             返回对象利用jackson工具类转换为json字符串

@RequestParam              参数名和请求参数名称不同时使用,可以设置默认值 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值