zoukankan      html  css  js  c++  java
  • servlet内部转发与重定向

    学了俩三天的servlet的内部转发和重定向,今天利用一点时间将servlet的内部转发和重新向进行一个大概总结,由于本人也是初学阶段,如有不对,望谅解!并希望私信我及早改正,希望能帮到大家。


    首先,先将二者的语法背一下,不管会不会用,先记下语法是没错滴!!!

    转发:

    httpServletRequest.getRequestDispatcher("资源路径").forward(httpServletRequest, httpServletResponse);

    重定向:

    httpServletResponse.sendRedirect("/资源路径");

    目的:

    二者都是用来实现页面跳转,给客户端一个响应。


     

    区别:
    虽然二者都是用来实现页面跳转,给客户端一个响应。但是其中还是有很大的差别的,这里就和大家一起探讨下二者原理及不同。

    一:原理

    servlet的转发

    1.请求原理图如下所示:

     

    2.可以简单理解重定向就好比一个人去向A这个人借钱,但是A没有钱,这时候A告诉你B有钱,然后你自己去跑B家去找B借钱

    2.可以简单理解转发就好比一个人去向A这个人借钱,但是A没有钱,所以A又跑去找B这个人借钱,然后把借来的钱再借给你了。

    二:特点

    内部转发 重定向
    转发是服务器行为(这是不经过浏览器的) 重定向是客户端行为。(浏览器重新请求)。
    转发是浏览器只做了一次访问请求 重定向是浏览器做了至少两次的访问请求的(当然也可以重定向多次)。
    转发浏览器地址不变 定向浏览器地址改变。
    转发两次跳转之间传输的信息不会丢失,所以可以通过request进行数据的传递  重定向两次跳转之间传输的信息会丢失(request范围)
     转发只能将请求转发给同一个WEB应用中的组件  重定向可以指向任何的资源,包括当前应用程序中的其他资源,同一个站点上的其他应用程序中的资源,其他站点的资源
  • 相关阅读:
    大型网站应用中MySQL的架构演变史
    SRM 585 DIV2
    TC 配置插件
    Java中含有静态成员的的初始化顺序
    java 23种设计模式,一般情况下,常用的有哪些? 转载
    Java中的正则表达式
    C++ 中的关于输出的设置于
    C++实现可变参数列表
    Java中的组合与聚合
    pku 2284 That Nice Euler Circuit
  • 原文地址:https://www.cnblogs.com/ma159753/p/13862280.html
Copyright © 2011-2022 走看看