最近复习Servlet一些相关知识,看到我们可以使用两种方式获取RequestDispatcher,即
//从ServletContext对象获取
getServletContext().getRequestDispatcher(String path).forward(req, resp);
//从Request对象获取
request.getRequestDispatcher(String path).forward(req, resp);
这两种方式都能具有forward方法,它们有什么区别呢?在网上查了查相关资料以供参考。
在stackoverflow上有人给出了这样的解释:
If you use absolute path ("/index.jsp"), there is no difference.
If you use relative path, you must use HttpServletRequest.getRequestDispatcher(). ServletContext.getRequestDispatcher() doesn't allow it.
For example, if you receive your request on http://example.com/myapp/subdir,
RequestDispatcher dispatcher =
request.getRequestDispatcher("index.jsp);
dispatcher.forward( request, response );
Will forward the request to the page http://example.com/myapp/subdir/index.jsp.
In any case, you can't forward request to a resource outside of the context.
简单的翻译下以上的答案:
1. 如果使用绝对地址,如 /index.jsp这种方式,二者无区别;
2. 如果使用相对地址,你只能使用request.getRequestDispatcher, ServletContext不允许使用相对路径;
3. 任何情况下你都不能将转发地址指向context之外的地方。
在实际使用过程中还有两点需要注意:
1. 在forward之前,不允许使用PrintWriter向页面输出内容(这里我自己测试了下,在forward之前向页面输出内容可能导致页面不会正确跳转)。
2. foward语句跳转后,可利用return或抛出异常的方式来结束当前servlet。
分享到:
相关推荐
小议量化宽松策略与影响.doc
小议和谐高中思想政治课堂的构建.pdf
小议外汇期权会计在新规则中应用 本文主要探讨了小议外汇期权会计在新规则中的应用,涉及到外汇期权的概念、分类、确认、计量和披露等方面的知识点。 一、外汇期权的概念 外汇期权是一种金融衍生工具,允许持有人...
7. **校企合作**:职业高中的数学教学可以与企业合作,引入真实的工作场景,让学生在解决实际问题中学习和运用数学知识,增强其就业竞争力。 8. **技术支持**:利用现代信息技术,如在线学习平台、数学软件和模拟...
小议物理教学中的探究与语言表达能力.doc
小议信息数据库管理与会计管理的结合.docx
小议科学发展观与伦理思想的契合.doc
高职药学论文:小议高职药学创新与实践.doc
《小议职业高中数学教学》这篇文档,作为压缩包中的主要资源,可能涵盖了关于职业教育领域数学教学的多个重要方面。职业高中的数学教学是连接基础教育与职业教育的关键环节,它既要满足学生对基本数学知识的需求,又...
【小议我国品牌并购与风险规避】 随着中国加入WTO后过渡期的结束,我国的多个服务业领域逐步向外资开放,跨国公司对中国市场的竞争压力加剧。在这个背景下,品牌成为了中国企业提升核心竞争力和产品附加值的关键...
【小议建筑施工中的组织与管控】 建筑施工的组织与管控是确保工程质量和效率的关键环节。在建筑装饰施工中,良好的组织与管理不仅关乎工程的最终成果,还直接影响到施工企业的经济效益和社会声誉。 1. 建筑装饰...
《小议全面收益观与传统收益综述》 收益理论是会计学中的核心议题,它对各类利益相关者的决策有着深远影响。本文将探讨全面收益观与传统收益观的差异,以及它们各自的历史演变和应用。 收益理论的历史演进可追溯至...
小议税制公平与收入分配.docx
小议传统演变与制度创新.pdf
小议知识经济与经济增长.doc
小议期货投资与市场发展.doc
小议概括继承制度与被继承人生前债务问题的分析_0.doc
小议英语教学中的语言艺术.docx
小议环境侵权中的精神损失.doc
小议多媒体授课中的互动性.doc