JSP页面跳转的5中方式

JSP页面的不同跳转方法详解 本文将介绍几种常见的JSP页面跳转方法,并附带相应的源代码示例。综上所述,本文介绍了几种常见的JSP页面跳转方法,包括超链接跳转、表单提交跳转、重定向跳转、转发跳转和JavaScript跳转。转发是一种在服务器端进行的页面跳转方式,它可以将请求转发到另一个资源(如JSP页面或Servlet)进行处理。除了服务器端的跳转方式,还可以使用JavaScript在客户端实现页面跳转。重定向是一种在服务器端进行的页面跳转方式,它将用户重定向到另一个URL。上述代码中,当JSP页面被访问时,将立即重定向到名为。 阅读详情

一、 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=utf-8");  ServletContext sc = getServletContext();  RequestDispatcher rd = null;  rd = sc.getRequestDispatcher("/index.jsp"); //定向的页面  rd.forward(request, response);} 
通常在servlet中使用,也可以jsp中使用,不过在jsp用的少,但学习一般从jsp开始学。

 JSP进行请求转发:request.getRequestDispatcher("url").forward(request,response);

 

二、 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");} 

直接JSP中重定向:response.sendRedirect(url);

 

由于response是jsp页面中的隐含对象,故在jsp页面中可以用response.sendRedirect()直接实现重定位。 *①使用response.sendRedirect时,前面不能有HTML输出;这并不是绝对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。事实上现在的server都有cache机制,一般在8K(我是说 JSP SERVER),这就意味着,除非你关闭了cache,或者你使用了out.flush()强制刷新,那么在使用sendRedirect之前,有少量的HTML输出也是允许的。

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

 

比较:



 

(1) Dispatcher.forward()是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址,更加高效,不过可以满足需要时,尽量使用RequestDispatcher.forward()方法;

(2) response.sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。在有些情况下,比如需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。


三、使用JSP:forward标签 。它的底层部分是由RequestDispatcher来实现的,因此它带有RequestDispatcher.forward()方法的印记。 如果在之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意。 另外要注意:它不能改变浏览器地址,刷新的话会导致重复提交。<jsp:forward page="" />

 

四、修改HTTP header的Location属性来重定向 通过设置直接修改地址栏来实现页面的重定向。 jsp文件代码如下: <% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String newLocn = "/newpath/jsa.jsp"; response.setHeader("Location",newLocn);%> 

 

五、使用JSP的meta标签来定时跳转。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);

JSP页面跳转方法总结 jsp的几种跳转方法,希望能对你们有所帮助 立即下载

相关推荐

RexUniNLU零样本通用自然语言理解:nlp_deberta_rex-uninlu_chinese-base模型实战解析

本文深入解析了RexUniNLU零样本通用自然语言理解模型(nlp_deberta_rex-uninlu_chinese-base)的实战应用。通过详细的环境配置、模型加载及实战案例,展示了该模型在零样本场景下的强大能力,如实体识别和复杂关系抽取,显著提升NLP任务效率。

weixin_29088655的博客 250

jsp实现页面跳转的几种常用方式

一,  使用href超链接标记 (客户端跳转)

IridescentDxa的博客 1万+

怎么在豆包里做生成式引擎优化(GEO)

本文系统介绍了豆包平台生成式引擎优化(GEO)的全套方法体系。文章首先解析了豆包与传统搜索引擎的核心差异,强调其多模态理解和上下文感知特性,并指出GEO需从关键词匹配转向用户意图动态解析。随后详细阐述了GEO优化的三大核心策略:用户意图解析技术、实时内容适配框架和权威信号强化方法,配以技术实现路径和案例说明。最后提出GEO与SEO融合的未来趋势,建议企业构建统一知识库,实现全渠道声誉管理。全文包含大量实操代码和工具链指导,为企业在AI时代的内容优化提供系统解决方案。

