servlet中页面跳转response.sendRedirect() 详解_sevlet response.sendredirect-程序员宅基地

技术标签: JAVA日记  浏览器  servlet  服务器  

问题提出:sendRedirect两次提交,forword一次提交。既然sendRedirect会返回浏览器,为什么在跳转之前输出out.prinln()不起作用

分析:服务器在向客户端输出时,即out.prinln(),并不会及时的返回到客户端,而是会放到缓冲区中,只有当缓冲区溢出或则调用out.flush()或则response.flushBuffer()提交时

才向客户端输出,而调用response.sendRedirect()会清空缓冲区内容,所以在跳转之前写的客户端输出代码不会有效果

 

例如:

public void doGet(HttpServletRequest resquest,HttpServletResponse response) throws ServletException,IOException

{

         response.setContentType("text/;html");

         PrintWriter out=response.getWriter();

     (1)   out.println("会显示吗?")

     (2)      out.println("<script>alert('会弹出警告框吗');</scrit>");

      (3)   response.sendRedirct("xxx.html");

          out.flush;

          out.close();

}

说明:上程序当执行(1),(2)时,并没有向客户端输出,而是放到缓冲区中,但是(3)执行后会清空缓冲区,所以页面直接跳转了

例如:

将上程序做稍微变动,在(3)之前加入 response.flushBuffer();  强制提交当前缓冲区中的内容,此时(1),(2)都能正常输出,但已经提交客户端,所以跳转也就无效了

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhuoyuetec/article/details/7847223

智能推荐

can't return outside function or method解决方法_return outside method-程序员宅基地

文章浏览阅读4.5k次。今天写web项目作业时,发现jsp中“Cannot return from outside a function or method” 提示return出错,百度了一下,网上说这是myeclipse的一个bug,去掉return就好了,去掉之后果然不报错,但是之后发现onSubmit()不能阻止表单提交,再百度之,原来这个return还真不能去掉。以下就是今天错误的解决方法 1_return outside method

python爬取研究生招生网招生信息_考研信息api-程序员宅基地

文章浏览阅读7.2k次,点赞3次,收藏64次。import requestsfrom bs4 import BeautifulSoupfrom pandas.core.frame import DataFrameimport reimport timeclass Graduate: def __init__(self, province, category): self.head = { ..._考研信息api

web结课作业的源码 WEB静态网页作业模板 大学生个人主页博客网页代码 dw个人网页作业成品简单页面-程序员宅基地

文章浏览阅读330次,点赞8次,收藏10次。HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 精彩专栏推荐 【作者主页——获取更多优质源码】 【学习资料/简历模板/面试资料/ 网站设计与制作】 【web前端期末大作业——毕设项目精品实战案例】---@[TOC](文章目录)一、网页介绍1 网页简介:此作品为学生个人主

ICML2019|深度学习鼻祖之一Bengio提出并开源图马尔科夫神经网络-程序员宅基地

文章浏览阅读724次。Meng Qu,Yoshua Bengio,Jian TangMontreal Institute for Learning Algorithms (MILA), Uni..._马尔可夫 图神经网络

【Scikit-Learn】初试开源机器学习工具_# author: gael varoquaux <gael.varoquaux@normalesu-程序员宅基地

文章浏览阅读904次。啊好久没用Markdown以外的编辑器了,这次随性一点就用xhEditor吧~嘛,写的确实也挺随(luan)性(xie)的23333$ pip install -U scikit-learn$ wget http://scikit-learn.org/stable/_downloads/plot_spectral_biclustering.py$ wget http://sciki_# author: gael varoquaux

VMware vSphere 6 序列号大全-程序员宅基地

文章浏览阅读1.7w次,点赞4次,收藏11次。转载自 http://www.i5i6.net/post/190.htmlvSphere 6 HypervisorHY0XH-D508H-081U8-JA2GH-CCUM24C4WK-8KH8L-H85J0-UHCNK-8CKQ8NV09R-2W007-08D38-CA956-33U28JU400-6EK4L-080V9-QT8EP-2KAQ2vSphere 6 Hypervisor for E..._esxi 6.0 序列号

随便推点

一个文科生从零到进入大厂的感悟(3小时掌握一门编程语言)_文科生进在华为云工作需要学编程代码-程序员宅基地

文章浏览阅读527次。你学编程的方法对吗?你是否手写代码?你是否死记硬背?你是否把学文科的方法应用到编程上?你是否前面学后面忘?你是否在抱怨编程难学?如果你遇到上面这些问题,很遗憾的告诉你,你学习的方法错了。这些问题我都遇到过,我一开始学编程的时候,感觉可难了,当时就是照着别人的视频和教程一点点的学,一点点的敲代码,记忆,可是几个月过去了又忘光了,不断重复这种死循环。直到有一天,我认识了一位前辈,我发现,我错了,编程不是这么学的。1.不要看视频学习那编程应该怎么学呢?首先我不建议你去看视频学习,因为这种学_文科生进在华为云工作需要学编程代码

Echarts基础-安装语法高亮插件&less-rem转换动态适配大小_echarts无法rem转换-程序员宅基地

文章浏览阅读1k次,点赞33次,收藏13次。Echarts是一个功能强大的JavaScript开源可视化库,专门用于创建各种图表和数据可视化。丰富的图表类型:Echarts提供了包括折线图、柱状图、散点图、饼图、雷达图、地图等多种常见的图表类型,满足不同的数据展示需求。兼容性良好:它可以流畅运行在PC和移动设备上,并且兼容多种浏览器,如IE8/9/10/11,Chrome,Firefox,Safari等。底层依赖ZRender:Echarts底层依赖于矢量图形库ZRender,这使得其能够提供直观且交互性强的数据可视化效果。_echarts无法rem转换

Spring框架以及源码学习_spring框架源码-程序员宅基地

文章浏览阅读769次。一、Spring注解驱动开发1.容器—组件注册-@Configuration&@Bean给容器中注册组件—组件注册-@ComponentScan-自动扫描组件&指定扫描规则—组件注册-自定义TypeFilter指定过滤规则—组件注册-@Scope-设置组件作用域—组件注册-@Lazy-bean懒加载—组件注册-@Conditional-按照条件注册bean...................._spring框架源码

Vue播放器之vue-video-player及其问题_vue mp4编码-程序员宅基地

文章浏览阅读3k次。Vue播放器之vue-video-player及其问题一、使用vue-video-player1.安装 npm install vue-video-player --save2.main.js引入vue-video-playerimport VideoPlayer from 'vue-video-player'require('video.js/dist/video-js.css')require('vue-video-player/src/custom-theme.css')Vue.u_vue mp4编码

Qt 杂项(Qwt、样式等)_qwt 样式-程序员宅基地

文章浏览阅读608次。QwtDial 的指针是由QwtDialNeedle类绘制的,自定指针也就是实现QwtDialNeedle的子类继承QwtDialNeedle只需要实现drawNeedle函数i < 4;i++ )滑块是通过drawHandle函数绘制;可以通过一个函数指针,将外部绘制滑块的逻辑引入,替换默认绘制逻辑函数指针定义(qwt_slider.h):主要参数:handleRect,绘制滑块的区域,根据handleRect的坐标范围进行自定义绘制。_qwt 样式

repeater内绑定事件_repeater 绑定事件-程序员宅基地

文章浏览阅读806次。1,只要有回发,就要把GetList放在 Page_Load(){if (!IsPostBack){}}中, 2, ' > ' /> protected void Page_Load(object sender, EventArgs e)_repeater 绑定事件

推荐文章

热门文章

相关标签