`

JSP中forward()与sendRedirect()区别

    博客分类:
  • jsp
阅读更多
      
jsp的页面跳转有两种方法:RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法。
        它们的区别是:
       
RequestDispatcher.forward()方法仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址,他是不会改变Request的值,如果需要在下一个页面中能从中获
取新的信息的话,可以Request.setAttribute()来放置一些标志,这样从下一个页面中获取。其写法如下:
  
   
try{           
request.getRequestDispatcher("display.jsp").forward(request,response);       
}
       catch(Exception e){
           
e.printStackTrace();
        }

       
HttpServletResponse.sendRedirect()则是完全的跳转,浏览器将会得到跳转
的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。其写法如下:
       
response.sendRedirect("display.jsp");
        
两者相对来说RequestDispatcher.forward()方法更加高效,当它可以满足需要时,尽量使用Request
Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。
分享到:
评论

相关推荐

    forward PK sendredirect

    首先,`jsp:forward page="转的页面"`是JSP中的动作标签,用于将当前请求转发到指定的页面。这种方式属于服务器端的跳转。当浏览器向服务器发送请求时,服务器接收到请求后,不会返回任何实际的内容,而是直接将请求...

    jsp中页面之间的跳转forward与sendRedirect的区别

    页面之间的跳转可以通过两种方式实现:forward和sendRedirect。 forward:可以在JSP页面中使用,可以在Servlet中实现。 在JSP页面中使用<jsp page=”目标文件”/>,例如要跳转到userlist.jsp,可以写: 代码如下: ...

    forward-sendRedirect

    在Java Web开发中,"forward-sendRedirect"是一个关键的概念,主要涉及到Servlet和JSP之间的页面跳转技术。这里我们将深入探讨这两个方法的工作原理及其在实际应用中的差异。 首先,我们来了解一下`forward()`方法...

    sendRedirect()和forward()

    sendRedirect()和forward()方法都是Servlet编程中常用的方法,它们可以将客户端的请求重定向或转发到其他的资源,如Servlet、JSP页面或HTML文件中。但是,这两个方法之间存在着本质上的区别。 首先,让我们来看一下...

    jsp:forward方法实例

    请求转发与URL重定向(`response.sendRedirect()`)有显著区别。URL重定向会向客户端浏览器发送一个HTTP响应,告知浏览器加载新的URL,从而创建了一个新的HTTP请求。而`jsp:forward`是在服务器端完成的,用户浏览器...

    jsp forward与redirect实探

    在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术。当我们需要在不同的页面之间导航时,`forward`和`redirect`是两种常见的处理请求转发和重定向的方法。本文将深入探讨这两种机制及其区别。...

    jsp 转发和重定向的区别(forward sendRedicreat)

    jsp 转发是通过 `<jsp:forward>` 元素或 `request.getRequestDispatcher("apage.jsp").forward(request, response)` 方法来实现的。转发的主要特点是,request 中存放的变量不会失效,这意味着前一个页面中的变量...

    JSP中5种跳转foward,request等等的详细区别

    JSP 中有五种跳转方式,包括 RequestDispatcher.forward()、response.sendRedirect()、jsp:forward、RequestDispatcher.include() 和 HttpServletResponse.sendRedirect()。下面我们将详细介绍这五种跳转方式的区别...

    jsp response.sendRedirect不跳转的原因分析及解决

    重要的是,当使用sendRedirect时,浏览器地址栏中的URL会发生变化,这与<jsp:forward>标签直接在服务器端进行转发不同,后者不会改变浏览器地址栏中的地址。 遇到sendRedirect不跳转时,可能存在以下几个原因: 1....

    JSP面试容易问到的问题

    ### JSP面试常见问题解析:Forward与SendRedirect的区别及Include的理解 #### 1. Forward与SendRedirect的区别 在Web开发中,特别是在Java Server Pages (JSP)与Servlets结合使用的场景下,`forward`与`...

    JSP与Servlet 技术总结

    9. 重定向(forward与sendRedirect)区别 6 10. JSP和Servlet的区别 7 11. Cookie学习 7 12. Session学习 9 Servlet技术总结 9 1. Servlet生命周期 9 2. Servlet的方法说明: 10 3. Servlet 在web.xml中的配置 10 ...

    JSP中绝对路径与相对路径

    本文将深入探讨JSP(JavaServer Pages)环境中绝对路径与相对路径的区别及其应用场景,帮助开发者更好地理解这两种路径类型,并在实际开发中做出合适的选择。 #### 二、绝对路径与相对路径的基本概念 1. **绝对...

    JSP页面的五种跳转方法

    与forward()的区别在于,<jsp:forward>可以在JSP页面中直接使用,而不需要通过Servlet。 示例: ```jsp <jsp:forward page="index.jsp" /> ``` 4. Meta标签 通过设置Meta标签的http-equiv属性为"Refresh",可以...

    forward与redirect区别

    在Java Servlet中,通常通过`HttpServletResponse.sendRedirect()`方法实现。 - 重定向后,浏览器的URL会显示新请求的地址,用户可以看到页面跳转的过程。 - 由于是浏览器重新发起请求,所以原有的Request数据不会被...

    jsp中几个页面之间跳转

    本文将深入探讨这两种路径的区别以及它们在JSP页面跳转中的应用。 一、绝对路径与相对路径 1. 绝对路径:绝对路径是从根目录开始,完整地指明文件或资源所在位置的路径。例如,如果一个HTML或JSP文件位于服务器的`...

    jsp跳转getRequestDispatcher()和sendRedirect()的区别.docx

    ### jsp跳转getRequestDispatcher()和sendRedirect()的区别 在Java Web开发中,经常会遇到页面间的跳转操作,其中两种常见的方法是`getRequestDispatcher()`和`sendRedirect()`。这两种方式虽然都能实现页面跳转,...

    jsp页面的五种跳转方式

    **概念**:`<jsp:forward>` 标签是 JSP 内置的一种转发机制,其功能与 `RequestDispatcher.forward()` 类似,但使用起来更加简单直观。 **实现方式**: ```jsp <jsp:forward page="/target.jsp"/> ``` **特点**:...

    jsp 原理 jsp教程

    3. **转发与重定向**:在JSP中,`<jsp:forward>`和`response.sendRedirect()`方法可以实现请求的转发和重定向,这在Servlet中同样可行。 ### 学习资源 为了深入理解JSP的原理,你可以通过以下资料进行学习: - **...

Global site tag (gtag.js) - Google Analytics