有什么区别?

[复制链接]
查看11 | 回复0 | 2009-1-30 06:28:38 | 显示全部楼层 |阅读模式
如:<c:redirect url="http://www.sun.com" />和<jsp:forward page="http://www.sun.com" />有什么区别?

                                                                                                core 库标记是 <c:redirect>。该操作用于向用户的浏览器发送 HTTP 重定向响应,它是 JSTL 中与 javax.servlet.http.HttpServletResponse 的 sendRedirect() 方法功能相当的标记。下面的程序中显示了该标记的 url 和 context 属性,它们的行为分别等同于 <c:import> 的 url 和 context 属性的行为,是嵌套任何 <c:param> 标记的结果。 <c:redirect> 操作的语法 <c:redirect url="expression" context="expression"><c:param name="expression" value="expression"/>... </c:redirect>下面的程序显示了 <c:redirect> 操作。在该示例中,<c:redirect> 标记的用法与标准 <jsp:forward> 操作的用法类似。不过请回忆一下:通过请求分派器进行转发是在服务器端实现的,而重定向却是由浏览器来执行的。从开发人员的角度来讲,转发比重定向更有效率,但 <c:redirect> 操作却更灵活一些,因为 <jsp:forward> 只能分派到当前 servlet 上下文内的其它 JSP 页面。 响应异常的重定向 <c:catch var="exception"><c:import url="ftp://ftp.example.com/package/README"/></c:catch><c:if test="${not empty exception}"><c:redirect url="/errors/remote.jsp"/></c:if>从用户的角度来看,主要区别在于重定向会更新浏览器所显示的 URL,并因此影响书签的设置。转发却不这样,它对最终用户是透明的。这样,选择 <c:redirect> 还是 <jsp:forward> 还取决于所期望的用户体验。                                       
提问者对答案的评价:

                                                                                                基本没什么区别.,c:的标签是指,重定向到一个地址JSP的指令标签是forward是指转向到一个页面如果你在session里设置了东西,那么JSP的转向后.应该还是在会话范围内的,但是C:的标签,我没用过,不太清楚,感觉应该,出了会话范围吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行