forward 和redirect的区别
1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
4.从效率来说
forward:高.
redirect:低.
forward和redirect的区别?
forward和redirect的区别很大,forward的意思是向前的、(按新地址)转寄、促进、前锋的意思,而redirect的意思是改变方向、重新寄送。具体用法如下:forward(1)adv.向前;前进地;至将来;提前地(2)adj.向前方的;迅速的;(社会、政治)进步的;早熟的(3)vt.促进,助长;(按新地址)转寄;发送(4)n.前锋例句:(1)He came forward with his hand out. 'Mr and Mrs Selby?' he enquired 他走上前去伸出手来。“是塞尔比先生和夫人吗?”他问道。(2)The best seats are in the aisle and as far forward as possible 最好的座位在过道处,越靠前越好。(3)Forward of the main cabin are the guest cabins 主舱前面是客舱。redirect(1)vt.使改寄,更改(信件等)姓名地址;改变方向,改变线路;重新寄送;再查问(证人等)(2)adj.再直接的例句:(1)Controls were used to redistribute or redirect resources. 采用了管控措施来重新分配资源或改变其流向。(2)She redirected them to the men's department. 她指引他们去了男装部。
java:forward 和redirect的区别是什么?
forward是服务器内部重定向,redirect则是服务器收到请求后发送一个状态头给客户。forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知道。redirect则是服务器收到请求后发送一个状态头给客户,客户将再请求一次,这里多了两次网络通信的来往。forward也有缺点,就是forward的页面的路径如果是相对路径就会有些问题了。forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器。redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用 sendRedirect。
node.js forward和redirect的区别
用户向服务器发送了一次HTTP请求,该请求肯能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的。根据转发方式的不同,可以区分为直接请求转发(Forward)和间接请求转发(Redirect)两种有何区别呢?
1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
4.从效率来说
forward:高.
redirect:低.
forward和redirect的区别
redirect forward的区别
1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.所以redirect等于客户端向服务器端发出两次request,同时也接受两次response。
2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
假如从a页面 到 b页面 在到c页面 如果用
在a页面中:
request.setAttribute("a","aa");
在b页面中:跳转 在c页面用
request.getAttribute("a")就可以得到a页面的值,或者用request.getParameter("name")
也可以得到。但是要用response.sendRedirect("b.jsp");跳转的话就得不到a 页面的值和内容。
redirect:不能共享数据.
redirect不仅可以重定向到当前应用程序的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源.
forward,方法只能在同一个Web应用程序内的资源之间转发请求.forward 是服务器内部的一种操作.
redirect 是服务器通知客户端,让客户端重新发起请求.所以,可以说 redirect 是一种间接的请求, 但是不能说"一个请求是属于forward还是redirect "
3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
4.从效率来说
forward:高.
redirect:低.
5.jsp 语法
"} />
或者这样写:
"} >
}" />+
6.例子
描述
标签从一个jsp文件向另一个文件传递一个包含用户请求的request对象.标签以下的代码,将不能执行.
能够向目标文件传送参数和值,在这个例子中我们传递的参数名为username,值为scott,如果使用了标签的话,目标文件必须是一个动态的文件,能够处理参数.
如果使用了非缓冲输出的话,那么使用时就要小心。
如果使用之前,jsp文件已经有了数据,那么文件执行就会出错.
属性
page="{relativeurl | }"
这里是一个表达式或是一个字符串用于说明将要定向的文件或url.这个文件可以是jsp,程序段,或者其它能够处理request对象的文件(如asp,cgi,PHP).
}" />+
向一个动态文件发送一个或多个参数,这个文件一定是动态文件.
如果想传递多个参数,可以在一个jsp文件中使用多个。name指定参数名,value指定参数值.
例子
test
forwardTo.jsp
<%
String useName=request.getParameter("userName");
String outStr= "谢谢光临!";
outStr+=useName;
out.println(outStr);
%>
redirect的例子:
譬 如:client 通过XXX/index.jsp?name=gauss&pwd=123访问index.jsp,而index.jsp中有,则在login.jsp中可以通过request.getParameter()得到name和pwd, 而得不到。
总结:
A.Redirect等于客户端向服务器发出两次request,同时也接受到两次response
Forward却只是一次request一次response
相比之下,Forward性能更高。
B.Forward能够存储request Scope的Attribute而Redirect却不行。
C.Forward的同时URL并不会变。
D.Forward需要在Servlet中需要通过一个Dispatcher来实现。
E.Redirect能够防止某些情况下客户端Refresh造成的一些未知后果(例如连续删除)
forward和redirect的区别
forward和redirect的区别很大,forward的意思是向前的、(按新地址)转寄、促进、前锋的意思,而redirect的意思是改变方向、重新寄送。它们的具体用法如下:forward(1)adv.向前;前进地;至将来;提前地(2)adj.向前方的;迅速的;(社会、政治)进步的;早熟的(3)vt.促进,助长;(按新地址)转寄;发送(4)n.前锋例句:(1)He came forward with his hand out. 'Mr and Mrs Selby?' he enquired 他走上前去伸出手来。“是塞尔比先生和夫人吗?”他问道。(2)The best seats are in the aisle and as far forward as possible 最好的座位在过道处,越靠前越好。(3)Forward of the main cabin are the guest cabins 主舱前面是客舱。redirect(1)vt.使改寄,更改(信件等)姓名地址;改变方向,改变线路;重新寄送;再查问(证人等)(2)adj.再直接的例句:(1)Controls were used to redistribute or redirect resources. 采用了管控措施来重新分配资源或改变其流向。(2)She redirected them to the men's department. 她指引他们去了男装部。
JAVA常见面试题之Forward和Redirect的区别
Forward和Redirect代表了两种请求转发方式:直接转发和间接转发。
直接转发方式(Forward),客户端和浏览器只发出一次请求,Servlet、HTML、JSP或其它信息资源,由第二个信息资源响应该请求,在请求对象request中,保存的对象对于一个每个信息资源是共享的。
间接转发方式(Redirect)实际是两次HTTP请求,服务器端在响应第一次请求的时候,让浏览器再向另外一个URL发出请求,从而达到转发的目的。