Java跳转页面的两种方法以及它们的区别

(1)使用response对象,为Jsp的内置对象

直接使用sendRedirect()重定向, 重定向后在浏览器地址栏上会出现重定向页面的URL.代码:

<%  
response.sendRedirect("http://www.baidu.com");
return;        
%>

说明: sendredirect()中的URL是可以带参数的,例如sendredirect("url?name="+name);我们可以在跳转的时候传入参数.

此外,一般response.sendRedirect()之后紧跟一句 return;我们已经知道response.sendRedirect是通过浏览器来做转向的,所以只有在页面处理完成后,才会有实际的动作。既然已经要做转向了,那么后的输出就已经没有意义了,而且有可能会因为后面的输出导致转向失败。

使用setHeader()方法,直接修改地址栏来实现页面的重定向

<%  
response.setHeader("Refresh","1;url=http://www.baidu.com");        
%>

标准格式: response.setHeader("Refresh","等待的秒数;url=绝对路径或者相对路径");上例是等待1秒之后跳转.

(2)使用requestDispatcher类

基本方法

RequestDispatcher  rd = request.getRequestDispatcher("想要跳转的地址");  
rd.forward(response,request);

Servlet可通过两种方式得到RequestDispatcher对象:

  • ServletContext的getRequestDispatcher()
  • ServletRequest的getRequestDispatcher()

调用ServletContext的getRequestDispatcher(String path)方法,path参数指定目标组件的路径。

调用ServletRequest的getRequestDispatcher(String path)方法与上一个方式的区别在于,前者的path参数必须是绝对路径,而后者的path参数可以是绝对路径,也可以是相对路径。所谓绝对路径,就是指以符号"/"开头的路径,"/"表示当前web应用的URL入口。

最后比较一下response重定向和forward跳转的区

response:

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

forward跳转 :

  • 1直接跳转到目标网页 其后的代码不再执行
  • 2跳转到目标页后URL不变
  • 3在服务器端重定向
  • 4无法跳转到其他服务器上的页面
时间: 2024-12-24 15:55:32

Java跳转页面的两种方法以及它们的区别的相关文章

Apacheserver自己定义404页面的两种方法以及.htaccess的重要命令总结

Apacheserver自己定义404错误页面有两种方法: 第一种方法最简单,直接在Apache的httpd.conf下进行配置改动命令,改动的内容请參看.htaccess命令写法中的自己定义错误页面 另外一种方法能够在.htaccess文件里配置命令,详细操作请參看.htaccess命令写法中的自己定义错误页面 .htaccess用法总结 1 . 首先让的本地APACHEserver器同意.htaccess改动 打开httpd.conf (1) Options FollowSymLinks A

java连接sql server2008的两种方法

最近学到java连接数据库(sql server),发现常用的我们有两种方法,那么这里我总结一下这两种方法怎么使用,还有它们的区别,还有我们一般要使用哪一种方法. 方法一:使用jdbc-odbc桥连接sql server,作为中间媒介连接数据库; 注意我们每次在连接数据库前都必须要引入sql包:import java.sql.*;接下来的步骤都是习惯性步骤,我这里就按照每一步的使用进行列举: 1.配置数据源:打开控制面版->管理工具->数据源(ODBC)->(一般而言我们使用用户DSN)

Apache服务器自定义404页面的两种方法以及.htaccess的重要命令总结

Apache服务器自定义404错误页面有两种方法: 第一种方法最简单,直接在Apache的httpd.conf下进行配置修改命令,修改的内容请参看.htaccess命令写法中的自定义错误页面 第二种方法可以在.htaccess文件中配置命令,具体操作请参看.htaccess命令写法中的自定义错误页面 .htaccess使用方法总结 1 . 首先让的本地APACHE服务器器允许.htaccess修改 打开httpd.conf (1) Options FollowSymLinks AllowOver

asp.net跳转页面的三种方法比较

目前,对于学习asp.net的很多朋友来讲,实现跳转页面的方法还不是很了解.本文将为朋友们介绍利用asp.net跳转页面的三种方法,并对其之间的形式进行比较,希望能够对朋友们有所帮助. ASP.NET发展起源 1 ASP.NET的前身ASP技术,是在IIS 2.0上首次推出(Windows NT 3.51),当时与 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了Visual InterDev开发工

用easyui从servlet传递json数据到前端页面的两种方法

用easyui从servlet传递json数据到前端页面的两种方法 两种方法获取的数据在servlet层传递的方法相同,下面为Servlet中代码,以查询表中所有信息为例. //重写doGet方法 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stu

Java中读取Map的两种方法对比

引言: 在Java中Map的使用非常频繁,我们经常会需要对Map进行遍历和读取,下面将展示两种遍历的方法以及简要分析. 1.  遍历Map方法A Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val =

Java中集合排序的两种方法

import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * * <p> * ClassName CollectionsSort * </p> * <p> * Description 主要介绍两种集合的排序算法<br/> * 第一:java.util.Collections.sort(jav

java自定义容器排序的两种方法

首先说一下排序的返回值的含义.对于参与比较的两个Object,o1和o2,如果函数的返回值为正值,把o1排在o2后面:返回值为负值,把o1排在o2前面.如果返回值是0,按照容器之前的顺序排列.在compareTo中,this相当于o1,传入的Object相当于o2 第一种方法:对于要排序的类实现Comparable接口 package sort; import java.util.ArrayList; import java.util.Collections; import java.util.

跳转页面的几种方法

1.最常用的当然是在a标签里写链接,跳转页面,这个就不用说了 2.使用js的window.loaction跳转页面 <script> //使用href属性跳转 location.href ='http://www.baidu.com'; //使用assign()方法跳转 location.assign('http://www.baidu.com'); //使用replace()方法跳转 location.replace('http://www.baidu.com'); //只适用于IE win