日期:2014-05-20  浏览次数:20889 次

servlet有两种方法发送
这个方式,我语言说不明白。
      有两种方式进行请求,   重定向   和请求转发。
        重定向,     就是客户端   向web服务器的servlet容器servlet服务器发送请求,   serlvet转发到另一个资源上面的应用程序的页面,   地址栏上面的地址已经变成另一个资源的页面的域名或者IP地址。
        请求转发,   就是客户端   向web服务器r   servlet容器servlet服务器发送请求,serlvet把另一个应用程序上面的信息转发给用户。
          重定向已经把客户端直接转接到另一个服务器或者其它资源面页;而请求转发
客户端是通过web服务器的请求,web服务器把其它应用程序上面的信息再次通过web服务器转发给客户端。
-------------------------------------
我不了解我对servlet的重定向和请求转发了解多少,     重定向是二次请求?二次响应?         请求转发是只有一次响应。

------解决方案--------------------
重定向是二次请求,二次响应
----------------------------------
可以这么说。浏览器请求资源x,x直接告诉浏览器:你别找我,你去找y, 浏览器又马上请求资源y,并等待y的回应。其中y可以是相对资源或任意绝对资源

请求转发是只有一次响应
-----------------------------------
请求转发是服务器内部的转化,只能在同一个应用内进行
------解决方案--------------------
请求转发(forward):一次请求,由容器负责将请求转发到其它页面,容器内部处理,对客户端透明,浏览器地址栏地址不变。
重定向(redirect):二次请求。
流程是这样的:浏览器向容发送第一次请求,容器向浏览器返回301状态码和一个地址A。浏览器再向地址A发送第二次请求。
------解决方案--------------------
我是这样理解的:
FORWARD REQUEST对像不变
SENDREDIRACT REQUEST对像是一个新的.
------解决方案--------------------
1楼解释最精确
------解决方案--------------------
接分
------解决方案--------------------
include方法与forward一样吧
------解决方案--------------------
请求转发(forward)共享数据,重定向(redirect)不共享数据,最重要的区别就是forward 可以带信息过去,而redirect不行,只能在地址上传递参数了