博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转发与重定向的路径问题(转)
阅读量:2429 次
发布时间:2019-05-10

本文共 1377 字,大约阅读时间需要 4 分钟。

重定向是客户端跳转,转发是服务器端跳转
在servlet中调用转发、重定向的语句如下:
request.getRequestDispatcher("new.jsp").forward(request, response);//转发到new.jsp
response.sendRedirect("new.jsp");//重定向到new.jsp
在jsp页面中你也会看到通过下面的方式实现转发:
<jsp:forward page="new.jsp" />
当然也可以在jsp页面中实现重定向:
<%response.sendRedirect("new.jsp");//重定向到new.jsp%>
其实我认为jsp中的URL地址也是重定向,因为点击这个request作用域失效,要传递到信息到request必须要用参数才行。
总之JSP/Servlet都有转发和重定向的手段了,那么我总结一下路径问题。
Servlet中有两种方式获得转发对象(RequestDispatcher):一种是通过HttpServletRequest的 getRequestDispatcher()方法获得,一种是通过ServletContext的getRequestDispatcher()方法获得;
重定向的方法只有一种:HttpServletResponse的sendRedirect()方法。
这三个方法的参数都是一个URL形式的字符串,但在使用相对路径或绝对路径上有所区别。
★ HttpServletResponse.sendRedirect(String)
参数可以指定为相对路径、绝对路径或其它Web应用。
假设通过http://localhost/myApp/cool/bar.do请求到达该方法所属的Servlet。
相对路径:response.sendRedirect("foo/stuff.do")
容器相对于原来请求URL的目录加参数来生成完整的URL——http://localhost/myApp/cool/foo/stuff.do。
绝对路径:response.sendRedirect("/foo/stuff.do")
容器相对于Web应用本身加参数建立完整的URL——http://localhost/foo/stuff.do。
其它Web应用:response.sendRedirect("http://www.iteye.com")
容器直接定向到该URL。
★ HttpServletRequest.getRequestDispatcher(String)
参数可以指定为相对路径或绝对路径。
相对路径情况下生成的完整URL与重定向方法相同。
绝对路径与重定向不同,容器将相对于Web应用的根目录加参数生成完整的URL,即:
request.getRequestDispatcher("/foo/stuff.do")生成的URL是http://localhost/myApp/foo/stuff.do。
★ ServletContext.getRequestDispatcher(String)
参数只能指定为绝对路径,生成的完整URL与HttpServletRequest.getRequestDispatcher(String)相同。

转载地址:http://kpjmb.baihongyu.com/

你可能感兴趣的文章
基于嵌入式操作系统的物联网安全
查看>>
一个只有 99 行代码的 JS 流程框架
查看>>
移动周刊第 186 期:移动 App 客户端性能优化、iOS 开源库源码解析
查看>>
包学会之浅入浅出 Vue.js:开学篇
查看>>
JavaScriptCore 全面解析 (上篇)
查看>>
移动周刊第 187 期:App 模块化实战经验总结
查看>>
以不一样的视角看物联网协议
查看>>
JavaScriptCore全面解析 (下篇)
查看>>
嵌入式操作系统与物联网演进之路
查看>>
苹果公司揭秘首批列入 Swift 源代码兼容性开源项目清单
查看>>
Python 玩转物联网之 Micropython GPIO IRQ 处理
查看>>
移动周刊第 188 期:Android 安全性要点与规范核心详析
查看>>
手机为基础的 IoT 布局已经失效,下一代操作系统是什么模样?
查看>>
无线传感器网络使用指南
查看>>
Unity 脚本优化的那些坑
查看>>
《近匠》专访机智云 CTO 刘琰——从 0 到 1 开启智能化硬件开发
查看>>
深度对话微软,解读 HoloLens 技术设计细节
查看>>
移动周刊第 191 期:如何看待 Kotlin 成为 Android 官方支持开发语言?
查看>>
物联网浪潮之下,前端工程师如何迎刃而上?
查看>>
移动周刊第 192 期:像大牛一样写代码,31 款 Android 开发者工具汇总
查看>>