`
ghsea
  • 浏览: 111863 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JSP/Servlet的重定向技术

    博客分类:
  • java
阅读更多
        JSP/Servlet的重定向技术综述,jsp开发,jsp教程,JSP教程 有关JSP/Servlet的重定向技术综述如下1.RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动传递. 但forward()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同时forward()无法在后面带参数传递,比 如servlet?name=frank,这样不行,可以程序内通过response.setAttribute("name",name)来传至下一个 页面. 重定向后浏览器地址栏URL不变.例:在servlet中进行重定向public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ response.setContentType("text/html; charset=gb2312"); ServletContext sc = getServletContext(); RequestDispatcher rd = null; rd = sc.getRequestDispatcher("/index.jsp"); //定向的页面 rd.forward(request, response);}通常在servlet中使用,不在jsp中使用。2.response.sendRedirect() 是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面,同时它可以重定向至不同 的主机上,sendRedirect()可以重定向有frame.的jsp文件. 重定向后在浏览器地址栏上会出现重定向页面的URL例:在servlet中重定向public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ response.setContentType("text/html; charset=gb2312"); response.sendRedirect("/index.jsp");}由于response是jsp页面中的隐含对象,故在jsp页面中可以用 response.sendRedirect()直接实现重定位。注意:(1).使用response.sendRedirect时,前面不能有HTML 输出。这并不是绝对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。事实上现在的server都有cache机制,一般在8K(我是说 JSP SERVER),这就意味着,除非你关闭了cache,或者你使用了out.flush()强制刷新,那么在使用sendRedirect之前, 有少量的HTML输出也是允许的。(2).response.sendRedirect之后,应该紧跟一句return;我们已经知道 response.sendRedirect是通过浏览器来做转向的,所以只有在页面处理完成后,才会有实际的动作。既然你已经要做转向了,那么后的输出 还有什么意义呢?而且有可能会因为后面的输出导致转向失败。比较:(1).Request Dispatcher.forward()是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;(2). response.sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转 后的链接地址。前者更加高效,在前者可以满足需要时,尽量使用RequestDispatcher.forward()方法. 注:在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。 3.<jsp:forward page=""> 它的底层部分是由RequestDispatcher来实现的,因此它带有RequestDispatcher.forward()方法的印记。如果在 <jsp:forward>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意。 另外要注意:它不能改变浏览器地址,刷新的话会导致重复提交4.修改HTTP header的Location属性来重定向 通过设置直接修改地址栏来实现页面的重定向。jsp文件代码如下:<%response.setStatus (HttpServletResponse.SC_MOVED_PERMANENTLY);String newLocn = "/newpath/jsa.jsp";response.setHeader("Location",newLocn);%>5.JSP中实现在某页面 停留若干秒后,自动重定向到另一页面 在html文件中,下面的代码: 它的含义:在5分钟之后正在浏览的页面将会自动变为target.html这一页。代码中300为刷新的延迟时间,以秒为单位。targer.html为 你想转向的目标页,若为本页则为自动刷新本页。 由上可知,可以通过setHeader来实现某页面停留若干秒后,自动重定向到另一页面。 关键代码: String content=stayTime+";URL="+URL; response.setHeader("REFRESH",content);</jsp:forward></jsp:forward>
分享到:
评论

相关推荐

    05使用JSP/Servlet技术开发新闻发布系统所有作业zip

    【标题】"05使用JSP/Servlet技术开发新闻发布系统所有作业zip"涉及的是使用Java服务器页面(JSP)和Servlet技术构建一个新闻发布系统的过程。这个压缩包可能包含了完成此项目的所有源代码、文档和资源文件,分布在...

    20130425A jsp/servlet

    【标题】"20130425A jsp/servlet" 涉及的知识点主要集中在Java服务器页面(JSP)和Servlet技术上,这是Java Web开发中的核心技术,用于构建动态web应用程序。 【描述】虽然描述简洁,但我们可以推断这可能是一个...

    jsp/servlet 资料教程

    【标题】"jsp/servlet 资料教程" 涉及的是Web开发中的核心组件——JavaServer Pages(JSP)和Servlet技术的学习资源。JSP是Java平台上的动态网页技术,而Servlet则是用于扩展服务器功能的Java小程序。这两者在企业级...

    JSP与Servlet复习

    ### JSP与Servlet复习知识点详解 #### 一、JSP与Servlet基础知识 **1. JSP简介** - **定义**: Java Server Pages (JSP) 是一种基于Java技术的服务器端脚本语言,用于创建动态网页。 - **特点**: JSP页面可以将...

    JSPServlet的重定向技术综述

    JSPServlet的重定向技术是Web开发中两个关键的方法,用于改变HTTP请求的处理路径,以便将用户导向不同的页面或资源。这两种技术分别是`RequestDispatcher.forward()`和`response.sendRedirect()`,它们各有特点和...

    JSPServlet新手学习资料

    **JSP和Servlet基础知识详解** ...理解并掌握这些基本概念对于JSPServlet新手来说至关重要,它们构成了开发Web应用的基础。在实际开发中,根据需求选择合适的方法,可以构建高效、功能丰富的Web应用。

    JSP与servlet之间的传值

    上述配置表明了 `JspServlet1` 和 `JspServlet2` 分别映射到 `/JspServlet` 和 `/admin/JspServlet` 这两个 URL。这意味着用户在浏览器中输入这些 URL 时,会触发对应的 Servlet 处理程序。 #### 五、总结 本文详细...

    servlet和jsp模板

    Servlet和JSP(JavaServer Pages)是Java Web开发中的核心技术,它们主要用于构建动态Web应用程序。Servlet是Java编程语言中的一个接口,它提供了一种方式来扩展Web服务器的功能,而JSP则是HTML代码和Java代码的混合...

    jsp加servlet的问题

    以下将详细阐述JSP与Servlet之间的交互机制、页面转发与重定向的区别,以及在web.xml配置文件中对Servlet的映射设置。 ### JSP与Servlet的交互 JSP(Java Server Pages)是一种基于Java的服务器端脚本技术,用于...

    jsp+servlet最简单的增删改查

    **JSP(JavaServer Pages)和Servlet是Java Web开发中的两个核心技术,用于构建动态Web应用程序。本教程将探讨如何利用JSP和Servlet实现最基础的增删改查(CRUD)操作,帮助初学者理解这两种技术的基本应用。** **...

    JSP-Servlet.rar_jsp_jsp综述_servlet_servlet jsp

    本文将深入探讨JSP与Servlet的重定向技术,并结合提供的资源来帮助初学者理解和掌握这一核心概念。 首先,JSP是一种视图技术,它允许开发者在HTML代码中嵌入Java代码,使得网页具有动态生成内容的能力。而Servlet是...

    xyyweb.rar_Jsp/Servlet_Java_

    【标题】"xyyweb.rar" 是一个包含 Jsp/Servlet 和 Java 技术实现的网络留言板项目的压缩包。这个项目基于 MVC(Model-View-Controller)设计模式,旨在利用这些技术来创建一个动态交互的在线留言系统。MVC模式是软件...

    LOGIN.rar_Jsp/Servlet_Java_

    【标题】"LOGIN.rar"是一个压缩包文件,其命名中包含"Jsp/Servlet_Java_",这表明其中的内容主要与Java服务器端技术,特别是JSP(JavaServer Pages)和Servlet有关,可能还涉及到Java编程。JSP和Servlet是开发Web...

    jsp与servlet核心技术

    3. **JSP与Servlet的交互**:介绍如何在JSP中调用Servlet,以及Servlet如何转发或重定向到JSP。 4. **会话管理**:利用session对象跟踪用户状态,以及处理会话过期和安全性问题。 5. **请求参数处理**:获取和处理...

    基于jsp&servlet开发的购物车项目

    在IT行业中,Web开发是一项核心技能,而基于JSP(JavaServer Pages)和Servlet的开发是构建动态网站的常见方式。本项目是一个基于这两项技术的购物车应用,旨在帮助初学者理解如何将它们结合起来实现实际功能。在这...

    jsp和servlet请求与响应

    本文详细介绍了JSP和Servlet中关于请求与响应的关键知识点,包括JSP内置对象的作用、请求与响应对象的使用方法、中文乱码问题及其解决办法、转发与重定向的区别以及Servlet的基本创建和配置流程。希望这些内容能够...

    jsp,servlet基础理论知识

    Servlet通常作为控制器,处理请求,更新模型,然后转发或重定向到JSP页面,由JSP负责渲染视图。 总结一下,JSP和Servlet是Java Web开发中的重要组件,它们共同协作,提供灵活、高效的方式创建动态网站。通过学习和...

    jsp+servlet项目

    【标题】"jsp+servlet项目"涉及的是Java服务器页面(JSP)与Servlet技术的结合应用,这是一种在Web开发中常见的技术组合。JSP和Servlet是Java EE平台上的两个核心组件,它们主要用于构建动态Web应用程序。 【JSP...

    shop.zip_Jsp/Servlet_Java_

    通过请求转发或重定向,Jsp和Servlet之间可以高效地传递数据和控制流程。 【Java】作为后端编程语言,为这个购物程序提供了强大的支持。Java的面向对象特性使得代码结构清晰,易于维护。同时,Java EE库提供了大量...

    9781590590201.zip_Jsp/Servlet_Java_

    【标题】"9781590590201.zip_Jsp/Servlet_Java_" 提供的资源集中于 JSP(Java Server Pages)和Servlet技术,这是Java编程在Web开发领域的核心部分。JSP是Java的一种动态网页技术,而Servlet则是Java服务器端程序,...

Global site tag (gtag.js) - Google Analytics