日期:2014-05-17  浏览次数:20654 次

JSP中request和response有什么区别啊,在用法上,具体点啊
JSP中request和response有什么区别啊,在用法上,具体点啊,多谢啦[color=#FF0000][/color]

------解决方案--------------------
request:
有关于客户端请求的信息,都可以由它来取得,例如请求标头、请求方法、请求参数、使用者IP等等信息。
response:
有关于对客户端请求之响应,可以利用它来设定一些要响应的讯息,例如标题信息、响应状态码等.
 
response:

属于重定向请求;

其地址栏的URL会改变;

会向服务器发送两次请求;

 sendRedirect用法:
response.sendRedirect("跳转页面路径或需要执行的操作路径");
不保持request中设置属性,也就是说会产生一个新的request。跳转到得页面刷新仍然是当前页面。

sendRedirect用法:

response.sendRedirect("hello.jsp") 是在响应后转向 


 

 request:

属于请求转发;

其地址栏的URL不会改变;

向服务器发送一次请求;

 forward用法:
RequestDispatcher view = request.getRequestDispatcher("跳转页面路径或需要执行的操作路径");
view.forward(request, response);

也可以写成:

request.getRequestDispatcher("跳转页面路径或需要执行的操作路径").forward(request, response);
保持request中设置的属性,跳转页面后刷新会重新执行操作。
例如:
index.html ->(submit 数据) -> http://......../submit.do
submit.do 对应的 Servlet 为 submit.java. 其中包含下列片段的两种情况:

1. response.sendRedirect("hello.html") . 浏览器会指向hello.html,并且地址栏是http://...../hello.html
2. RequestDispatcher view = request.getRequestDispatcher("hello.html");
view.forward(request, response);
浏览器会指向hello.html, 但是地址栏仍然是http://...../submit.do

forward用法:
RequestDispatcher rd = request.getRequestDispatcher(URL);
request.setAttribute("str",str);
rd.forward(request,response);
是响应前转向,可以把参数带过去,你也可以在这里设置request.setAttribute("str",str);







  

 

 

 

------解决方案--------------------
request包装了请求的信息 。包括页面的表单值
response 包装了返回的信息。后台处理的一些数据

分 分 分 分
------解决方案--------------------
探讨
request:
有关于客户端请求的信息,都可以由它来取得,例如请求标头、请求方法、请求参数、使用者IP等等信息。
response:
有关于对客户端请求之响应,可以利用它来设定一些要响应的讯息,例如标题信息、响应状态码等.

response:

属于重定向请求;

其地址栏的URL会改变;

会向服务器发送两次请求;

sendRedirect用法:
……