请求转发与重定向对比


辨析

请求转发只有一次请求、一次响应,是在服务端内部跳转

重定向有两次请求、两次响应:将结果返回给客户端,让客户端重新发起一次跳转

请求转发的登陆界面实现

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><form action="check.jsp" method="post">用户名:答案zs<input type="text" name="uname"><br/>密码:答案abc<input type="password" name="upwd"><br/>爱好:<input type="textpassword" name="uhobby"><br/><input type="submit" value="登陆"><br/></form>
</body>
</html>

check.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><%request.setCharacterEncoding("utf-8");String name = request.getParameter("uname");String pwd = request.getParameter("upwd");if (name.equals("zs") && pwd.equals("abc")) {//假设 zs abc//response.sendRedirect("success.jsp");//页面跳转:重定向, 导致数据丢失//页面跳转:请求转发, 可以获取到数据,并且 地址栏 没有改变(仍然保留 转发时的页面check.jsp)request.getRequestDispatcher("success.jsp").forward(request,response);} else {//登陆失败out.print("用户名或密码有误!");}%>
</body>
</html>

success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><br>登录成功。你好,<%String name = request.getParameter("uname");String password = request.getParameter("upwd");String hobby = request.getParameter("uhobby");out.print(name);%><br>你的用户名是:<%=name%><br>你的密码是:<%=password%><br>你的爱好是:<%=hobby%></body>
</html>

效果


可以看到页面不跳转到success.jsp

【JavaWeb】Response请求转发与重定向辨析相关推荐

  1. 【JavaWeb】一文Servlet全解:继承关系、生命周期、容器和请求转发与重定向等

    文章目录 一.Servlet 概述 二.Servlet HelloWorld 三.Servlet 继承关系 四.Servlet 生命周期 五.ServletConfig 和 ServletContex ...

  2. 观看慕课老师milanlover视频JSP内置对象+getpost+request+response+请求转发与请求重定向

    out是内置对象,不用new来创建. 把饭盛到碗里,碗相当于程序中的缓冲区. <%@ page language="java" import="java.util. ...

  3. 【相对/绝对路径】JavaWeb项目中,请求转发与重定向的路径写法

    相对路径.全路径 是要不以/开头,都是相对路径.相对路径是从当前资源出发,去寻找其他资源. 只要路径中以/开肉,就是全路径.全路径是从项目根目录出发,去寻找其他资源. 在开发中,写文件路径时,最好使用 ...

  4. ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段...

    原文地址:ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段 ServletRequest 基本概念 ...

  5. 【Servlet】请求转发与重定向

    重定向 重定向是指由原请求地址重新定位到某个新地址,原有的request请求失效,客户端看到的是新的request请求返回的响应结果,客户端浏览器地址栏变为新请求地址. 一次重定向过程存在两次请求和两 ...

  6. jsp:请求转发和重定向

    HttpServletResponse对象的sendRedirect(String location)方法称作重定向, 如果location地址前面加上"/",则表示相对于Serv ...

  7. 浅析请求转发和重定向

    浅析请求转发和重定向 1.请求转发 request.getRequestDispather("/indexServlet").forword(request,response); ...

  8. 【Servlet】请求转发、重定向、Cookie使用之三天自动登陆

    三天自动登陆项目源码:GitHub地址-LoginSystem JDBC 手写SORM框架 手写Servlet 开发环境:Eclipse 一.请求乱码问题解决 // 设置请求.响应编码格式req.se ...

  9. 请求转发与重定向的区别和执行流程

    请求转发与重定向的区别和执行流程 文章目录 请求转发与重定向的区别和执行流程 1 请求转发与重定向区别 2 现实生活的例子 2.1 重定向 2.2 请求转发 3 重定向-流程图.代码.结果 3.1 流 ...

最新文章

  1. 破解phpstorm,webstorm ,pycharm ,intellij IDEA
  2. spark rdd reduceByKey示例
  3. Visual Studio 2017 15.5.0 正式发布 正式版下载
  4. java 80_【JavaWeb】80:js基础详解
  5. PHP+七牛云存储上传图片代码片段
  6. Linux学习笔记(六) -- Anjuta软件主界面介绍
  7. php段错误coredumped,段错误 (core dumped)
  8. What is base..ctor(); in C#?
  9. 计算机科学之父-艾伦·麦席森·图灵的传奇人生
  10. 创翼NetKeeper校园网连接时出现118错误
  11. 企业级小架构设计部署实现-docker变种(一)负载均衡网站
  12. Halcon模版匹配
  13. OSRM开源地图导航引擎介绍一
  14. LTE学习-信道估计(LS算法)
  15. 推荐系统研究常用数据库
  16. 通过SPSS使用命令语法实现快速删除变量的步骤
  17. 2021-11-13
  18. AutoCAD2006激活方法
  19. 计算机科学分为哪些领域,计算机科学技术主要包含哪些领域
  20. java做一个万年历和闹钟,数字电子钟毕业设计源程序(加万年历和闹钟功能)...

热门文章

  1. 排序算法-02直接插入(python实现)
  2. java中的值传递和引用传递问题
  3. 详细解析Raid0、Raid0+1、Raid1、Raid5四者的区别
  4. 长连接和Keepalive
  5. sscanf,sscanf_s及其相关用法(字符串格式化为其他类型)
  6. selenium的简单介绍
  7. 经典|图解Linux内存性能优化核心思想
  8. 深入理解TCP实现|经典PDF分享
  9. Quibi:我轻轻地咬一口 你最爱的Netflix和TikTok
  10. 音视频技术开发周刊 84期