当前位置: 首页 > news >正文

JaveWeb后端-Web基础-SpringBoot Web、HTTP协议

Spring

官网:spring.io

SpringBootWeb使用步骤

1、创建SpringBoot工程,勾选web开发依赖

在这里插入图片描述
在这里插入图片描述
2、定义请求处理类~~Controller,定义请求处理方式

@RestController//表示当前类是一个请求处理类
public class HelloController {@RequestMapping("/hello")public String hello(String name){System.out.println("name:"+name);return "hello:"+name+"~";}
}

3、运行启动类,测试

HTTP协议

Hyper Text Transfer Protocol
特点:
1、基于TCP协议:面向连接,安全
2、基于请求-响应模型:一次请求对应一次响应
3、HTTP是无状态的连接:对事务处理没有记忆能力,每次请求-响应都是独立的
缺点:多次请求间不能共享数据
优点:速度快

HTTP-请求协议

请求数据格式

在这里插入图片描述
红色:请求行
黄色:请求头

常见请求头
在这里插入图片描述

请求体:POST请求,存放请求参数
get方式和post方式
在这里插入图片描述

请求数据获取

@RestController
public class RequestController {@RequestMapping("/request")public String request(HttpServletRequest request){//1、获取请求方式String method = request.getMethod();System.out.println("请求方式:"+method);//2、获取请求url地址String url = request.getRequestURL().toString();//http://localhost:8080/requestSystem.out.println("请求url地址:"+url);String uri = request.getRequestURI();System.out.println("请求uri地址:"+uri);//3、获取请求协议String protocol = request.getProtocol();//HTTP/1.1System.out.println("请求协议:"+protocol);//4、获取请求参数-name,ageString name = request.getParameter("name");String age = request.getParameter("age");System.out.println("请求参数-name:"+name);System.out.println("请求参数-age:"+age);//5、获取请求头-AcceptString header = request.getHeader("Accept");System.out.println("请求头-Accept:"+header);return "OK";}}

HTTP-响应协议

响应数据格式

响应数据:响应行,响应头,响应体
在这里插入图片描述
状态码图鉴

@RestController
public class ResponseController {/*** 方式一:使用HttpServletResponse设置响应数据* @param response* @throws IOException*/@RequestMapping("/response")public void response(HttpServletResponse  response) throws IOException {//1、设置响应状态码response.setStatus(401);//2、设置响应头response.setHeader("name","it");//3、设置响应体response.getWriter().write("<h1>hello response</h1>");}/*** 方式二:使用ResponseEntity设置响应数据*/@RequestMapping("/response2")public ResponseEntity<String> response2(){return ResponseEntity.status(401)//响应状态码.header("name","javaweb-ai")//响应头.body("<h1>hello response2</h1>");//响应体}}
http://www.dtcms.com/a/512513.html

相关文章:

  • Spring 自动注入是怎么实现的?从 @Component 到 @Autowired 的完整流程
  • 基于springboot的基于智能推荐的卫生健康系统开发与设计
  • 技术面:Spring(循环依赖,spring与springboot的区别)
  • 网站建设相关法律python破解wordpress
  • 高并发系统网络优化:TCP 参数调优、HTTP 协议优化(HTTP_2、HTTPS)
  • PostgreSQL跨数据库授权查询
  • 构建自定义命令行工具 - 打造专属指令体
  • 今日反弹有玄机:外围利好是助力!
  • 门户网站定制青岛网站建设公司招聘
  • 腾讯云做网站怎么样长沙装修公司口碑比较好的
  • 做翻译 网站php网站建设找哪家好
  • 网站建设中栏目是什么南京做代账会计在哪个网站上找
  • 2025年HR 数字化转型:从工具应用到组织能力重构的深度变革
  • 做网站需要看的书公司网站建设工作内容
  • 4.7.Cypher 中的子查询
  • 公共服务平台网站建设方案下载wordpress建站程序
  • 数据结构八大排序:希尔排序-原理解析+C语言实现+优化+面试题
  • 数据结构八大排序:归并排序-原理+C语言实现+优化+面试题
  • 无站点推广就是不在网上推广广州网站建设 美词
  • 佛山网站建设邓先生阳江市网络问政平台登录
  • 图像增广——弹性形变
  • 视频推拉流平台EasyDSS技术特点解析及多元应用场景剖析
  • 做网站需要学php吗北京公司注册代理
  • 职高门户网站建设标准wordpress火车头发布模板
  • CycleGAN实现MNIST与SVHN风格迁移
  • AVL树手撕,超详细图文详解
  • ZeroTier虚拟局域网内搭建DNS服务器
  • 网络与通信安全课程复习汇总3——身份认证
  • 诸城网站做的好的创网站 灵感
  • C++多线程、STL