五种JSP页面跳转方法详解

jsp页面的五种跳转方式 jsp页面的五种跳转方式 java jsp 立即下载
 

五种JSP页面跳转方法详解

1. RequestDispatcher.forward()

是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动传递. 但forward()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同时forward()无法在后面带参数传递,比如servlet?name=frank,这样不行,可以程序内通过response.setAttribute("name",name)来传至下一个页面。

重定向后浏览器地址栏URL不变。

例:在servlet中进行重定向

public void doPost(HttpServletRequest request,HttpServletResponse response) 
throws ServletException,IOException

{

  response.setContentType("text/html; charset=gb2312");

  ServletContext sc = getServletContext();

  RequestDispatcher rd = null;

  rd = sc.getRequestDispatcher("/index.jsp"); //定向的页面

  rd.forward(request, response);

}

通常在servlet中使用,不在jsp中使用。

2. response.sendRedirect()

是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面,同时它可以重定向至不同的主机上,sendRedirect()可以重定向有frame.的jsp文件.

重定向后在浏览器地址栏上会出现重定向页面的URL

例:在servlet中重定向

public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
  response.setContentType("text/html; charset=gb2312");
  response.sendRedirect("/index.jsp");
}

由于response是jsp页面中的隐含对象,故在jsp页面中可以用response.sendRedirect()直接实现重定位。

注意:

(1) 使用response.sendRedirect时,前面不能有HTML输出;

这并不是绝对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。事实上现在的server都有cache机制,一般在8K(我是说 JSP SERVER),这就意味着,除非你关闭了cache,或者你使用了out.flush()强制刷新,那么在使用sendRedirect之前,有少量的HTML输出也是允许的。

(2) response.sendRedirect之后,应该紧跟一句return。

我们已经知道response.sendRedirect是通过浏览器来做转向的,所以只有在页面处理完成后,才会有实际的动作。既然你已经要做转向了,那么后的输出还有什么意义呢?而且有可能会因为后面的输出导致转向失败。

比较:

(1) Dispatcher.forward()是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;

(2) response.sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。

前者更加高效,在前者可以满足需要时,尽量使用RequestDispatcher.forward()方法。

注:在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。

3. <jsp:forward page="" />

它的底层部分是由RequestDispatcher来实现的,因此它带有RequestDispatcher.forward()方法的印记。

如果在之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意。

另外要注意:它不能改变浏览器地址,刷新的话会导致重复提交

4. 修改HTTP header的Location属性来重定向

通过设置直接修改地址栏来实现页面的重定向。

jsp文件代码如下:

<%
  response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
  String newLocn = "/newpath/jsa.jsp";
  response.setHeader("Location",newLocn);
%>

5. JSP中实现在某页面停留若干秒后,自动重定向到另一页面

在html文件中,下面的代码:

<meta http-equiv="refresh" content="300; url=target.jsp">

它的含义:在5分钟之后正在浏览的页面将会自动变为target.html这一页。代码中300为刷新的延迟时间,以秒为单位。targer.html为你想转向的目标页,若为本页则为自动刷新本页。

由上可知,可以通过setHeader来实现某页面停留若干秒后,自动重定向到另一页面。

关键代码:

String content=stayTime+";URL="+URL;
response.setHeader("REFRESH",content); 
一文读懂GPU通信互联技术:GPUDirect、NVLink与RDMA GPUDirect是NVIDIA开发的一项技术,旨在实现GPU与其他设备(如网络接口卡NIC和存储设备)之间的直接通信和数据传输,而无需CPU的参与。传统上,数据在GPU和另一个设备之间传输时,必须通过CPU,这导致潜在的性能瓶颈和延迟增加。GPUDirect技术则通过绕过CPU,直接访问和传输数据,显著提高系统性能。NVLink是NVIDIA开发的一种高速、高带宽的互连技术,用于连接多个GPU之间或GPU与其他设备(如CPU、内存等)之间的通信。 阅读详情

相关推荐

扩散模型在工业缺陷检测中的应用与优化

扩散模型作为生成式AI的重要分支,通过逐步去噪的逆向过程实现高质量数据生成。其核心U-Net架构结合残差连接和时间步嵌入,特别适合处理工业场景中的细微缺陷检测。在计算机视觉领域,这种技术突破了传统深度学习模型对小样本数据的限制,通过域自适应预训练和小样本微调两阶段框架,显著提升金属表面、纺织品等复杂场景的检测准确率。关键技术实现涉及噪声调度优化、多任务损失设计等工程实践,最终在MVTec AD等工业数据集上达到90%以上的检测精度,为智能制造提供可靠的自动化质检方案。

weixin_30512043的博客 497

JSP中的5中转发方式

1. RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动传递...

weixin_30470857的博客 1057

避坑指南:MTK平台Widevine L1密钥安装全流程详解(含SP META工具使用与Log分析)

本文详细解析了MTK平台实现Widevine L1认证的全流程,涵盖密钥申请、格式转换、安全烧录等关键步骤,特别针对Trustonic TEE环境下的SP META工具使用与日志分析提供实用指南。帮助开发者规避常见错误,确保DRM密钥安全部署,满足高端内容保护需求。

weixin_27219587的博客 477

什么是重定向,怎么解决重定向问题

