1.2 仿牛客论坛项目学习笔记---SpringMvc入门

SpringMvc入门

HTTP

HTTP手册文档:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Overview#HTTP_%E6%B5%81

1、浏览器向服务器发送请求;

2、服务器相应请求发送HTML页面;

3、浏览器解析HTML,当需要访问页面中的css,js等时会再次向服务器发送请求,因此会有多次请求。

在这里插入图片描述

Spring MVC

1、Controlller处理请求

2、Model 数据封装

3、View渲染返回页面

在这里插入图片描述

前端控制器流程

​ 前端控制器即DispatcherServlet负责处理请求,并且把请求给到相应的Controller,之后Controller处理请求把数据封装到model发送到DispatcherServlet,之后DispatcherServlet在把model发送给视图解析模板进行数据替换,最终返回动态页面。

DispacherServlet检测到代码中的Model后自动创建

在这里插入图片描述

Thymeleaf

官方文档:

https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html

在这里插入图片描述

应用

Sping .properties配置文件的文档说明: 实质是更改相应properties配置文件中的属性

https://docs.spring.io/spring-boot/docs/2.1.5.RELEASE/reference/htmlsingle/#appendix

1、关闭Thymeleaf缓存

开发中一般关闭缓存,防止数据更修出错;项目上线一般开启缓存,减少服务器压力;

在这里插入图片描述

在templates文件夹下创建一个模板文件

  • 开头添加Thymeleaf的声明
  • 属性前添加开头th: 值用$表达式
  • 渲染时会自动把相应的值填入
  • 默认情况下 表达式从Model中获取数据

在这里插入图片描述

2、获取请求响应对象(底层方法)

  • 常用接口 HttpServlerRequest 和HttpServlerResponse ,声明请求和响应对象
  • 获取请求数据 request.getMethod()获取请求方式…
  • request.getHeaderNames获取请求头 遍历输出
  • request.getParameter获取请求中的参数 在请求地址栏加上 ?code=1111
    在这里插入图片描述

返回响应数据:

  • setContentType设置响应的格式和字符集
  • 通过PrintWriter流来打印输出

在这里插入图片描述

3、获取请求响应的常用方式

请求:(方式一 ?后跟参数)

  • 以GET请求为例,默认为GET GET请求是浏览器向服务器请求数据时的方式

  • @RequestMapping中指定路径,也可以指定请求的方式,当指定后只能传入相应的请求方式

  • 方法传入参数中可以添加注解@RequestParam(name=,required=,defaultValue) 表示请求中相应参数的名字,是否必须提供,默认值

    也可以不写注解,直接写int current 但要注意和参数名一致。

在这里插入图片描述

请求:(方式二 路径参数)

  • @PathVariable(“id") 在参数前添加注解

在这里插入图片描述

4、POST请求

常用于浏览器向服务器提交数据

不用GET请求的原因:1、GET请求会在明面上把数据显示 ,不安全 2、GET请求有数据长度限制;

1、静态页面 表格提交数据:

在这里插入图片描述

POST请求:

方法传入参数中可以添加注解@RequestParam(name=,required=,defaultValue) 表示请求中相应参数的名字,是否必须提供,默认值

也可以不写注解,直接写int current 但要注意和参数名一致

在这里插入图片描述

5、响应

1、方式一:

  • 默认是html页面所以不需要添加@ResponseBody
  • 返回类型为 ModelAndView
  • 创建一个ModelAndView实例,调用其中的方法添加属性
  • 设置模板的路径 不需要写templates文件夹

在这里插入图片描述

2、方式二:(简洁常用)

  • 默认是html页面所以不需要添加@ResponseBody
  • 返回类型为 String 是模板的路径 不需要写templates文件夹
  • 声明Model 对象 调用其中的方法添加数据

在这里插入图片描述

3、响应JSON数据 返回一个对象

  • 返回的JAVA对象通过json可以转化为js对象
  • 类型为自定义对象 或者这里暂时的Map集合

在这里插入图片描述

4、响应JSON数据 返回多个对象

在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Kafka是一个高性能的分布式消息队列系统,可以实现高吞吐量、低延迟的消息传递。它支持点对点和发布-订阅两种消息传递模式。在仿牛客项目中使用Kafka可以实现消息的异步处理和分布式架构。 使用Kafka的第一步是创建一个主题(topic),主题既是消息的类别,也是消息在Kafka中的存储位置。可以使用命令行工具kafka-topics.bat来创建主题。例如,可以使用以下命令来创建一个名为test的主题: bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test 上述命令中,--bootstrap-server参数指定了Kafka服务器的地址和端口,--replication-factor参数指定了主题的副本数,--partitions参数指定了主题的分区数。创建主题后,可以向主题中发送消息,并由消费者进行消费。 要列出已经存在的主题,可以使用以下命令: kafka-topics.bat --list --bootstrap-server localhost:9092 需要注意的是,以上命令中的localhost:9092是Kafka服务器的地址和端口,根据实际情况进行修改。 总结起来,在仿牛客项目中使用Kafka,首先需要创建一个主题,然后可以使用相关命令行工具进行消息的发送和消费。这样可以实现消息的异步处理和分布式架构。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [仿牛客论坛项目学习记录——5 Kafka 构建TB级异步消息系统](https://blog.csdn.net/dadayangpei/article/details/127173098)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值