Forward
 
     转向(Forward)是通过RequestDispatcher对象的forward(HTTPServletRequest req, HttpSerletResponse res) 方法来实现的。RequestDispatcher可以通过HTTPServletRequest的getRequestDispatcher()方法获得。
 
RequestDispatcher dispatcher = request.getRequestDispatcher("/servlet/LifeCycleServlet");
dispatcher.forward(request, response);
 
     Forward 是MVC框架中常用的技术。Forward可以跳转到本应用的另一个Servlet、JSP页面,也可以跳转到另一个文件,甚至WEB-INF文件夹下的文件。框架中常使用一个Servlet来集中处理请求然后跳转到响应的Servlet,或者在Servlet中处理业务逻辑,然后跳转到JSP页面中显示处理结果。
 
     当使用forward形式跳转Servlet时,地址栏会显示跳转前的Servlet访问地址。因为该跳转实在服务器端实现的,客户端浏览器并不知道该跳转动作,也就是说forward跳转对客户端浏览器是透明的。
 
     forward是最常用的方式,在struts、webwork等MVC框架中,都是用Servlet来处理用户请求,把结果通过request.setAttribute()放到request中,然后forward到JSP中显示。
 
当执行forward动作的时候不能有任何输出到达客户端,否则会抛出IllgalStateException。
 
 
 
 
 Redirect
 
     重定向是利用服务器返回的状态码来实现的。客户端浏览器请求服务器的时候,服务器端通过HTTPServletResponse的setStatus(int status)方法设置状态码。如果服务器返回301或者302,则浏览器会到新的网址重新请求该资源。
 
     HttpServletResponse把setStatus与setHeader方法封装成另一个方法sendRedirect(String location),只需要调用sedRedirection就能实现重定向。
 
     当使用Redirect跳转Servlet时,跳转实在客户端实现的,也就是说客户端浏览器实际上请求了2次服务器,第1次获取了重定向状态码与重定向的网址,第2次访问真实地址。
 
 
Refresh
 
     自动刷新不仅可以实现一段时间后自动跳转到另一个页面,还可以实现一段时间后自动刷新本页面。Servlet通过HttpServletResponse对象设置Header属性实现自动刷新效果。
 
     自动刷新与重定向原理类似,如果把自动刷新的时间设为0,把url设为另外一个网址,效果就是重定向。
 
 
 

Servlet间的跳转的更多相关文章

  1. Servlet——提交表单信息,Servlet之间的跳转

    HTML表单标签:<form></form> 属性: actoion:  提交到的地址,默认为当前页面 method:  表单提交方式 有get和post两种方式,默认为get ...

  2. Java开发之Servlet之间的跳转

    一.转向(Forward) 1.要点说明 转向是通过RequestDispatcher对象的forward()方法来实现的.RequestDispatcher可以通过HttpServletReques ...

  3. iOS应用程序开发之应用间的跳转(用着微信等第三方分享登陆)

    简介 配置和实现 判断应用启动方式 一.简介 最实际项目开发中,我们难免会遇到需要从一个应用跳转到另一个应用的情况.比如微信分享,实际就是一种应用间的跳转.但是有时候我们需要实现自己的两个应用间的跳转 ...

  4. 【转】iOS开发--一步步教你彻底学会『iOS应用间相互跳转』

    1. 应用间相互跳转简介 在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景.这就需要我们掌握iOS应用程序之间的相互跳转知识. 下面来看看我们在开发过程中遇到的应用 ...

  5. android学习日记05--Activity间的跳转Intent实现

    Activity间的跳转 Android中的Activity就是Android应用与用户的接口,所以了解Activity间的跳转还是必要的.在 Android 中,不同的 Activity 实例可能运 ...

  6. Jsp与servlet之间页面跳转及参数传递实例(转)

    原网址:http://blog.csdn.net/ssy_shandong/article/details/9328985 11. jsp与servlet之间页面跳转及参数传递实例 分类: Java ...

  7. ctags-vim代码间快速跳转

    ctags-vim代码间快速跳转 1.说明 在Linux环境下使用vim进行驱动程序编写和维护的时候,会经常需要调用Linux内核的函数或宏定义,在驱动程序和kernel代码之间频繁跳转是件很繁琐的事 ...

  8. servlet篇 之 跳转问题

    servlet中的跳转: 跳转本质上是对文件传输操作 进行 封装. 例如:客户端访问一个servlet,在servlet中需要把已经写好的页面hello.html返回给客户端浏览器,需要用io来实现这 ...

  9. iOS - 白名单应用间相互跳转

    1. 应用间相互跳转简介 在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景.这就需要我们掌握iOS应用程序之间的相互跳转知识. 下面来看看我们在开发过程中遇到的应用 ...

随机推荐

  1. 在ros中使用rplidar Laser发布scan数据--25

    原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 由于市面上买的激光雷达价格太贵了.所以在学习时会造成很大的经济压力.但是最近好多做机器人核心组件的公司都 ...

  2. 关于xmlhttprequest的readystate属性的五个状态

    http://www.cnblogs.com/jerry01/archive/2009/09/03/1559624.html 昨天做了一个利用 ajax实现页面无刷新的从服务器端获得时间的例子,当时对 ...

  3. Maven项目中找不到maven dependencies library

    一般是,workspace中的.classpath文件中有内容丢失造成 在 <classpathentry kind="con" path="org.eclipse ...

  4. 作业:用HTML制作邮箱登陆界面

    <body leftmargin="200" rightmargin="200"> <font size="45" > ...

  5. 小巧灵便高效的spx6.0截图三件套(带注册码)

    非常好用截图工具,推荐截图必备,这是三件套完整版本. SPX Instant Screen Capture 是一小巧的屏幕抓图工具,可以抓取选定的区域或整个窗口,可以将抓取的图片发送到剪贴板或 ema ...

  6. 论文笔记之:Multiple Feature Fusion via Weighted Entropy for Visual Tracking

    Multiple Feature Fusion via Weighted Entropy for Visual Tracking ICCV 2015 本文主要考虑的是一个多特征融合的问题.如何有效的进 ...

  7. 动态加载dll,并创建类对象放入到list中。

    private List<IVisualControlsPlug> visualPlugs = new List<IVisualControlsPlug>(); public ...

  8. Mysql源码目录结构

    Programs for handling SQL commands. The "core" of MySQL. These are the .c and .cc files in ...

  9. 给OCR文字识别软件添加图像的方法

    ABBYY FineReader 12是一款OCR图片文字识别软件,而且强大的它现在还可使用快速扫描窗口中的快速打开.扫描并保存为图像或任务自动化任务,在没有进行预处理和OCR的ABBYY FineR ...

  10. unity, 在OnDisable里一定要将Cloth禁掉

    如果在OnDisable中不将Cloth组件禁掉,则当物体再次激活时布料将变形.