解锁AI流量新红利!🚀 GEO优化(生成引擎优化)助您掌控AI搜索,让AI成为您的品牌最佳代言人! 2371

JSP页面跳转的几种方式

JSP页面之间跳转的几种方式 1 使用href超链接标记 客户端跳转 2 表单提交 客户端跳转 3 使用RequestDispatcher.forward()(转发) 服务器跳转 4 使用 response.sendRedirect()(重定向) 客户端跳转 5 使用forward动作标记 服务器跳转 6 使用response对象...

weixin_43656426的博客 8559

使用单片机和电流互感器对非正弦周期电流有效值测定

使用单片机和电流互感器,利用一种高速采样的方法来进行有效值测定

月光绿叶滴水音乐 3944

置顶必读(1) | 《YOLOv26实战:从入门到深度优化》专栏导读与完整目录导航(持续更新中)

🏆 本文收录于 《YOLOv26实战:从入门到深度优化》 专栏。 本专栏系统梳理并持续复现 YOLOv26 官方特性、核心改进、多任务支持、部署优化与行业落地,内容坚持 持续更新 + 深度拆解 + 工程落地导向,不仅讲“怎么用”,更讲“为什么这样设计、如何真正落地到项目中”。

**My Coding Family** 9万+

JSP页面跳转的几种实现方法

好久没有记录学习了,还是要继续努力。 1.使用 href 超链接 相关代码如下: <a href="目标页面">跳转</a> 优点: 比较简单,通常写到 <a> 标签中即可。 缺点: href 属性规定链接的目标地址。如果未使用 href 属性,则 <a> 标签不是链接,而是链接的占位符。 适用场合: 客户端跳转,从一个页面链接到另一个页面,适用于完成指定位置的动态跳转。 2.通过form表单提交 相关代码如下: <form name="form1"

yxl_d的博客 1万+

2025华为OD机试真题最新题库 (B+C+D+E+2025A+2025B卷) + 在线OJ在线刷题使用(C++、Java、Python C语言 JS合集)(正在更新2025B卷,目前已收录710道)

2024年,华为目前已经启用D卷,目前D卷和C卷的题目一样一次订阅永久阅读,支持在线刷题,持续更新,有问题随时解答,本专栏题目数量已收录到484道。每篇文章的思路分析都非常详细,题目新增图解思路,问题解疑,多样例测试,超过百字的思路参考解析。

KJ.JK 11万+

JSP页面的五种跳转方法

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。本文主要介绍的是JSP页面的五种跳转方法,一起来看。 AD:   JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网

Baple的专栏 3177

SE80 Repository Information System 在 SAP CRM WebClient UI 组件分析中的实战指南

在 SAP CRM WebClient UI 开发过程中,如何快速定位组件、视图、上下文节点以及各类运行时对象,一直是调试效率的关键。(后文简称RIS)正是隐藏在SE80里的瑞士军刀,帮助开发者按照组件集、数据元素、上下文节点属性等多维条件进行交叉检索。官方博客将它描述为本文结合多年项目经验,系统梳理RIS的功能脉络与实战技巧,同时引入真实案例,示范如何借助它在几分钟内完成以往动辄数小时的排查任务。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2万+

ROCm rocr-libhsakmt分析系列1-2:多GPU跨卡VRAM访问机制分析

本文基于ROCr-Runtime的libhsakmt库源码,深入分析了多GPU系统中跨设备内存访问的实现机制。主要内容包括: 实现流程概述:通过P2P拓扑发现、统一虚拟地址空间、页表映射和硬件转发四个步骤,实现零拷贝的跨GPU内存访问。

图形/计算GPU的驱动与虚拟化技术分享园地 2498

JSP页面跳转的5种方式

前几天笔试做到的一个问题,关于jsp页面跳转的方式,很长时间没看书了,只记得html的几种方式,今天想起这个问题,于是在网上找了些资料整理下。  原文转载自:http://www.163ns.com/zixun/post/4483.html  1. RequestDispatcher.forward()    在服务器端起作用,当使用forward()时,Servlet engine传递HT

