1.request的概念
request是servlet.Service()方法中的一个参数。由服务器创建用来接收客户端请求的一个对象。
流程:
(1)浏览器发送请求给服务器。
(2)服务器创建request对象。
(3)request对象获取客户端数据并存储。
(4)以形参的形式放进service()方法中。
2.response的概念
在客户端发出每个请求时,服务器都会创建一个response对象,并传入给Servlet.service()方法。response对象是用来对客户端进行响应的,这说明在service()方法中使用response对象可以完成对客户端的响应工作。
3.转发与重定向的区别
请求转发:张三(用户)去政府单位盖章,问了业务员A(地址栏url),然后A盖了一个章,A又找B(请求转发后的url)盖了一个章。最后两个章子盖好以后才把表单交给张三。以上流程,张三只和A接触,没有和B接触,就完成了盖章。所以请求转发,地址栏信息不变,只交流了一次,所以只有一次请求。
重定向:张三找A盖章,A说不行,你得先找B盖章。然后张三又带着表单去找B盖章。以上流程,张三和A接触,也与B接触。所以重定向地址栏信息改变,与两个人交流,所以重定向有两次请求。
总结如下:
1.实现
转发:
request.getRequestDispatcher(“路径”).forward(request, response);
重定向:
response.sendRedirect(“路径”);
2.地址栏
转发:不变,不会显示出转向的地址
重定向:会显示转向之后的地址
3.请求
重定向:至少提交了两次请求
4.数据
转发:对request对象的数据不会丢失,可在多个页面交互过程中实现请求数据共享
重定向:request数据将丢失
一个故事看懂请求转发与重定向的区别
最新推荐文章于 2023-05-05 11:27:39 发布