jsp中的(response)重定向和(request)请求转发

版权声明:hxt未经允许不可转载 https://blog.csdn.net/weixin_42979840/article/details/82825402

request

使用request.getRequestDispatcher("classRoom_list.jsp").forward(request,response);
进行请求转发,不会造成数据丢失,可以获取到数据,并且地址栏保留转发时的页面

在这里插入图片描述

对数据进行操作的时候,不再是之前的classroom_list.jsp而是转发之后的页面的地址

在这里插入图片描述

response

使用response.sendRedirect("classRoom_list.jsp")重定向
会造成数据丢失

区别

1.地址栏是否改变:

变量 是否改变
请求转发(request) 不变(一直停留在转发之后的页面)
重定向(response) 会改变为response.sendRedirect(String jsp),会转变为该方法中的参数

2.是否保留第一次请求时的数据

变量 是否保留
请求转发(request) 保留
重定向(response) 不保留

3.请求的次数

变量 次数
请求转发(request) 1次请求,1次回应
重定向(response) 2次请求,2次回应

请求转发
在这里插入图片描述

重定向

在这里插入图片描述
因为两次请求,两次回应,所以地址栏会改变成最后回应的地址,但是如果是请求转发的话,经过第一次请求,则地址栏只会是第一次请求的jsp地址.

跳转位置

请求转发:服务端
重定向:客户端发出的第二次跳转

猜你喜欢

转载自blog.csdn.net/weixin_42979840/article/details/82825402