zoukankan      html  css  js  c++  java
  • JAVA 中 重定向

    一、重定向:一个web资源收到客户端的请求后,通知客户端去访问另外一个web资源,这称之为请求重定向。

      运用场景:如用户登录。

           实现方式:通过response来实现:

      如:

        1.response.sendRedirect("/ServletDemo/Login.jsp");

    二、转发:一个web资源收到客户端的请求后,通知服务器调用另外一个web资源进行处理。

           运用场景:MVC设计模式

           实现方式:通过request对象来实现:

      如:

        1.request.getRequestDispatcher("/Login.jsp").forward(request, response);       

    三、重定向与转发的区别:

         1.重定向是在客户端完成的,转发是在服务器完成的

         2.转发只访问一次服务器,重定向访问两次服务器,所以相比较而言,转发对于服服务器的压力更小;

         3.转发只能将请求转发给同一个web应用中的组件,重定向还可以重定向到其他网站;

         4.转发 "/"的根目录是当前web应用下的根目录,而重定向是整个web站点的根目录,如上面的示例代码中,同样跳转到Login.jsp界面,但重定向却要在前面加上项目名;

         5.重定向访问过程结束后,浏览器地址栏中显示的URL会发生改变变成重定向的目标URL,而转发则不会;

         6.RequestDispatcher.forward方法的调用者与被调用者之间共享相同的request对象和response对象,它们属于同一个访问请求和响应过程.而HttpServletResponse.sendRedirect方法调用者与被调用者使用  各自的request对象和  

            response对象,它们属于两个独立的访问请求和响应过程。

             重定向与转发的区别,通俗的来讲,打个比方:张三找李四借钱,李四没有钱,李四让张三自己去找王五借,这是重定向;张三找李四借钱,李四虽然没有钱,但李四从王五那借来钱,然后再借给张三,这是转发。

    周永发
  • 相关阅读:
    LeetCode 811. Subdomain Visit Count (子域名访问计数)
    LeetCode 884. Uncommon Words from Two Sentences (两句话中的不常见单词)
    LeetCode 939. Minimum Area Rectangle (最小面积矩形)
    LeetCode 781. Rabbits in Forest (森林中的兔子)
    LeetCode 739. Daily Temperatures (每日温度)
    三种方式实现按钮的点击事件
    239. Sliding Window Maximum
    14.TCP的坚持定时器和保活定时器
    13.TCP的超时与重传
    12.TCP的成块数据流
  • 原文地址:https://www.cnblogs.com/yvanBk/p/9040039.html
Copyright © 2011-2022 走看看