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的主要内容,如果未能解决你的问题,请参考以下文章