Golden_lion的博客 1万+

多测师肖sir_高级金牌讲师_数据库之存储练习题(8.13.1)

实验 一、 实验要求: 理解存储过程的概念 掌握存储过程的语法格式、使用方法 掌握存 储过程的创建、执行 二、实验前提: – drop table if exists student; – Create table student – (Id varchar(255), #学号 – Name varchar(255), #姓名 – Roomid varchar(255), #班级 – Sex char(1), #性别 – Degree varchar(3) );#成绩; Insert into stud

多测师肖sir的博客 701

在jsp中常用的内置对象(5个)小总结和两种页面跳转方式(服务器端调转、客户端跳转)的区别...

jsp中常用的几个内置对象: 一、request对象 主要作用:(1)获取请求页面的信息 比如:request.getParameter("参数名");(2)获取客户端的信息 比如:request.getRemoteAddr();//获取客户端的IP地址。(3)处理乱码 比如:request.setCharacterEncoding("UTF-8"); 二...

abyiy9580的博客 293

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Angular1.5.8路由参数的使用

在Angular 1.5.8中,经常会涉及到页面的跳转,很多页面的跳转都需要带参数,在JSP项目中,可以使用 window.location.href = 'http://hostname:port?param_1=xxx&param_2=xxx#/path/a/b/c'的形式传参,再通过以下方式将...

weixin_34367257的博客 488

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

JSP乱码处理以及常见编码集

1、乱码问题   、在JSP页面中,由于页面调转而导致不同页面的编码不一致,引起乱码(指中文)  解决:     例如在提交的表单中通过 String username = request.getParameter("username");  得到用户名,如果传参的页面与得到参数的页面编码(这里为GBK)不一样就会导致乱码,通常的做法是  利用 username = new Stri

JAVA_ME 474

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Spring MVC视图层:thymeleaf vs. JSP

本文对比了同一Spring MVC工程中相同页面(一个订阅表单)分别采用Thymeleaf和JSP(包括JSP、JSTL、Spring tag lib)两种方式的实现。 本文的所有代码来自一个可运行的应用。你可以从文档页面下载该应用程序的源代码。 Common requirements 顾客通过一个表单添加到消息列表中,包含下面两个域: Email地址 订阅类型(接收所有邮件、每日摘...

weixin_34209406的博客 92

五种JSP页面跳转方法详解

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

LsMrSUN的博客 3315

JSP五种页面跳转方式

 JSP五种页面跳转方式1.(我测试了可以用的)2.response.setHeader("Location","");(这个好像不可以哦,上网很多人说可以的。偶不晓得?)3.response.sendRedirect("要跳转的页面");(我测试了可以用的)4.request.getRequestDispatcher("/要跳转的页面").forward(request, response);(

firstboy0513的专栏 1065

JSP中实现页面跳转的三种方法以及区别

JSP中实现页面跳转的三种方法以及区别 通过重定向可以实现跳转,跳转后页面地址变为跳转后的地址。 我们已经知道有两种跳转方法了 Java代码 第一种是:&lt;jsp:forward page=””/&gt;;       第二种是:response.sendRedirect(“地址”);...

powerclark的专栏 354

JSP页面跳转的五种方法

一、response.sendRedirect()      此语句前不允许有out.flush(),否则会抛异常。      跳转后浏览器地址栏变化。      如果跳到不同主机下,跳转后,此语句后面的语句会继续执行,如同新开了线程,但是对response的操作已无意义。      如果跳到相同主机下,此语句后面的语句执行完成后才会跳转。   二、response.setHeade...

程序员的天堂 862
上一篇: java的23种设计模式
下一篇: request获得URL图解
爪爪的瓜瓜
博客等级 码龄14年 5粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值