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

时间:2023-02-05 18:38:51
<%@ 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:浏览器的地址栏变化。转发地址栏不会发生变化。重定向会发生变化。

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

  1. response&period;sendRedirect&lpar;&rpar;和request&period;getRequestDispatcher&lpar;&rpar;&period;forward&lpar;request&comma;response&rpar;的区别

    转发方式:request.getRequestDispatcher().forward(); 重定向方式:response.sendRedirect();  下面是HttpServletRespons ...

  2. 新版的 Springsecurity request&period;getRequestDispatcher&rpar;&period;forward&lpar;request&comma; response&rpar;&semi; 404 问题&comma;已解决

    旧版本的 可以直接 转发登陆 request.getRequestDispatcher).forward(request, response); 新版本的转发会404,原因 SpringSecurit ...

  3. request&period;getRequestDispatcher&lpar;&rpar;&period;forward&lpar;request&period;response&rpar;

    request.getRequestDispatcher().forward(request.response)中的那两个参数是哪里来的? 2010-11-09 23:13 QQ357169111 | ...

  4. response&period;sendRedirect&lpar;&rpar;与request&period;getRequestDispatcher&lpar;&rpar;&period;forward&lpar;&rpar;区别

    Servlet中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳 ...

  5. 转response&period;sendRedirect&lpar;&rpar;与request&period;getRequestDispatcher&lpar;&rpar;&period;forward&lpar;&rpar;区别

    JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转,但是 ...

  6. 让你明白response&period;sendRedirect&lpar;&rpar;与request&period;getRequestDispatcher&lpar;&rpar;&period;forward&lpar;&rpar;区别

    JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转,但是 ...

  7. request&period;getDispatcher&lpar;&rpar;&period;forward&lpar;request&comma;response&rpar;和response&period;sendRedirect&lpar;&rpar;的区别

    在进行web开发时,跳转是最常见的,今天在这里来学习下2种跳转: 第一种是request.getDispatcher().forward(request,response): 1.属于转发,也是服务器 ...

  8. response&period;sendRedirect&lpar;&quot&semi;&quot&semi;&rpar;和request&period;getRequestDispatcher&lpar;&quot&semi;&quot&semi;&rpar;&period;forward&lpar;req&comma;resp&rpar;&semi;

    1:request.getRequestDispatcher("转发路径").forward(req,resp)该语句是实现请求转发的,当请求进入到该servlet中执行到该语句时 ...

  9. 关于jsp中response&period;sendRedirect显示错误

    今天在jsp中作判断时,当不同条件时利用response.sendRedirect(“url”)来转向不同的页面,首先是判断验证码,当错误时就转向错误页面:当正确时,才进行用户名和密码的判断,同样也r ...

随机推荐

  1. 最详细eclipse汉化插件安装教程

    最详细eclipse汉化插件安装教程(转) 转自:http://blog.csdn.net/dai_zhenliang/article/details/8588576#t4 教程作者:戴振良 本文与& ...

  2. angular directive指令内的参数

    angular.module('myApp', []) .directive('myDirective', function() { return { restrict: String, priori ...

  3. Ant快速入门&lpar;一&rpar;-----Ant介绍

    Ant是一种基于Java的生成工具.从作用上来看,它类似于C编程(UNIX平台上使用比较多)的Make工具,C/C++项目经常使用Make工具来管理整个项目的编译,生成 Make使用Shell命令来定 ...

  4. RAID6三块硬盘离线导致的数据丢失恢复过程

    小编我最近参与了一例非常成功的数据恢复的案例,在这里分享给大家.用户是一组6块750G磁盘的 RAID6,先后有两块磁盘离线,但维护人员在此情况下依然没有更换磁盘,所以在第三块硬盘离线后raid直接崩 ...

  5. 2017-12-20python全栈9期第五天第一节之昨日内容回顾和作业讲解之字母变大写

    #!/user/bin/python# -*- coding:utf-8 -*-lis = [2,3,'k',['qwe',20,['k1',['tt','3','1']],89],'ab','adv ...

  6. Vim&plus;Ctags&plus;Cscope安装

    对比了下,感觉还是Vim比较专业. 一:使用说明: ‘/’查找忽略大小写,比如需要查找“book”,当输入/b的时候会自动找到第一个以"b"开头的单词 实现C程序的缩减 查询中* ...

  7. 从简单的mongodb example 的观察

    https://github.com/no7dw/mongodb-example 这是最基础的连接查询.(branch master) var MongoClient = require('mongo ...

  8. &lbrack;Backbone&rsqb;8&period; Level 7&colon; Router and history

    1. Ceate a route Class var AppRouter = Backbone.Router.extend({ }); 2. Add a route name it "sho ...

  9. 【Python】如何取到input中的value值?

    练习:取到下方链接下所有海贼王的下载链接. # coding=utf-8 from selenium import webdriver from time import sleep import ke ...

  10. 实用的 Chrome Developers Tools

    做前端的,都喜欢 chrome , 里面的开发工具也很实用,网上看到文章不错,部分摘来分享 ------------------------------- console.log,中包含一些格式化的指 ...