Spring MVC框架

1.HTTP基础

Spring MVC框架用于做web开发,web开发的基础是HTTP协议。

(1) HTTP流:当客户端与服务端进行信息交互时,过程表现为以下几步

  ① 打开一个TCP连接,TCP连接被用来发送一条或多条请求,以及接受响应消息。客户端可能打开一条新的连接或重用一个已经存在的连接,或者也可能打开几个新的TCP连接连向服务端。

  ② 发送一个HTTP报文:HTTP报文是语义可读的。(浏览器向服务器发送一段消息)

③ 读取服务端返回的报文信息(服务器读到消息处理后返回信息)

④ 关闭连接或者为后续请求重用连接。

2.Spring MVC

MVC是一种设计模式,用于将复杂代码分为三个层次,与服务端三层架构不同。Controller负责调度,view视图层用于渲染展示,model模型层是它们联系的纽带。

 

 

2.2.返回网页的响应方式举例

    //响应html给前端
    @GetMapping("/teacher")
    public ModelAndView getTeacher(){
        ModelAndView modelAndView = new ModelAndView();
        //往对象里传入值
        modelAndView.addObject("name", "张三");
        modelAndView.addObject("age", "30");
        //设置模板的名字
        modelAndView.setViewName("/demo/view");//templates下的下级目录,templates这级目录不用写
        return modelAndView;
    }
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--利用模板引擎的语法动态传入老师的性别和年龄
    th thymeleaf的缩写
    th:text="" 的意思是p内部的文本等于引号内的变量
    th:text="${name}" 这里的name就是从model中取得的name的值
-->
    <p th:text="${name}"></p>
    <p th:text="${age}"></p>

</body>
</html>

另一种方式返回动态html

    //另一种方法返回html给前端,返回类型String 指的是返回的是view视图层的路径
    //需要考虑参数中加入Model以储存model数据
    @GetMapping("/school")
    public String getSchool(Model model){
        model.addAttribute("name", "大学");
        model.addAttribute("age", "100");
        return "/demo/view";//返回的是view 模板的路径
    }

    /**
     * 上面的方法将model和view的数据都撞到一个对象里,
     * 下面的方法将model数据装入参数中,直接返回view视图
     */

除此之外,一般在异步请求之中,响应Json数据。@ResponseBody用于将对象封装为json返回给前端。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值