zoukankan      html  css  js  c++  java
  • request.getRequestDispatcher(a.jsp).forward(request,response)和response.sendRedirect的差别

    1、重定向 sendredirect 会使地址栏显示的地址改变

    2、重定向 sendredirect 可以访问外部资源, 而请求转发 forward只可以在访问本身的内部资源。

    3、请求转发 forward 都会共享request里面的资源。 而重定向 sendredirect 不可以(重定向不可以获取重定向前请求对象的值,请求转发可以获取请求转发前请求对象的值)

    4、重定向 sendredirect 相当于2次请求2次回复,而请求转发 forward 只是一次请求一次回复 


    response.sendRedirect 是重定向到某个页面上,相当于重新打开浏览器输入你要打开的网址。

    request.getRequestDispatcher(a.jsp).forward(request,response)这个方法会将参数传会a.jsp页面。而浏览器的地址栏也不会显示a.jsp,显示的会是你处理操作的那个页面。

    如果当前页面是http://127.0.0.1/b.jsp使用response.sendRedirect("a.jsp")的话,地址栏将显示http://127.0.0.1/a.jsp

    而request.getRequestDispatcher(a.jsp).forward(request,response)显示的还是http://127.0.0.1/b.jsp..如果有参数,后面还会有参数


    这个方法可以将request和response对象传递过去,在a.jsp当中可以直接获得request当中的参数。而sendRedirect只是重定向,参数需要拼成串通过URL传递 

  • 相关阅读:
    C#---将数据库数据转换为json格式
    ASP.NET ---根据值让树中某一节点选中
    SQL---查询树中某个节点及其所有子节点
    CSS---相对定位笔记
    CSS---绝对定位笔记
    滑雪
    Self Numbers
    Lotto
    Parencodings
    Robot Motion
  • 原文地址:https://www.cnblogs.com/zhahu/p/11931406.html
Copyright © 2011-2022 走看看