request与response转向的区别

reponse.sendRedirect() 与

request.getRequestDispactcher().forword()
实现转向的异同:

  1.前面慢,后者快

  2.前面无法读取request.setAttribute()所保存的数值,而后者可以读取

  3.前者地址栏显示真正转向后的地址,而后者显示的是转向前的地址

  4.前者,转向地址开始的"/",表示的是本机的根目录;而后者,"/"表示的是应用的根目录

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------我切-------------------------我切------------------------------我切-------------------------------我切----------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

他们都有很多方法,具体要看你使用什么方法了。
我们常用的:
(1解决中文乱码
request.setCharacterEncoding("");-----解决中文乱码
---------从a页面向b页面传递数据时,防止传递的数据是乱码
response.setContentType();------解决中文乱码
---------从a页面向b页面跳转,防止b页面中文乱码

(2 转向页面
request.getRequestDispactcher().forword();---转发
response.sendRedirect();------重定向
--------转发可以以request作用域传递数据,response将丢失equest作用域内的数据。(如要将a=9传递到下一个页面使用,如果用request.setAttribute()保存数据,使用转发则下一个页面可以接受到这个值,但是用response则这个值将不存在。)
一般情况下根据这亮点区别应该可以看出来什么时候使用request和什么时候使用response。

特殊的方法根据特殊的情况判断应该使用哪个,练习多了就可一判断了。 

你可能感兴趣的:(request与response转向的区别)