zoukankan      html  css  js  c++  java
  • 重定向和转发


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

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

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

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

  • 相关阅读:
    快速排序
    将指定目录下的所有子文件或子目录加载到TreeView
    导入英汉文本,用字符串切割,泛型集合存储的英汉字典
    取年月日的字符串方法
    简化的MVC-导入模板HTML,导入数据txt,用字符串方法生成JS菜单
    索引器的使用
    打开文件练习
    泛型委托
    将正则表达式转化成确定的有限自动机
    青蛙过桥
  • 原文地址:https://www.cnblogs.com/flytop/p/8551677.html
Copyright © 2011-2022 走看看