重定向是指当用户访问一个网页时,服务器将用户的请求指向另一个页面的过程。通常,服务器会返回一个特定的状态码来告诉浏览器该进行重定向操作。重定向可以在不同的场景中发生,例如网站的URL更改、页面跳转和访问权限限制等。重定向是一种常见的技术,在网络应用中具有广泛的应用。它可以帮助我们解决URL更改、页面跳转和访问控制等问题。在处理重定向时,我们需要选择合适的重定向方法,并确保不会发生无限重定向的情况。通过代码示例,我们展示了如何使用重定向来实现不同的功能。

随便写写 2万+

STM32内存大小与地址的对应关系以及计算方法

1、概述 在计算机中要访问存储区,都是通过地址来进行访问的,包括所有的外设(比如串口、内存、硬盘等),都对应有一个访问地址,地址就相当于门牌号,有了门牌号,我们才知道操作的是哪一个区域、哪一个外设。 最被大家熟知的是计算机内存,计算机内存有4G、8G,16G等等,对于程序员而言,要在代码中操作这些内存,肯定得知道内存的地址,此外,还需要会计算地址与内存大小的计算方法与对应关系。STM32作为微

Ace's Blog 4万+

RK3568(buildroot)利用squashfs+overlay实现嵌入式系统高可靠存储方案

本文详细介绍了在RK3568嵌入式平台上,基于Buildroot系统,利用squashfs只读根文件系统与overlayfs可写层相结合的高可靠存储方案。该方案能有效防止设备意外断电导致的系统文件损坏,通过内核配置、启动脚本编写及镜像制作,实现系统核心的只读保护与用户数据的持久化分离,显著提升嵌入式设备的现场稳定性。

weixin_29189381的博客 548

实现页面重定向(跳转)的4种方式

关键字:页面重定向(跳转,page redirection)、实现方式 写完标题,我突然想到了孔乙己,鲁迅先生嘲笑他以知道茴香豆的茴字有四种写法而感到自豪。不过我想我和孔乙己还是不同的,因为茴香豆的茴字会写一种即可,但本文总结的四种页面重定向的方式应用的场景不尽相同,产生的页面

Radic Feng的专栏 3万+

【深度学习|学习笔记】广义线性模型Generalized linear model(GLM)模型详解,附代码。

【深度学习|学习笔记】广义线性模型Generalized linear model(GLM)模型详解,附代码。

2401_89898861的博客 1879

Servlet之页面重定向

Servlet之页面重定向白话解释:页面重定向页面重定向方法-sendRedirect页面重定向案例案例描述HTML页面login.html登录页面welcome.html登录页面Java后端代码ReDirectPageServlet 子类编写web.xml虚拟路径映射配置ajax技术导致的页面重定向失败 白话解释:页面重定向     页面重定向,大白话说——简单可以认为是控制浏览器进行网页页面的跳转操作。     页面重定向

席木木的博客 3745

真正的工业级环形缓冲区(Circular Buffer)完整实现细节

永远不要永远不要ToArray()或AddRange()永远返回或两段Span永远用_head_tail% Capacity实现环形照着上面这套代码改,你的系统将彻底告别内存爆炸,从“实验室玩具”变成“产线战神”!需要我给你一个支持两段绘制的完整实现吗?

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 127

知识库构建革命:基于Agent的智能检索系统设计

本文聚焦“基于Agent的智能检索系统”这一前沿技术,系统讲解其设计逻辑、核心技术与落地方法。我们将覆盖从基础概念(如Agent如何“理解”知识)到实战代码(如何用Python搭建原型系统)的全链路内容,帮助技术开发者、企业知识管理负责人理解这一技术为何能颠覆传统知识库。本文将按“问题引入→核心概念→技术原理→实战落地→未来趋势”的逻辑展开:先用“老图书馆的困境”故事引出传统知识库的问题;再用“智能图书管理员”类比解释Agent如何革新检索;接着拆解NLP、对话管理、知识推理等核心技术;

AI智能探索者的博客 728

jsp跳转到本身页面_五种JSP页面跳转方法详解

1. RequestDispatcher.forward()是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动传递. ...

weixin_42638178的博客 2376

openclaw本地模型对接

使用是官方推荐的一种集成方式,它可以简化配置过程。但由于您的系统环境和之前复杂的配置历史,我为您梳理了一个核心流程,并增加了关键的“事后检查”步骤,以确保能从根本上解决问题。

suny8的专栏 2463

jsp转发跳转页面_五种JSP页面跳转方法详解

1. RequestDispatcher.forward()是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动传递. ...

weixin_32894769的博客 2735

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

五种 JSP页面跳转方法详解

五种 JSP页面跳转方法详解 时间:2012-09-04   作者:huhao1989   出处:huhao1989.iteye.com 本文向您介绍Servlet页面跳转实现方法的几种区别,包括Servlet和JSP中的不同实现,比如Servlet中的redirect方式和forward方式得区别等。 1. RequestDispatcher.forward() 

evilcry2012的专栏 463

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

jsp子窗口是php页面跳转,五种 JSP页面跳转方法详解

五种 JSP页面跳转方法详解更新时间:2009年04月09日 11:41:57 作者:jsp实现页面跳转的实现代码,五种方法,大家可以根据需要选择。1. RequestDispatcher.forward()是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你...

weixin_39863371的博客 195

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

五种JSP页面跳转方法详解2009-07-20 09:00 1. RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了fo...

weixin_33860553的博客 204
上一篇: android基础——CheckBox
下一篇: JSP中实现网站自动登录
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值