cgb2106-day13

Posted cgblpx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cgb2106-day13相关的知识,希望对你有一定的参考价值。

一,SpringMVC

–1,概述

框架: 是一个结构,框架提供了很多的类,由框架控制每个类调用的过程流程
SSM框架里,第一个S就是指SpringMVC,是一个框架.
是Spring框架的一个后续产品,遵循了MVC的设计模式,保证了程序间的松耦合.
SpringMVC主要作用:1,接受请求(解析请求参数) 2,做出响应
MVC的设计模式:
M是Model模型,用来封装数据
V是View视图,用来展示数据
C是Controller控制器,用来控制浏览器如何请求,做出数据响应
好处: 提高代码的复用性 , 松耦合

–2,原理

1,前端控制器DispatcherServlet:
当浏览器发送请求成功后,充当这调度者的角色,负责调度每个组件.
2,处理器映射器HandlerMapping:
根据请求的URL路径,找到能处理请求的类名和方法名
url: http://localhost:8080/hi , 找到Hello类里的hi()
3,处理器适配器HandlerAdaptor:
正式开始处理业务,并把返回结果的结果交给DispatcherServlet
4,视图解析器ViewResolver:
找到正确的,能展示数据的视图,准备展示数据
5,视图渲染View:
展示数据

–3,创建Module

选中Project-右键-New-Module-选择Maven-next-输入Module的名字-next-finish

–4,入门案例

1, 导入jar包(被Spring Boot整合好了)
2, 准备一个启动类RunApp,用来启动服务器

package cn.tedu.mvc;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

//标记着这是springboot的启动类
@SpringBootApplication
public class RunApp {
    public static void main(String[] args) {
        SpringApplication.run(RunApp.class);//运行当前类
    }
}

3, 准备一个类,补充方法
访问链接: http://localhost:8080/car/get
得到数据:123

package cn.tedu.mvc;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

//完成springmvc的角色,接受请求和给出响应
//是MVC设计模式里的C控制器,接受请求和给出响应
@RestController
//标记着这个类是Controller是一个控制器+接受请求
@RequestMapping("car")//规定了url怎么访问这个类
public class HelloController {
    //测试: http://localhost:8080/car/get
    @RequestMapping("get")//规定了url怎么访问这个方法
    public String show(){
        return "123";
    }
    

}

4, 测试
启动服务器,打开浏览器,访问正确的URL地址

二,SpringMVC的响应

–1,概述

SpringMVC可以接受请求,和做出响应数据,类型可以非常丰富

–2,测试

package cn.tedu.mvc;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

//完成springmvc的角色,接受请求和给出响应
//是MVC设计模式里的C控制器,接受请求和给出响应
@RestController
//标记着这个类是Controller是一个控制器+接受请求+响应JSON串
@RequestMapping("car")//规定了url怎么访问这个类
public class HelloController {
    //测试: http://localhost:8080/car/get
    @RequestMapping("get")//规定了url怎么访问这个方法
    public String show(){
        return "123";
    }
    //测试: http://localhost:8080/car/abc
    @RequestMapping("abc")
    public int show2(){
        return 100;
    }
//   SpringMVC框架除了能返回字符串,整数以外,还能返回对象信息
//测试: http://localhost:8080/car/get2
    @RequestMapping("get2")
    public Car get(){
        Car c = new Car();
        //给客户端准备数据
        c.setId(718);
        c.setName("保时捷");
        c.setType("Cayman T");
        c.setColor("红色");
        c.setPrice(641000);
        return c; //把对象信息 变成JSON字符串在浏览器展示
    }

}

标题

标题

标题

以上是关于cgb2106-day13的主要内容,如果未能解决你的问题,请参考以下文章

cgb2106-day09

cgb2106-day17

cgb2106-day18

cgb2106-day14

cgb2106-day05

cgb2106-day12