• JavaWeb应用中重定向与跳转的区别


    针对JSP与Servlet:
    两种重要的跳转:
    1.request.getRequestDispatcher("地址").forward(ServletRequest, ServletResponse);效率高,速度快
     转发:服务器 接收到客户端的请求之后,服务器把控制权交到另一个JSP页面手里,新的JSP页面接收到请求之后根据情况是继续转交控制权或者显示页面由自己决定,到最后显示页面的整个过程就是一个页面跳转过程,在这个过程中,服务器可以把请求的数据在经过的页面进行传递,而不会担心数据的丢失。
    
    a.地址栏不改变跳转——服务器端跳转,服务器之间内部跳转,相同的request,可传参;
    b.执行到跳转语句后无条件立刻跳转——之后的代码不再被执行;
    注意:如果使用forward跳转,则一定要在跳转之前释放掉全部的资源;
    c.使用forward时,request设置的属性依然能保留在下一个页面(setAttribute);
    
    
    
     重定向:首先服务器受到浏览器客户端请求之后,服务器发送新的链接到客户端浏览器,浏览器接收到新的链接之后又重新请求收到的链接地址,在整个过程中完成之后在客户端浏览器看来是发生了一次跳转,其实是客户端浏览器请求了两次而已,所以在浏览器的地址栏里网络地址自然就会改变成新的连接。
    
    
    2.response.sendRedirect(“地址”):效率低,速度慢
    a.地址栏改变跳转——客户端跳转
    b.所有代码执行完毕之后再跳转,跳转语句后面的代码还是会执行,除非在其后面加上return(return)需复杂一些。
    c.不能保存request属性——两次请求,地址改变了,客户端跳转,不同的request
    d.通过对URL地址的重写传递参数:
    response.sendRedirect(“responseDemo04.jsp?id=mldn”);
    
    
  • 相关阅读:
    JNI 对象处理 (转)
    快速配置vs2012+opencv
    Jni中C++和Java的参数传递(转)
    版本控制之四:SVN客户端重新设置帐号和密码(转)
    版本控制之三:SVN合并及解决冲突(转)
    版本控制之二:SVN的初步使用(转)
    版本控制之一:SVN服务器搭建与安装(转)
    xml读取一行数据
    方法论:怎样练习一万小时
    一位软件工程师的6年总结(转)
  • 原文地址:https://www.cnblogs.com/elgin-seth/p/5293786.html
Copyright © 2020-2023  润新知