jsp中的(response)重定向和(request)请求转发
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地址.
跳转位置
请求转发:服务端
重定向:客户端发出的第二次跳转
还没有评论,来说两句吧...