jsp中重定向网页有哪些方法,jsp页面重定向

本文目录一览:

JSP如何实现网页重定向

重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览仆饭得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用。转发和重定向的区别不要仅仅为了把变量传到下一个页面而使用session作用域,那会无故增大变量的作用域,转发也许可以帮助你解决这个问题。重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。正文开始:先是看上去不同,他们的调用分别如下:request.getRequestDispatcher(“apage.jsp”).forward(request response);//转发到apage.jspresponse.sendRedirect(“apage.jsp”);//重定向到apage.jsp在jsp页面中你也会看到通过下面的方式实现转发:提到转发和重定向就不得不提到request作用域。很多初学者都知道当我们提交一个表单时,就创建了一个新的请求。实际上,当我们点击一个链接时,也创建了一个新的请求。那么一个请求的作用于到底有多大呢?例如:在页面a.jsp中有一个链接这是指向b的一个链接,而且还带了一个参数。当我们点击这个连接的时候,就产生了一个请求,为了明确起见,我们把它叫做requestA-B。现在,在b.jsp页面中我们就可以从这个请求中获取信息了。在b.jsp中你可以写入out.println(request.getParameter(“id”))进行测试。下面更复杂一点,我们在b.jsp页面中增加下面的语句:request.setAttribute(“name””funcreal”);out.println(request.getAttriblute(“name”));//成功显示了name变量的值。现在在b.jsp中再增加一个链接:这是指向c的一个链接,而且还带了一个参数当我们点击这个连接的时候,将产生一个新的请求,这时requestA-B也就安息了,新的请求叫做requestB-C。同样的道理,在c.jsp中,我们可以访问到的变量只有age,因为id,name这两个变量都属于requestA-B,此时他已经不存在了。下面是源代码:a.jsp指向b.jsp,而且还带了一个参数id=1。requestA-B现在诞生了b.jsprequestA-B已经结束了。指向c.jsp,而且还带了一个参数age=23c.jspd.jsprequestB-C的魔爪已经伸到了d.jsp页面运行程序,你会发现c页面中的内容没有显示出来,因为forward是自动执行的,地址栏中虽然是c.jsp但实际上,但浏览器中显示的已经是d.jsp的内容了,而且看到了从b.jsp传过来的参数。你可以简单得这样理解:转发,就是延长了requestB-C的作用域,,这一句话实际上是把c.jsp和d.jsp粘到了一起,他们就像是在一个页面中。

怎样进行网页重定向

网页重定向就是将用户请求的网页转向其它位置。即当用户访问某个网页A时,网页A自动定向到网页B,这样用户实际看到的就是网页B了。

网页重定向在网站开发中经常使用,如:

1) 公司的域名进行了变更,为了用户也能通过原有域名进行访问,就得使用重定向。常见的购物网站,好多都进行了域名变更,但原域名仍保留,输入原域名后,自动定向到新的域名。

2) 在用户登录页面A中,输入完用户名密码后,点击登录时,表单提交到验证网页B,在服务端进行验证通过后,会自动定向到用户信息网页C。

下面介绍几种网页重定向的几种常用方法。

通过javascript脚本进行重定向

1

将a.html提交到b.html,b.html重定向到c.html。

(a.html相当于用户登录网页,b.html相当于验证用户信息网页,c.html相当于重定向的网页)

这里演示的仅是重定向的功能,因此代码尽可能简单。

a.html内容如下:

html

head

metahttp-equiv=”Content-Type” content=”text/html;charset=utf-8″ /

/head

body

form action=”b.html”method=”post”

input name = “submit”type=”submit” value=”提交”

/form

/body

/html

预览图如下:

2

b.html内容如下:

html

head

metahttp-equiv=”Content-Type” content=”text/html;charset=utf-8″ /

scripttype=”text/javascript”

function load()

{

window.location =”c.html”;

}

/script

/head

body onload = “load()”

验证通过,现在进入用户信息页面。

/body

/html

3

c.html内容如下:

html

head

metahttp-equiv=”Content-Type” content=”text/html;charset=utf-8″ /

/head

body

欢迎光临!

/body

/html

预览图如下:

4

重点在b.html,重定向的代码就在其中的javascript脚本load()函数中。在b网页加载完毕后,会调用此函数,此函数的重定向代码就一句:

window.location = “c.html”;

怎么样?是不是很简单。

