200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 【JavaWeb】Response请求转发与重定向辨析

【JavaWeb】Response请求转发与重定向辨析

时间:2022-03-15 15:30:05

相关推荐

【JavaWeb】Response请求转发与重定向辨析

请求转发与重定向对比

辨析

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

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

请求转发的登陆界面实现

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/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" "/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" "/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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。