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/request
        System.out.println("请求url地址:"+url);
        String uri = request.getRequestURI();
        System.out.println("请求uri地址:"+uri);
        //3、获取请求协议
        String protocol = request.getProtocol();//HTTP/1.1
        System.out.println("请求协议:"+protocol);
        //4、获取请求参数-name,age
        String name = request.getParameter("name");
        String age = request.getParameter("age");
        System.out.println("请求参数-name:"+name);
        System.out.println("请求参数-age:"+age);
        //5、获取请求头-Accept
        String 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>");//响应体
    }

}
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