在java中如何用response和request跳转地址,实际代码展示

BSO 2020-09-03 11:22:00 java常见问答 6468

在java的学习过程中,总是会有各式各样的问题等着我们去解决。学习是一个反复又不断向前的过程。今天就主要来为大家介绍一下,在java中如何用response和request跳转地址,并且通过实际的代码为大家展示。

首先,主要分为两类来为大家展示。

第一类、使用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秒之后跳转。

第二类、使用requestDispatcher类。

它的基本操作方式如下:

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

需要了解的是,Servlet可通过两种方式得到RequestDispatcher对象:1.ServletContext的getRequestDispatcher(); 2.ServletRequest的getRequestDispatcher(); 同时,调用ServletContext的getRequestDispatcher(String path)方法时,path参数要指定目标组件的路径。另外,调用ServletRequest的getRequestDispatcher(String path)方法与上一个方式的区别在于,前者的path参数必须是绝对路径,而后者的path参数可以是绝对路径,也可以是相对路径。绝对路径的含义是指以符号"/"开头的路径,"/"表示当前web应用的URL入口。

以上就是在java中如何用response和request跳转地址的具体操作方法,并且通过实际的代码为大家展示。如果你对java内容感兴趣,想要了解更多java基础,敬请关注奇Q工具网。

推荐阅读:

java对象类型转换,强制对象类型转换介绍

java servlet中forward和redirect的不同点,具体说明

java对象类型转换,向上转型和向下转型详细介绍