一、request 和 response 的获取
浏览器发送请求至服务器
服务器:
1、创建 request 对象,并将请求信息封装到 request
2、创建 response
3、根据 url,得到要访问的 servelt
4、将 request,response 对象传递至 servlet 中(get/post)调用方法(doGet/doPost)
二、request 和 response 体系结构
request:
javax.servlet,ServletRequest
↑extends
子接口 javax.servlet.http.HttpServletRequest
实现 ↑
tomcat 中的一个类实现了 HttpServletRequest 接口对象
response:
javax.servlet.ServletResponse 接口
↑extends
javax.servlet.http.HttpServletResponse
实现 ↑
tomcat 实现一个类
三、http 响应信息
ps:get 请求会在信息显示在地址栏且 1k 以下,post 不会且无限制
请求行:
response.setStatus(int code)设置状态码
请求头:
响应头格式:name:值(值可能多个)
response 对象响应头信息 setHeader(String name,String value) setDateHeader(...)....
请求正文
请求头结束 空一行后内容
需要获取流对象,通过流输出。
response.getOutputStream()
response.getWriter()
输出流获取
四、重定向 转发的区别
1.重定向发送两次请求,转发 1 次;
2.重定向地址栏改变,转发不变;
3.重定向多次请求,不共享 request. 转发只有一次请求,共享 request;
4.重定向可以访问服务器内部资源也可外部,转发只能内部;
5.重定向浏览器重新发送请求,/工程名/资源 转发/资源路径。
请求转发
RequestDispatcher dis = request.getRequestDispatcher(String url);
dis.forword(request,respinse);
存储 request 信息 setAttribute getAttribute removeAttribute getAttributeNames
重定向
response.sendRedirect("/工程名/资源");
跳转 senReidrect,资源共享 forward.
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于