request.getRequestDispatcher(url)与response.sendRedirect(url)的区别

今天遇到一个问题,在HelloWeb项目下,利用request.getRequestDispatcher(url),response.sendRedirect(url)出现问题,对于两种方法,我都想跳转到/HelloWeb/admin/category.jsp。url=/HelloWeb/admin/category.jsp。对于sendRedirect(url)没有问题,但是getRequestDispatcher(url)出错。
原因如下:
request.getRequestDispatcher(url)只能跳转至本项目下,并且可以带上原有request,response。所以绝对路径为:当前项目+url,那么对于上述url,绝对路径为/Hello/HelloWeb/admin/category.jsp,所以出错了。
response.sendRedirect(url)可以跳转至任意项目,当然必须处于webapps下,并且是重新发送请求,所以绝对路径为url。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转发的作用:在多个页面交互过程中实现请求 数据的共享 转发的实现: RequestDispathcer 对象 fo...
    iTunesea阅读 3,870评论 0 1
  • 这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答...
    杂货铺老板阅读 1,427评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • 本文包括:1、Filter简介2、Filter是如何实现拦截的?3、Filter开发入门4、Filter的生命周期...
    廖少少阅读 7,362评论 3 56
  • 只想记住该记的事,记住该记的人。当自己老了那一天,回头看看,我想应该是另一种感受吧! 当彼此老去了那一天,我想我还...
    凯罗阅读 67评论 0 0