文章目录1,转发和重定向有什么区别? 1 .方式2 .共同点3 .不同点2、文字详细解1 .原理图2 .代码演示总结
一、传输和重定向的区别? 1 .方式传输方式: request.getrequest dispatcher (/result.JSP ).forward ) request,response );
重定向方法: response.sendRedirect (;
2 .可以通过相同的点传输和重定向进行页面跳转
3 .差异(1)转发是一次请求一次响应; 重定向是两次请求两次的响应。
)2)传输时request数据不会丢失,地址栏显示请求的页面,重定向时request数据丢失,地址栏显示最终请求的页面。
二、文字细节1 .原理图传输:客户端发送请求(一次请求),服务器端处理登录请求信息,服务器端返回Result页面信息(一次响应)。
重定向:客户端发送请求(一次请求),服务器端处理登录请求信息,服务器端返回Result页面地址(一次响应),以便客户端在Result中显示信息。 客户端再次发送请求(辅助请求),访问结果页面,服务器端返回结果页面的信息(辅助响应)。
2 .代码演示传输代码如下:
request.setattribute('username ',' requset保存的数据); request.getrequest dispatcher (/result.JSP ) ).forward ) request,response ); 传输结果:
重定向代码如下。
request.setattribute('username ',' requset保存的数据); response.sendredirect (/result.JSP ); 重定向结果:
1、传输方法getRequestDispatcher ().forward ); 重定向方法sendRedirect (。
2、转发浏览器地址栏不会改变重定向后的浏览器地址栏会改变。
3、转发是一种服务器行为,重定向是客户端的行为。
4、传输要求一次响应一次。 重定向是两次请求两次响应;
5、request范围中存储的数据在传输过程中不会丢失信息,重定向过程中也不会丢失信息。