`
a137268431
  • 浏览: 157758 次
文章分类
社区版块
存档分类
最新评论

JSP页面跳转的几种实现方法

 
阅读更多

初衷:将登录用户的用户名 密码form提交到页面2(jsp就是servlet 提交到servlet的就不说了) 由页面2判断用户名密码的正确性继而决定跳转的方向 下面是几种实现方法

使用href超链接标记 客户端跳转

使用javascript 客户端跳转

提交表单 客户端跳转

使用response对象客户端跳转

使用forward总做标记 服务器跳转

使用requestDispatcher类 服务器跳转

页面1

  1. <formname="form1"method="POST"action="login02.jsp">
  2. <inputtype="text"name="name">
  3. <inputtype="text"name="psd">
  4. <inputtype="submit"value="提交">
  5. <inputtype="reset"value="重置">


页面2

  1. <%response.setCharacterEncoding("utf-8");
  2. response.setHeader("iso-8859-1","utf-8");
  3. request.setCharacterEncoding("utf-8");
  4. Stringname=request.getParameter("name");
  5. Stringpsd=request.getParameter("psd");
  6. if(name.equals("admin")&&psd.equals("123")){%>
  7. <scripttype="text/javascript">
  8. window.location="login03.jsp";
  9. </script>
  10. <%}
  11. else{%>
  12. <scripttype="text/javascript">
  13. window.location="http://www.baidu.com";
  14. alert(window.location.href);
  15. </script>
  16. <%}%>


页面1提交到页面2之后 java代码负责判断 然后通过js代码进行跳转

页面3

  1. <%response.setCharacterEncoding("utf-8");
  2. response.setHeader("iso-8859-1","utf-8");
  3. request.setCharacterEncoding("utf-8");
  4. Stringname=request.getParameter("name");
  5. Stringpsd=request.getParameter("psd");
  6. if(name.equals("admin")&&psd.equals("123")){
  7. response.sendRedirect("http://www.baidu.com");//路径001
  8. return;
  9. }
  10. else{
  11. response.sendRedirect("login01.jsp");
  12. return;
  13. }
  14. %>


页面1提交到页面3之后通过 response对象的sendredirect()方法 重定向

在上段代码的路径001中说明一点 sendredirect()中的URL是可以带参数 eg sendredirect("url?name="+name);

重定向 顺便传递参数 sendredirect注意的第二点:一般此句之后紧跟一句 return;(原因:通过sendredirect方法做重定向是在页面处理完之后才会有实际动作的,譬如上个例子里 页面的用户名 密码输入完毕 点击提交 然后后一个页面判断 判断完即处理完 页面3是不需要输出的 也是输不出来东西的 没有return再有别的输出是没有意义的 而且有的时候芳儿因为无意义的输出而报错)

使用 response对象实现页面的跳转有2中方法 上面是一种 下面这种是是利用 setHeader()方法

还是页面1提交 把页面3的代码修改一下就可以了:

  1. <%response.setCharacterEncoding("utf-8");
  2. response.setHeader("iso-8859-1","utf-8");
  3. request.setCharacterEncoding("utf-8");
  4. Stringname=request.getParameter("name");
  5. Stringpsd=request.getParameter("psd");
  6. if(name.equals("admin")&&psd.equals("123")){
  7. //response.sendRedirect("http://www.baidu.com");
  8. //return;
  9. response.setHeader("Refresh","1;url=http://www.baidu.com");
  10. }
  11. else{
  12. //response.sendRedirect("login01.jsp");
  13. //return;
  14. response.setHeader("Refresh","1;url=login01.jsp");
  15. }
  16. %>


response.setHeader("Refresh","等待的秒数;url=绝对路径或者相对路径"); 路径问题sendredirect也一样 绝对路径相对路径都没意见 上例都是等待1秒之后跳转

response重定向和forward跳转的区别

response:1执行完所有的代码再跳转到目标页 2跳转到目标页后浏览器的URL会改变 3在浏览器中重定向 4可以跳转到其他服务器上的页面 eg:百度。

forward跳转:1直接跳转到目标网页 其后的代码不再执行 2跳转到目标页后URL不变 虽然URL显示的是index1.jsp 但其实你看的index2。jsp的内容 3在服务器端重定向 4无法跳转到其他服务器上的页面

RequestDispatcher类

基本方法

RequestDispatcher rd = request.getRequestDispatcher("目标页面");

rd.forward(response,request);

使用 RequestDispatcher跳转与forward动作标记实现页面跳转的基本原理是一样的。

RequestDispatcher与response重定向跳转的区别:1执行完所有代码再跳转到目标页 2跳转到目标页后URL不变 虽然URL显示的是index1.jsp 但其实你看的index2.jsp的内容 3在服务器端重定向 4无法跳转到其他服务器上的页面

RequestDispatcher与forward动作标记跳转的区别:forward 1 forward动作标记之后的代码不再执行 立即跳转到目标页面 2指定目标页面时既可以用绝对路径也可以用相对路径

RequestDispatcher跳转 1执行完所有代码 包括RequestDispatcher之后的所有代码再跳转到目标页面 2指定目标页面时只能用绝对路径

Servlet可通过两种方式得到RequestDispatcher对象:调用ServletContext的getRequestDispatcher(String path)方法,path参数指定目标组件的路径。调用ServletRequest的getRequestDispatcher(String path)方法以上两种方式的区别在于,前者的path参数必须是绝对路径,而后者的path参数可以是绝对路径,也可以是相对路径。所谓绝对路径,就是指以符号"/"开头的路径,"/"表示当前web应用的URL入口。

分享到:
评论

相关推荐

    JSP页面跳转方法总结

    ### JSP页面跳转方法详解 #### 一、概述 JSP(Java Server Pages)是一种动态网页技术标准,被广泛应用于构建动态网站和Web应用程序。在JSP开发中,页面跳转是一项非常基础且重要的功能,它使得用户能够在不同的...

    jsp页面跳转的五中方法

    ### JSP页面跳转的五种方法详解 #### 一、引言 在Web开发中,页面间的跳转是一项基本且重要的功能。JSP作为Java Web开发中的一个重要组成部分,提供了多种方式来实现页面间的跳转。本文将详细介绍五种常用的JSP页面...

    几种JSP页面传值方式.txt

    ### 几种JSP页面传值方式详解 在Java Web开发中,JSP(Java Server Pages)是一种常用的技术,用于创建动态网页。JSP页面之间的数据传递是实现前后端交互的关键环节之一。本文将详细介绍几种常见的JSP页面传值方式...

    jsp中几个页面之间跳转

    本文将深入探讨这两种路径的区别以及它们在JSP页面跳转中的应用。 一、绝对路径与相对路径 1. 绝对路径:绝对路径是从根目录开始,完整地指明文件或资源所在位置的路径。例如,如果一个HTML或JSP文件位于服务器的`...

    JSP几种页面间传递参数实现的方法

    JSP页面间传递参数是Web开发中的一项重要技术,以下是几种常见的JSP页面间传递参数实现的方法: 1. 直接在 URL 请求后添加参数 可以在 URL 请求后添加参数,如:&lt;a href="thexuan.jsp?action=transparams&detail=...

    js实现页面跳转的几种方式

    ### JavaScript 实现页面跳转的几种方式 在Web开发中,页面跳转是十分常见的操作之一。通过JavaScript,我们可以非常灵活地控制页面的导航逻辑,提高用户体验并优化应用性能。本文将详细介绍几种常用的JavaScript...

    jsp_html_web_实现页面跳转

    3. **页面跳转**:利用 `RequestDispatcher` 接口提供的 `forward` 方法可以实现页面跳转。通过 `PageContext` 可以轻松获得 `RequestDispatcher` 的实例。 #### 示例代码分析 给定的示例代码展示了如何使用 `...

    jsp返回登陆前的页面的几种实现

    ### jsp返回登录前的页面的几种实现 在开发基于Web的应用程序时,经常会遇到用户登录前后页面跳转的问题。为了提升用户体验,一种常见的做法是在用户登录后返回到登录之前的页面。本文将详细介绍几种实现这一功能的...

    小结jsp页面跳转问题

    通过本文档,我们将深入探讨几种常用的JSP页面跳转方式:`response.sendRedirect()`、`response.setHeader()`以及`&lt;jsp:forward&gt;`指令,并通过具体的示例代码来解析这些方法的工作原理及注意事项。 #### 一、`...

    JSP页面跳转大全.docx

    在选择跳转方法时,通常考虑以下几个因素:是否需要保留请求上下文、是否需要浏览器地址栏显示新URL、是否涉及跨域以及页面跳转的时机。在性能方面,`forward()` 通常优于 `sendRedirect()`,因为后者涉及到两次HTTP...

    JSP页面跳转方法大全

    先来介绍一下在服务端JSP脚本中跳转页面的几种方法: 1. response.sendRedirct(“跳转到页面”); 该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容. request无法传值过去...

    jsp实现分页和页面跳转功能博文的源代码

    本文将深入讲解如何使用JSP实现分页和页面跳转功能,并基于提供的源代码进行解析。 分页是网页展示大量数据时常用的一种策略,它可以提高用户体验,避免一次性加载过多信息导致页面响应变慢。JSP分页通常涉及以下几...

    jsp跳转的五种方式

    在JSP 和 Servlet 的环境中,`RequestDispatcher.forward()` 方法是一种非常常用的页面跳转方式。这种方式实现了容器内部的控制权转移,也就是说,浏览器的地址栏不会显示跳转后的地址。 **代码示例**: ```java ...

    纯jsp登录界面自动跳转

    JSP页面在服务器上被编译为Servlet,然后由Servlet处理请求并返回响应。 在“纯jsp登录界面自动跳转”这个项目中,我们将主要关注以下几个关键知识点: 1. **JSP页面结构**:登录界面通常包含HTML表单元素,如`...

    js页面跳转 js页面跳转代码汇总

    下面将详细介绍几种常见的JS页面跳转技术及其应用场景。 ### 1. 使用`window.location.href` 这是最常用的一种页面跳转方法,通过改变`window.location.href`属性的值来实现页面跳转。例如: ```javascript ...

    JS页面跳转和js对iframe进行页面跳转、刷新

    以上介绍了几种常见的JS页面跳转和对iframe进行页面跳转与刷新的方法。开发者可以根据实际需求选择合适的方式,以达到预期的页面导航效果。需要注意的是,在进行页面跳转和刷新操作时,应考虑到用户体验和浏览器的...

    servlet跳转的几种情况

    servlet 跳转的几种情况 Servlet 跳转是指 Servlet 程序在执行过程中将控制权转移到另一个资源的过程,例如跳转到另一个 Servlet、JSP 或 HTML 页面。Servlet 跳转可以分为两大类:Redirect 跳转和 Forward 跳转。 ...

    servlet跳转页面的几种方法

    Servlet是Java Web开发中用于处理...总的来说,Servlet和JSP中的页面跳转是Web开发中的基础操作,理解和熟练掌握这些方法对于编写高效的Web应用程序至关重要。合理选择重定向和转发,可以优化用户体验并提高系统性能。

    jsp下页面跳转的几种方法小结

    【jsp下页面跳转的几种方法】 在Java服务器页面(JSP)开发中,页面跳转是常见的操作,用于在用户交互或业务处理后引导用户访问新的页面。主要有三种方式来实现这一目标:RequestDispatcher.forward()、...

    jsp实现分页和页面跳转功能的源码与数据库

    在JSP中,有以下两种方式实现页面跳转: 1. **请求转发**(Request Forward):使用`RequestDispatcher`的`forward()`方法,可以在服务器端将一个请求转发到另一个资源,用户浏览器地址栏不会发生变化。 2. **...

Global site tag (gtag.js) - Google Analytics