java web重定向与转发
首先定义一下这两个词:
重定向是将用户从当前页面或servlet定向到另外一个jsp页面或者servlet
转发是将用户对当前jsp页面或者servlet对象的请求转发给另外一个jsp页面或者servlet对象。
在servlet类当中可以使用HttpServletResponse类的重定向方法sendRedirect()
也可以使用RequestDispatcher类的转发方法forward()。
以下为两者的区别:
1)RequestDispatcher的forward()方法只能将请求转发给同一个Web应用中的组件,HpptServletResponse的sendRedirect()方法不仅可以重定向到当前
应用程序中的其它资源,还可以重定向到同一个站点上的其它应用程序中的资源,甚至是使用绝对URL重定向到其它站点的资源。如果传递给sendRedirect()方法
的相对URL以“/”开头,它是相对于整个Web站点的根目录;如果创建RequestDispatcher对象时制定的相对URL以“/”开头,它是相对于当前Web应用程序的根目录。
2)使用sendRedirect()方法重定向的访问过程结束后,浏览器的地址栏中显示的URL会发生变化,由初始的URL地址变成重定向后的目标URL;然而调用Request
-Dispatcher的forword()方法的请求转发过程结束后,浏览器的地址栏保持初始的URL地址不变。
java web重定向与转发的更多相关文章
- java之重定向与转发
昨天搞了一个问题,关于手机返回按钮的(Android机,ios没有返回键) 在每一步操作都要进过鉴权,如果鉴权不通过就需要跳转到指定jsp页面,再进行link:到app进行登录操作: 然后问题出现了, ...
- java web 中的转发和重定向
假设应用程序的 contextPath 为 /ctx,在 http://localhost:8080/ctx/a/b 资源中,我们转发和重定向到 http://localhost:8080/ctx/x ...
- [Java][Web] Servlet中转发和重定向比较
Servlet中页面跳转的两种方式 请求转发 使用requestDispatcher对象 request.getRequestDispatcher("path").forward( ...
- Java Web中请求转发和请求包含
1.都是在一个请求中跨越多个Servlet 2.多个Servlet在一个请求中,他们共享request对象.就是在AServle中setAttribute()保存数据在BServlet中由getAtt ...
- [Java][Web]Request 实现转发和 MVC 设计模式
String data = "aaaaa"; request.setAttribute("data",data); // 将数据存在 request reque ...
- Java Web开发中的转发和重定向的问题
Java Web的页面实现跳转有两种方式,一种是转发,另外一种是重定向.一般来说,转发比重定向快.重定向会经过客户端,转发却不会. 转发 request.getRequestDispatcher(&q ...
- [原创]java WEB学习笔记15:域对象的属性操作(pageContext,request,session,application) 及 请求的重定向和转发
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- java web的转发与重定向
java web的转发与重定向 原创 2012年12月15日 11:51:39 19312 转发和重定向的区别 一.使用方法 转发:request.getRequestDispatcher(" ...
- java web Servlet学习笔记-2 请求重定向和请求转发的区别
请求转发与请求重定向的区别 请求重定向和转发 1.请求重定向:浏览器的行为(通过响应对象HttpServletResponse来执行) 特点:可以重新定向访问其他Web应用下的资源 浏览器发出了2次请 ...
随机推荐
- 【转】【技术博客】Spark性能优化指南——高级篇
http://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651745207&idx=1&sn=3d70d59cede236e ...
- Laravel系列2入门使用
最好的教程是官方文档! homestead安装好,就可以使用了. 安装Laravel composer create-project --prefer-dist laravel/laravel blo ...
- hdu 5459 Jesus Is Here (费波纳茨递推)
Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 65535/102400 K (Java/Others)Total Submission ...
- Dockerfile完成Hadoop2.6的伪分布式搭建
在 <Docker中搭建Hadoop-2.6单机伪分布式集群>中在容器中操作来搭建伪分布式的Hadoop集群,这一节中将主要通过Dokcerfile 来完成这项工作. 1 获取一个简单的D ...
- iOS UITextField的returnkey点击事件
关于隐藏软键盘,网上的办法良莠不齐,大多是通过实现UITextFieldDelegate来隐藏软键盘,该方法代码较多,且在文本框很多的时不好处理.我经过搜索与摸索,找到了最佳的处理办法.(引用的) ...
- dotnet core 初试两个小问题解决
1. Setup has detected that visual studio 2015 update 3 may not be completely installed 在安装 DotNetCor ...
- ural 1251. Cemetery Manager
1251. Cemetery Manager Time limit: 1.0 secondMemory limit: 64 MB There is a tradition at the USU cha ...
- BZOJ3564 : [SHOI2014]信号增幅仪
先把所有点绕原点逆时针旋转(360-a)度,再把所有点横坐标除以放大倍数p,最后用随机增量法求最小圆覆盖即可. 时间复杂度期望$O(n)$ #include<cstdio> #includ ...
- Ipad 日程管理APP使用心得
1. Fetchnotes 界面简单干净,操作简单: 可以使用标签hashtags #来进行管理: 比较好的用户使用指南Tutorial: 可以与好友分享,只需要@somebody即可 2. Lume ...
- 基于单决策树的AdaBoost
①起源:Boosting算法 Boosting算法的目的是每次基于全部数据集,通过使用同一种分类器不同的抽取参数方法(如决策树,每次都可以抽取不同的特征维度来剖分数据集) 训练一些不同弱分类器(单次分 ...