首页 > 其他分享 >转发和重定向的区别

转发和重定向的区别

时间:2022-12-04 20:11:45浏览次数:30  
标签:请求 区别 getRequestDispatcher 地址 转发 地址栏 重定向

转发:request

重定向:response

问题解析:

  • 重定向是浏览器发送请求并收到响应以后再次向一个新地址发送请求,转发是服务器收到请求后,为了完成响应,转到另一个资源(servlet)
  • 重定向中有两次对象请求,不共享数据,转发只产生一次请求对象且在组件中共享数据
  • 重定向后地址栏地址改变,转发后地址栏地址不变
  • 重定向的新地址可以是任意的地址,转发必须是同一个应用内的某个资源

问题扩展:

获取servlet的转发和重定向的方式是什么?

  • 转发的方式:
    • 通过HttpServletRequest的getRequestDispatcher()方法获得
    • 通过ServletContext 的getRequestDispatcher()方法获得
  • 重定向的方式:
    • 通过HttpServletResponse的sendRedirect()方法获得

实际应用:

  • 重定向可以实现图片的异步上传
  • 一般访问web-inf下面文件,只能利用转发来实现。

标签:请求,区别,getRequestDispatcher,地址,转发,地址栏,重定向
From: https://www.cnblogs.com/itxiaofei/p/16950571.html

相关文章

  • 4.指针和引用的区别详解
    前言指针和引用在形式上很好区别,在C++中相比于指针我们更喜欢使用引用,但是它们的使用场景又极其类似,它们都能直接引用对象,对对象进行处理,那么究竟为什么会引入引用?什么时......
  • Request_获取请求参数中文乱码问题处理以及请求转发
    Request_获取请求参数中文乱码问题处理中文乱码问题:get方式:tomcat8已经将get方式乱码问题解决了post方式:会乱码解决:在获取参数前,设置request的编码:r......
  • 线程和进程的区别是什么?
    ”进程是资源分配的最小单位,线程是CPU调度的最小单位“这样的回答感觉太抽象,都不太容易让人理解。做个简单的比喻:进程=火车,线程=车厢线程在进程下行进(单纯的车厢无法运......
  • uniapp和vue的区别
    https://m.php.cn/article/481418.html uniapp和vue的区别uni-app可以编译到(头条,支付宝,微信,QQ,百度)小程序,安卓版,ios版,h5版。通过打包实现一套代码多端运行;vue在web上是......
  • UDF , UDAF , UDTF的区别,以及他们分别解决了什么。
    Hive自定义函数包括三种UDF、UDAF、UDTF,让我们来看看他们的区别和分别解决的什么问题:......
  • js forEach和 map 区别
    Array.prototype.forEach()forEach()方法对数组的每个元素执行一次给定的函数。forEach()方法按升序为数组中含有效值的每一项执行一次callbackFn函数,那些已删除或者......
  • java 线程池中 execute 和 submit 方法的区别
    ThreadPoolExecutorUML类图execute方法定义publicinterfaceExecutor{voidexecute(Runnablecommand);}submit方法定义publicinterfaceExecutorServiceextends......
  • 博客园 文章和随笔区别
    之前一直对随笔和文章比较迷惑,不太清楚它们之间的区别,今天仔细了解一下,发现一直误解了这两个概念。首先从内容上区分一下随笔和文章随笔内容形式比较随意,往往是作者......
  • java中== 和equals的区别
    本文主要介绍==和equals的区别1.==比较的是地址,引用类型(除了String类)的时候,只要不是同一个对象,就不是同一个地址,String类型的时候,如果new出来两个对象,那么也是不同地......
  • mysql和sql server的区别是什么?
    https://blog.csdn.net/qq_51179608/article/details/124322292实际上,每个web应用程序和数据库都扮演着重要的角色。由于当前web开发的动态特性,即使是最基本的应用程序也......