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>");//响应体}}