• 重定向和转发



      我们知道,servlet跳转页面的方式有两种,就是重定向和转发。在这之前,我先说一下我遇到的问题——
    用jdbc+servlet查询数据库数据绑定到jsp页面时,我在登陆时就已经准备了数据(就是用request.setAttribute()方法放到request作用域中),
    在跳转到另一个页面时就绑定到table上。如果跳转页面时用的是转发跳转,则table上有数据。如果用重定向跳转
    则table上没有数据,那为什么呢? 对此我们来看看什么是重定向和转发。

    1、重定向:response.senddirect(“要重定向的资源的路径”)方法跳转到另外一个资源文件,当用户请求某个资源而资源不存在时,在服务器端通过这个函数进行重定向的操作,在客户端浏览器上会得到跳转后的地址,并重新发送请求链接,在浏览器的地址栏上可以看到跳转后的新的地址。进行重定向操作之后,request中的属性全部失效,并且进入一个新的request对象的作用域。

    2、转发:request.getdispacher("要转发的资源的路径").forward(request,response)当用户请求的资源不存在时,服务器端可以使用这个函数进行转发的操作,这个动作是在服务器端内部执行的,客户端根本不知道服务器端做了这个操作,所以在客户端浏览器地址栏中不会显示新的资源的地址。可以看出这时使用的是同一个request对象,所以使用这种方法可以获取到刚才添加到request中的信息。

    总结:转发跳转页面request作用域中的参数共享;重定向跳转参数不共享。

  • 相关阅读:
    【PAT】1001 害死人不偿命的(3n+1)猜想(动态更新)
    文件指令集
    近距离接触电脑
    文件管理
    文件写作方法
    文件读取方法
    打开文件的逻辑
    话术库
    max的逻辑
    抽象化指令
  • 原文地址:https://www.cnblogs.com/flytop/p/8551677.html
Copyright © 2020-2023  润新知