欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JSP页面的跳转方式汇总 博客分类: jsp jsp跳转 

程序员文章站 2024-03-14 22:22:35
...

1、使用超级链接跳转

示例:

<a href=http://www.baidu.com?s=”XX”></a>

这种跳转方式是基于浏览器的,跳转过程中可以传递参数。缺点是不能保持请求状态,而且浏览器在跳转页面的时候会显示后面的查询字符串的信息,安全性得不到保证。一般用于页面的静态跳转和一些需要传递不重要的数据的时候。

 

 

 

2、使用表单提交的方式跳转页面

示例:

<form action=”url” method=”post/get”>

      <input type=”submit” value=”submit”>

</form>

这种跳转方式也是基于浏览器的,我们可以设定跳转的目标页面,也可以设定跳转的方法,还可以设定跳转的过程中提交数据的方式。如果使用get方式提交数据的话,功能类似于超级链接。如果使用post方式提交数据的话,数据会被隐藏,数据的安全性也能够得到保证,所以在提交数据的时候我们一般都会去使用post方式提交。一般用于收集客户端用户的数据,特殊情况还能够完成页面的跳转。

 

 

 

3、修改HTTP headerLocation属性来重定向
通过设置直接修改地址栏来实现页面的重定向。
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
String newLocn = “XX.jsp”;
response.setHeader(“Location”,newLocn);
注:response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);response.setStatus(302);是等价的。

 

 

 

4、JSP中实现在某页面停留若干秒后,自动重定向到另一页面
html文件中,下面的代码:
meta http-equiv="refresh" content="300; url=index.jsp"
它的含义:在5分钟之后正在浏览的页面将会自动变为index.jsp这一页。代码中300为刷新的延迟时间,以秒为单位。Index.jsp为你想转向的目标页,若为本页则为自动刷新本页。
由上可知,可以通过setHeader来实现某页面停留若干秒后,自动重定向到另一页面。
关键代码:
String content=stayTime+";URL="+URL;
response.setHeader(“refresh",content);

 

 

 

5、jsp标签跳转:<jsp:forward page=“url” /

它的底层部分是由RequestDispatcher来实现的。注意:它不能改变浏览器地址,刷新的话会导致重复提交。

我们可以使用它在跳转的时候给目标页面传递参数,并且这样的提交方式能够保证请求的连续性,不管中间跳转了多少次页面,他们都属于同一次请求。注意:不管你跳转了多少次页面,地址栏都是不会改变的(由第一次请求的地址决定)

 

 

 

6、RequestDispatcher.forword()

我们通过RequestDispatcher接口的forword()方法,实现页面的重定向。

具体使用方式如下:

ServletContext sc = getServletContext();

RequestDispatcher rd = null;

rd = sc.getRequestDispatcher(“/index1.jsp”); //重定向的页面

rd.forward(request, response);

注意:这种跳转方式能够传递resquestresponse对象,通过这种方式跳转的页面不会更改页面的地址栏。一般在servlet中使用。

 

 

7、response.sendRedirect(“url”)

在用户的浏览器端工作,sendRedirect()可以带参数传递,它还可以重定向至不同的主机上。sendRedirect() 在重定向后地址栏会变成重定向之后的URL

response.sendRedirect("index.jsp?name=value");

在目标页面获得参数值

request. getParameter(“name”);

request.getParameterNames();

request.getParameterValues(“name”);

这种跳转方式在客户端和服务端都会经常用到,不足的是对于需要大量传值的跳转来说,使用这种跳转方式会显得很吃力。

 

相关标签: jsp 跳转