JavaWeb——Request & Response

发布于:2025-05-21 ⋅ 阅读:(19) ⋅ 点赞:(0)

目录

1.概述

2.Request

3.Response


1.概述

Request:浏览器发送请求其实是发送http的请求数据,请求数据其实就是一些字符串,这些字符串将来被tomcat解析。解析完成之后tomcat会把这些请求数据放到一个对象里边来保存数据,这个对象就是request对象。所以request请求对象里边就装了一大堆请求数据。

Response:请求处理完之后tomcat会发送一些响应的字符串给到浏览器,这些字符串是由tomcat发送的,将来在service里边写代码的时候使用response来控制哪些响应数据给到浏览器,tomcat数据响应前会把response对象里面的数据读取读取拼成字符串给浏览器。

Request:   获取请求数据。

Resopnse:设置响应数据。

2.Request

2.1Request继承关系

因为tomcat解析这个请求数据,所以由tomcat来提供request对象的实现类。

tomcat来调用service方法,所以由tomcat创建request对象传递到service方法中。

2.2Request获取请求数据

请求数据分为3部分:

1.请求行:GET/request-demo/req1/?username=zhangsanHTTP/1.1

String getMethod():获取请求方式GET

String getContextPath():获取虚拟目录(项目访问路径):/request-demo

String Buffer getRequestURL():获取URL(统一资源定位符)

String getRequestURI(): 获取URl(统一资源标识符)/request-demo/req1

String getQueryString():获取请求参数(GET方式):username=zhangsan&password=123

2.请求头:User-Agent:Mozilla/5.0 Chrome/91.0.4472.106

String getHeader(String name)根据请求头名称,获取值

3.请求体:

ServletInputStream getInputStream():获取字节输入流

BufferedReader getReader():获取字符输入流

2.3Request请求转发

请求转发(forward):一种在服务器内部的资源跳转方式。

实现方式:

req.getRequestDispatcher("资源B路径").forward(req,resp);

请求转发特点:

浏览器地址栏路径不发生变化

只能转发到当前服务器的内部资源

一次请i去,可以在转发的资源间使用request共享数据

3.Response

3.1Response设置响应数据功能介绍

响应数据分为3部分:

1.响应行:HTTP1.1 200 OK

void setstatus(int sc):设置响应状态码

2.响应头:content-Type:text/html

void setHeader(String name,String value):设置响应头键值对

3.响应体

PrintWriter getWriter()获取字符输出流

ServletOutputStream getOutputStream():获取字节输出流

 3.2Response完成重定向

重定向(Redirect):一种资源跳转方式

实现方式:

resp.setStatus(302)

resp.setHeader("location","资源B的路径“);

重定向特点:

浏览器地址栏发生变化

可以重定向到任意位置的资源

两次请求,不能在多个资源使用request共享数据


网站公告

今日签到

点亮在社区的每一天
去签到