zoukankan      html  css  js  c++  java
  • jsp的两种跳转方式和区别

    1.forward跳转:

    •   服务器端跳转,地址栏不改变;
    •   执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);
    •   request设置的属性在跳转后的页面仍可以使用;
    •   使用<jsp:param name="参数名" value="参数值" />传递参数。

    2.response跳转:

    •   客户端跳转,地址栏改变;
    •   所有代码执行完毕后跳转;
    •   跳转后的页面不能使用上一个页面的request属性;
    •   使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。


    主要区别:

    1. <jsp:forward page="***"/>做为服务器端跳转,跳转后地址栏地址是当前地址,而不是目的页面。而response.sensRediresct("***")作为客户端跳转地址栏会变成目的页面的地址.
    2. 客户端跳转当程序执行到此句时,是所有代码执行完成后再执行跳转动作,也就是说其后的代码有被执行的机会,而服务器端的跳转是强硬的,执行到此句时,强制跳转,不执行其后的代码。
    3. 从传递参数的角度上看,客服端跳转可以通过地址重写的方式传递参数,如response.sendRedirect(***.jsp?k=v&k2=v2),而服务器的跳转可以采用<jsp:param name="key" value="val"/>来传递参数。
    4. jsp中有四种属性保存范围,如在当前资源中在request中保存了属性,那么客户端的跳转到目的页是拿不到,request容器里的东西的,而服务器端的跳转可以取到。


  • 相关阅读:
    实现JDK代理
    Dictionary字典类介绍
    在服务器上新建虚拟机及安装系统
    开启远程桌面设置
    Windows Server 2008 R2远程协助选项灰色
    server 2012系统更改电脑密码
    eclipse + maven + scala+spark环境搭建
    C#数据路接口中获取SQL数据的用法
    C#常用快捷键
    oracle常用的快捷键
  • 原文地址:https://www.cnblogs.com/duzhentong/p/7816536.html
Copyright © 2011-2022 走看看