如果想定向前其它网页,如百度首页,可以这么写:

window.location=””;

注意“http://”不能少。

END

通过php代码进行重定向

1

因为涉及到php代码的执行,因此需要先做一个网站,这里假定网站已做好。

a.html中的代码很简单,只需将上面的form中的action改为指定b.php而不是b.html即可。

b.php的代码如下:

?phpheader(“Location:c.html”); ?

要在本地网站进行演示,可以将a.html、b.php、c.html拷贝到你的网站目录下,在浏览器地址栏中输入: localhost/a.html进行操作。

END

通过asp.net代码进行重定向

1

代码和php类似,因要先做一个支持asp.net运行的网站,将a.html中的action指定b.aspx,b.aspx中的代码如下:

% Server.Transfer(“c.html”); %

END

通过jsp代码进行重定向

代码和php类似,因要先做一个支持jsp运行的网站,重定向代码如下:

jsp:forward page=”c.html”

JSP如何实现网页重定向?

jsp实现页面的重定向,使用的是response.sendRedirect(“a.jsp”);实现页面重定向到a.jsp这个页面。

分为两种写法:

1、如果实在jsp页面中写代码的话,将response.sendRedirect(“a.jsp”);放在%%里面就行了,即:%response.sendRedirect(“a.jsp”);%

2、如果是在java文件(如servlet)中写代码的话,只需写response.sendRedirect(“a.jsp”);就行了。

接下来简单说说页面的转发(forward)与重定向(sendRedirect)的区别:

重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。

转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。

原创文章,作者:FZPFT,如若转载,请注明出处:https://www.506064.com/n/324458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
FZPFTFZPFT
上一篇 2025-01-13 13:23
下一篇 2025-01-13 13:23

相关推荐

  • 解决.net 6.0运行闪退的方法

    如果你正在使用.net 6.0开发应用程序,可能会遇到程序闪退的情况。这篇文章将从多个方面为你解决这个问题。 一、代码问题 代码问题是导致.net 6.0程序闪退的主要原因之一。首…

    编程 2025-04-29
  • ArcGIS更改标注位置为中心的方法

    本篇文章将从多个方面详细阐述如何在ArcGIS中更改标注位置为中心。让我们一步步来看。 一、禁止标注智能调整 在ArcMap中设置标注智能调整可以自动将标注位置调整到最佳显示位置。…

    编程 2025-04-29
  • Python创建分配内存的方法

    在python中,我们常常需要创建并分配内存来存储数据。不同的类型和数据结构可能需要不同的方法来分配内存。本文将从多个方面介绍Python创建分配内存的方法,包括列表、元组、字典、…

    编程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一个类的构造函数,在创建对象时被调用。在本篇文章中,我们将从多个方面详细讨论init方法的作用,使用方法以及注意点。 一、定义init方法 在Pyth…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • 使用Vue实现前端AES加密并输出为十六进制的方法

    在前端开发中,数据传输的安全性问题十分重要,其中一种保护数据安全的方式是加密。本文将会介绍如何使用Vue框架实现前端AES加密并将加密结果输出为十六进制。 一、AES加密介绍 AE…

    编程 2025-04-29
  • 用不同的方法求素数

    素数是指只能被1和自身整除的正整数,如2、3、5、7、11、13等。素数在密码学、计算机科学、数学、物理等领域都有着广泛的应用。本文将介绍几种常见的求素数的方法,包括暴力枚举法、埃…

    编程 2025-04-29
  • Python学习笔记:去除字符串最后一个字符的方法

    本文将从多个方面详细阐述如何通过Python去除字符串最后一个字符,包括使用切片、pop()、删除、替换等方法来实现。 一、字符串切片 在Python中,可以通过字符串切片的方式来…

    编程 2025-04-29
  • 用法介绍Python集合update方法

    Python集合(set)update()方法是Python的一种集合操作方法,用于将多个集合合并为一个集合。本篇文章将从以下几个方面进行详细阐述: 一、参数的含义和用法 Pyth…

    编程 2025-04-29
  • Vb运行程序的三种方法

    VB是一种非常实用的编程工具,它可以被用于开发各种不同的应用程序,从简单的计算器到更复杂的商业软件。在VB中,有许多不同的方法可以运行程序,包括编译器、发布程序以及命令行。在本文中…

    编程 2025-04-29

发表回复

登录后才能评论