`

JSP页面跳转大全

 
阅读更多

(1). forward()方法
    使用到javax.servlet.RequestDispatcher类
    RequestDispatcher rd = getServletContext().getRequestDispatcher("url");
    rd.forward(requestVar,requestVar); //传递servlet的入口参数
    /*forward函数已经把原页面的request,response对象传入新的页面,因此这新旧页面拥有相同的request,response对象。request.getparameter("var")就可以得到相应的值.*/
    /*forward()是直接在server做的,浏览器并不知道,也不和浏览器打交道,浏览器的地址不变化。*/

    即:
    getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar);

    服务器端Servlet进行转向的4种方法:
    1.ServletContext的getRequestDispatcher()    
    2.ServletContext的getNamedDispatcher()   
    3.ServletRequest的getRequestDispatcher()   
    4.ServletResponse的sendredirect()进行转向。

    forward方法,因为这些这样比较高效。只有在forward方法不能使用时,再使用servletresponse的sendredirect()方法。

(2).response.sendRedirect(url);  
    其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定的页面,所以用sendRedirect时,浏览器的地址栏上可以看到地址的变化。新页面不能处理旧页面的pagecontext(request,response,...)对象.
    在response.sendRedirect之后,应该紧跟一句return;

(3).HTML语言的自动跳转
    <html>
    <head>
        <meta http-equiv="refresh" content="0;url="http://www.baidu.com">
        0是等待时间,如果设置为5表示等待5s后开始跳转
    </head>
    …………

(4).JavaScript跳转
A:    <script languate="javascript">
                window.location.replace("http://www.baidu.com");
        </script>

B:    也可以直接给window.location属性赋值,window.location="url",与A不同的是有历史记录

C:    <script languate="javascript">
            document.location.href("http://www.google.com");
        </script>
        对于document,location不是不是对象,document.location=document.url

D:    history对象的forward(),back(),go()方法.go()方法需要一个整形入口参数
        <a href="javascript:history.go(-1)">返回上一步</a>
        等价于<a href="javascript:history.back()">返回上一步</a>

E:    document.formName.action="test.jsp";
       document.formName.submit();   //使用JS提交的方式

第一种:
<script language="javascript" type="text/javascript">
window.location.href="login.jsp?backurl="+window.location.href;
</script>

第二种:
<script language="javascript">
alert("返回");
window.history.back(-1);
</script>

第三种:
<script language="javascript">
window.navigate("top.jsp");
</script>

第四种:
<script language="JavaScript">
self.location='top.htm';
</script>

第五种:
<script language="javascript">
alert("非法访问!");
top.location='xx.jsp';
</script>




(5).<jsp:forward page="nextpage.jsp"/>
    如:
       <jsp:forward page="/servlet/login" />
           <jsp:forward page="/servlet/login">
           <jsp:param name="username" value="jsmith" />
       </jsp:forward>
    <jsp:forward>标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象.<jsp:forward>标签以下的代码,将不能执行.
可使用了<jsp:param>标签的话向目标文件传送参数和值,目标文件必须是一个动态的文件,能够处理参数.
如果你使用了非缓冲输出的话,那么使用<jsp:forward>时就要小心。如果在你使用<jsp:forward>之前,jsp文件已经有了数据,那么文件执行就会出错.
  


JSP页面跳转方法荟萃
     1. response.sendRedirct("跳转到页面");
      该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容. request无法传值过去.
      执行完该页所有代码,然后再跳转到页面. 跳转地址栏改变.
      可以跳转到其他服务器上的页面response.sendRedirct(http://www.sun.com).
      2.response.setHeader(); 该方法和response.sendRedirect一样,通过修改HTTP协议的HEADER部分.
      <% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String
      newLocn="/index.html"; response.setHeader("Location",newLocn); % >
      3.<jsp:forward page="跳转页面"/>
      该方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户端之前,原来的不发送,改为发送该页面的内容,如果
      在<jsp:forward>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意.
      request可以传值过去. 直接跳转到页面,后面的代码不执行. 跳转后地址栏不变. 无法跳转到其他服务器上的页面. 图片不是绝对路径无法显示.
      4.request.getRequestDispatcher("跳转页面"); request可以传值过去. 执行完该页所有代码,然后再跳转到页面.
      跳转地址栏不变. 不可以跳转到其他服务器上的页面 <% RequestDispatcher rd =
      request.getRequestDispatcher("to.jsp"); rd.forward(request,response); %>
      有以下3种方法可以做到输出重定向: RESPONSE.SETREDERECT("URL")
      该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容.
      response.sendRedirect("http://localhost:7001/index.html");
下面的方法也能改变HTTP
      HEADER属性,它的原理和 1 是一样的
. <%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String  newLocn="/index.html"; response.setHeader("Location",newLocn); % >
      采用<JSP:FORWORD>
      该方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户端之前,原来的不发送,改为发送该页面的内容,如果在<JSP:
      FORWORD>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意.

  自己现在知道的在一个jsp页面中嵌套另外一个jsp页面,有三种方法: 1、通过<%@ include
      file="header.jsp"%>这种方法只能实现静态页面的加载,最常用是在一个项目中实现通用页头header.jsp和footer.jsp的加载。
      2、通过<%@ include page="tt.jsp"%>这种做法可以实现动态页面的加载,但其需要向页面传递参数; 3、通过<iframe
      src="jsp的路径">来向页面加载另一个jsp页面,是一个内联框架。
     
       用forward传参数的, 要这样写: <%String str="你已经登陆!"; %>
<jsp:forward page="index.jsp> <jsp:param name="name" value= <%=str%>/>
      </jsp:forward>

分享到:
评论

相关推荐

    JSP页面跳转大全.docx

    在JavaServer Pages (JSP) 中,页面跳转是一个常见的操作,用于实现用户请求的重定向或页面间的逻辑流程控制。以下是对不同跳转方法的详细说明: 1. **forward() 方法** `forward()` 方法属于 `javax.servlet....

    JSP页面跳转方法总结

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

    JSP 登录跳转页面

    JSP 登录跳转页面 在本节中,我们将详细介绍 JSP 登录跳转页面的实现细节,包括首页登录页面、判断 check 页面和最后的成功登录显示页面。 首页登录页面 首页登录页面是用户登录系统的入口点。该页面是使用 JSP ...

    页面自定跳转 超链接 跳转 jsp页面跳转

    根据给定的文件信息,我们可以深入探讨页面自动跳转、超链接跳转以及JSP页面跳转的相关知识点,尤其关注于HTML、JavaScript以及浏览器兼容性处理。 ### 页面自定义跳转与超链接跳转 页面自定义跳转指的是在网页...

    jsp页面跳转

    ### JSP页面跳转方法详解 #### 一、RequestDispatcher.forward() **定义与用途:** `RequestDispatcher.forward()` 是一种服务器端的跳转方法,它主要用于在同一个Web应用内部进行页面之间的跳转。该方法的主要...

    jsp实现页面跳转的方法

    `jsp:include`动作主要用于将一个JSP页面嵌入到另一个JSP页面中。当`jsp:include`被执行时,它会读取目标页面的内容,并将其结果插入到当前页面中指定的位置。这一过程是在服务器端完成的,也就是说,目标页面的内容...

    五种JSP页面跳转方法详解

    ### 五种JSP页面跳转方法详解 在Web开发中,页面间的跳转是非常常见的需求之一。JSP(JavaServer Pages)作为一种广泛使用的服务器端技术,在实现页面跳转方面提供了多种方式。本文将详细介绍五种JSP页面跳转的方法...

    jsp页面跳转的五中方法

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

    SpringBoot实现jsp页面跳转简单实例

    本实例主要聚焦于使用JSP进行页面跳转,这在传统的Java Web开发中非常常见。Spring Boot虽然默认不推荐使用JSP,但通过配置,我们依然可以实现对JSP的支持。 首先,我们需要理解Spring Boot的核心——Spring MVC,...

    Springboot+MyBatis+mysql+jsp页面跳转详细示例.docx

    在本示例中,我们探讨的是如何使用SpringBoot框架整合MyBatis,连接MySQL数据库,并通过JSP页面展示数据及实现页面跳转。首先,我们需要理解SpringBoot的核心特性,它是一个简化Spring应用初始搭建以及开发过程的...

    JSP页面跳转的五种方法

    ### JSP页面跳转的五种方法 在Java Web开发中,页面间的跳转是非常常见的需求之一。合理的页面跳转不仅可以提升用户体验,还能优化应用程序的结构。本文将详细介绍JSP页面跳转的五种方法:`RequestDispatcher....

    jsp页面的五种跳转方式

    对于使用 Java Server Pages (JSP) 的开发者来说,掌握不同类型的页面跳转方法非常重要,这不仅有助于提高开发效率,还能增强应用程序的性能与用户体验。本文将详细介绍 JSP 中五种常用的页面跳转方式及其应用场景。...

    java五种jsp页面跳转方法详解

    java五种jsp页面跳转方法详解 2009-08-21 09:06 1. RequestDispatcher.forward()  是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到 另外一个Servlet,JSP 或普通HTML...

    JSP页面跳转方法汇总

    ### JSP页面跳转方法详解 #### 一、`response.sendRedirect` `response.sendRedirect`方法是JSP中最常见的页面跳转方式之一,它的工作原理是通过修改HTTP响应头中的`Location`字段来告知浏览器重新发送一个请求到...

    JSP_页面跳转,JSP_页面跳转

    在探讨JSP页面跳转这一主题时,我们深入解析其概念、实现方式以及在实际开发中的应用,以此来全面理解JSP技术中的页面跳转机制。 ### JSP页面跳转的概念 页面跳转,通常指的是从一个网页转移到另一个网页的过程。...

    jsp_html_web_实现页面跳转

    #### JSP页面跳转方式 1. **使用`&lt;jsp:forward&gt;`标签进行转发**: - 这种方式主要用于服务器内部的页面跳转,不涉及新的HTTP请求。 - 示例代码: ```jsp &lt;jsp:forward page="targetPage.jsp" /&gt; ``` 2. **使用...

    小结jsp页面跳转问题

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

    JSP页面的五种跳转方法

    JSP页面跳转是Web开发中的重要概念,用于在用户界面上实现页面间的导航。这里主要介绍五种常见的JSP页面跳转方法,包括RequestDispatcher.forward()、response.sendRedirect()、&lt;jsp:forward page="" / &gt;、Meta标签...

    jsp 实现图片跳转

    4. 至于压缩包中的文件`1.bmp`、`3.bmp`和`2.bmp`,它们可能是用于JSP页面展示的图片资源。在实际项目中,这些图片通常会被放在Web应用的资源目录(如`/resources/images/`)下,然后在JSP中通过相对路径引用。 5. ...

    JSP页面的跳转方式汇总

    本文将详细介绍七种常用的JSP页面跳转方法,并对其进行深入分析。 #### 1. 使用超级链接跳转 通过在HTML中使用`&lt;a&gt;`标签创建超链接可以实现页面跳转。例如: ```html 点击这里 ``` 这种方式简单易用,但不能传递...

Global site tag (gtag.js) - Google Analytics