Jsp重定向(response.sendRedirect())和转发(request.getRequestDispatcher().forward(request,r)的区别

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="sun.awt.RepaintArea"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'check_login.jsp' starting page</title>

	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>

  <body>
  	<%
  		request.setCharacterEncoding("utf-8");
  		String uname = request.getParameter("username");
  		String pwd = request.getParameter("password");

  		if("sa".equals(uname) && "123".equals(pwd)){
  			//response.sendRedirect("welcome.jsp");
  			request.getRequestDispatcher("welcome.jsp").forward(request,response);
  		}else{
  			response.sendRedirect("login.jsp");
  		}
  	%>

  </body>
</html>
区别1:request.getRequestDispatcher().forward()是转发,是在同一个请求里。response.sendRedirect()是重定向,因此放在request里的数据不会被传过去。

区别2:浏览器的地址栏变化,转发地址栏不会发生变化,重定向会发生变化。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-09 20:11:11

Jsp重定向(response.sendRedirect())和转发(request.getRequestDispatcher().forward(request,r)的区别的相关文章

request.getRequestDispatcher().forward(request.response)

request.getRequestDispatcher().forward(request.response)中的那两个参数是哪里来的? 2010-11-09 23:13 QQ357169111 | 浏览 48886 次 编程语言 request.getRequestDispatcher().forward(request.response)这个方法中的request和response是哪里来的?前一个页面传进来的还是怎么传进来的?最好写个例子给我,怎么用这个方法,不太理解这点 ,,谢谢~~!

转response.sendRedirect()与request.getRequestDispatcher().forward()区别

JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转,但是二者是有很大的区别的,分条来说,有以下几点: ①response.sendRedirect(url)-----重定向到指定URL request.getRequestDispatcher(url).forward(request,response) -----请求转发到指定URL ②response

转 让你明白response.sendRedirect()与request.getRequestDispatcher().forward()区别

JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转,但是二者是有很大的区别的,分条来说,有以下几点: ①response.sendRedirect(url)-----重定向到指定URL request.getRequestDispatcher(url).forward(request,response) -----请求转发到指定URL ②response

response.sendRedirect()与request.getRequestDispatcher().forward()区别

JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转,但是二者是有很大的区别的,分条来说,有以下几点: ①response.sendRedirect(url)-----重定向到指定URL request.getRequestDispatcher(url).forward(request,response) -----请求转发到指定URL ②response

关于jsp中response.sendRedirect显示错误

今天在jsp中作判断时,当不同条件时利用response.sendRedirect("url")来转向不同的页面,首先是判断验证码,当错误时就转向错误页面:当正确时,才进行用户名和密码的判断,同样也response.sendRedirect("url")来转向不同的页面.但运行时response.sendRedirect显示错误. if(!str2.equals(str_1))  {  response.sendRedirect("verify_error

response.sendRedirect()与request.getRequestDispatcher(&quot;/index.jsp&quot;).forward(request, response)两者辨析

知识点轮廓 一 辨析response.sendRedirect()与request.getRequestDispatcher("/index.jsp").forward(request, response) 二 辨析请求转发与重定向异同问题[知识点总结] 第一部分: JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转,但是二者是有很大的区别的,

response.sendRedirect(location)与rd.forward()区别

在Java Web开发中,经常会用到跳转页面的方法,一般有下面两种方法. Java代码   HttpServletResponse response = new HttpServletResponse(); response.sendRedirect(location) Java代码   RequestDispatcher rd = new RequestDispatcher(); rd.forward(request, response) 跳转方式 http://localhost:8080/

Servlet转发和重定向response.sendRedirecte()区别 (转)

转发(forward):IE浏览器地址不会改变,始终是同一个请求.重定向(sendRedirect): IE浏览器地址会改变,用两个请求.1)转发a)地址栏不会改变b)转发只能转发到当前web应用内的资源 c)可以在转发过程中,可以把数据保存到request域对象中 //Servlet转发 request.getRequestDispatcher("/list.jsp").forward(request,response); 转发过程 客户首先发送一个请求到服务器端,服务器端发现匹配的

JSP之response对象使用

1.使用response对象实现重定向 response.sendRedirect("http://www.cnblogs.com"); 2.使用response对象刷新页面 每隔1秒刷新时间 response.setHeader("refresh", "1");out.print(new Date().toLocaleString()); 过2秒转到新的页面 response.setHeader("refresh", &qu