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

    //注意:不推荐中文文件名如"目的页面.jsp",此处仅为了教程需要而使用

      1,response跳转:

      // 带session,不带request的跳转(客户端跳转)

      responst.sendRedirect("目的页面.jsp");

      2,forward跳转:

      // 带session,带request的跳转(服务器端跳转)

      // 需要在request中添加参数: request.setAttribute("myVar", "value");

      // 在目的页面中获取参数: String myVar = request.getAttribute("myVar") == null ? "" : (String)request.getAttribute("myVar");

      request.getRequestDispatcher("目的页面.jsp").forward(request, response);

      -

      1.forward跳转:

      a.服务器端跳转,地址栏不改变;

      b.执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);

      c.request设置的属性在跳转后的页面仍可以使用;

      d.使用传递参数。

      2.response跳转:

      a.客户端跳转,地址栏改变;

      b.所有代码执行完毕后跳转;

      c.跳转后的页面不能使用上一个页面的request属性;

      d.使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。

      jsp中两种跳转的区别

      在jsp中有两种跳转,客户端跳转和服务器端跳转,,他们之间存在下面4点的区别:

      1.做为服务器端跳转,跳转后地址栏地址是当前地址,而不是目的页面。而response.sensRediresct("")作为客户端跳转地址栏会变成目的页面的地址.

      2.客户端跳转当程序执行到此句时,是所有代码执行完成后再执行跳转动作,也就是说其后的代码有被执行的机会,而服务器端的跳转是强硬的,执行到此句时,强制跳转,不执行其后的代码。

      3.从传递参数的角度上看,客服端跳转可以通过地址重写的方式传递参数,如response.sendRedirect(*.jsp?ref=pokoo&ref2=pokoo2).而服务器的跳转可以采用来传递参数。

      4.jsp中有四种属性保存范围,如在当前资源中在request中保存了属性,那么客户端的跳转到目的页是拿不到,request容器里的东西的,而服务器端的跳转可以取到。

      下面说说自己理解的jsp中四种属性保存范围和jsp中的9个内置对象,和jstl标签库,和简单的jsp标签的开发

      在servlet中不能有,那服务器跳转是用 RequestDispatcher rd=request.getRequestDispatcher("*.jsp"); rd.forward(request,response);

  • 相关阅读:
    FreeRTOS 动态内存管理
    NODE.JS之我见
    Maven使用详解
    WPF依赖属性详解
    对比MFC资源文件谈谈WPF布局方式
    MAPPING SEGMENTS TO PAGES
    只用一行代码让你的ASP.NET MVC 跑起来
    WPF The Hard Way
    Java判断回文数算法简单实现
    2014让我受益最大的那些书--别找了,都在这里
  • 原文地址:https://www.cnblogs.com/cyy-13/p/5752952.html
Copyright © 2011-2022 走看看