﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-jbrg2008-随笔分类-WEB基础</title><link>http://www.blogjava.net/jbrg2008/category/28650.html</link><description>人以铜为镜,可以正衣冠;以古为镜,可以见兴替;以人为镜,可以知得失.</description><language>zh-cn</language><lastBuildDate>Sat, 05 Jan 2008 02:26:09 GMT</lastBuildDate><pubDate>Sat, 05 Jan 2008 02:26:09 GMT</pubDate><ttl>60</ttl><item><title>比较jsp中forword和sendRedirect的区别</title><link>http://www.blogjava.net/jbrg2008/archive/2008/01/04/172634.html</link><dc:creator>翰林</dc:creator><author>翰林</author><pubDate>Fri, 04 Jan 2008 00:49:00 GMT</pubDate><guid>http://www.blogjava.net/jbrg2008/archive/2008/01/04/172634.html</guid><wfw:comment>http://www.blogjava.net/jbrg2008/comments/172634.html</wfw:comment><comments>http://www.blogjava.net/jbrg2008/archive/2008/01/04/172634.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jbrg2008/comments/commentRss/172634.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jbrg2008/services/trackbacks/172634.html</trackback:ping><description><![CDATA[<p>1.RequestDispatcher.forward()</p>
<p>是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动传递.但forward ()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同时forward()无法在后面带参数传递,比如 servlet?name=frank,这样不行,可以程序内通过response.setAttribute("name",name)来传至下一个页面.重定向后浏览器地址栏URL不变.<img height="20" src="http://www.blogjava.net/Emoticons/QQ/lucky.gif" width="19" border="0"  alt="" /></p>
<p>例:servlet文件中重定向<br />
public void doPost(HttpServletRequest request,HttpServletResponse response)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throws ServletException,IOException<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.setContentType("text/html; charset=gb2312");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServletContext sc = getServletContext();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RequestDispatcher rd = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rd = sc.getRequestDispatcher("/index.jsp");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rd.forward(request, response);<br />
}</p>
<p>2.response.sendRedirect()</p>
<p>是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面,同时它可以重定向至不同的主机上,且在浏览器地址栏上会出现重定向页面的URL.sendRedirect()可以重定向有frame的jsp文件.<img src="/CuteSoft_Client/CuteEditor/images/emfist.gif" align="absMiddle" border="0"  alt="" /><br />
<br />
例:servlet文件中重定向</p>
<p>public void doPost(HttpServletRequest request,HttpServletResponse response)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throws ServletException,IOException<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.setContentType("text/html; charset=gb2312");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.sendRedirect("/index.jsp");<br />
}</p>
 <img src ="http://www.blogjava.net/jbrg2008/aggbug/172634.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jbrg2008/" target="_blank">翰林</a> 2008-01-04 08:49 <a href="http://www.blogjava.net/jbrg2008/archive/2008/01/04/172634.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>