A.使用response.sendRedirect时,前面不能有HTML输出
这并不是绝对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。事实上现在的server都有cache机制,一般在8K(我是说JSP SERVER),这就意味着,除非你关闭了cache,或者你使用了out.flush()强制刷新,那么在使用sendRedirect之前,有少量的HTML输出也是允许的。
B.response.sendRedirect之后,应该紧跟一句return
我们已经知道response.sendRedirect是通过浏览器来做转向的,所以只有在页面处理完成后,才会有实际的动作。既然你已经要做转向了,那么后的输出还有什么意义呢?而且有可能会因为后面的输出导致转向失败。
sendRedirect是由浏览器来做的事情。当调用sendRedirect,服务端返回一个response,里面包含了跳转的内容,由浏览器获得后,进行跳转,我们可以看到浏览器中的URL是改变的。而forward则是在服务端直接做的事情,浏览器并不知道,这也就是为什么forward后浏览器的URL还是保持不变的原因。

sendRedirect()与foward相关推荐

  1. HttpServletResponse.sendRedirect和RequestDispatcher.foward的区别(重定向与转发)

    foward只能在同一个Web应用内转发,相对URL为"/"时是相对于当前Web应用程序的根目录. sendRedirect可以重定向到同一Web站点上的其他Web应用上,相对UR ...

  2. 面试题: !=!=未看12 略多 sql语句练习 非常 有用

    JAVA面试总结 2015年03月25日 16:53:40 阅读数:4306 刚才看到的,先转载过来,没准以后用到-- 面试总结 2013年8月6日: 问题2:Hibernate的核心接口有哪些?   ...

  3. forward()和sendRedirect()的区别

    forward()就是转发.sendRedirect就是重定向.两者最大的区别其实是,前者传输不会改变地址,不能在传输参数,只能在代码中设置参数:而后者是跳转到指定的url地址,会改变地址栏上的信息, ...

  4. foward和redirect的区别

    Foward(转发) 使用: HttpServletRequest.getRequestDispatcher(URL).forward(request, response) 或者 HttpServle ...

  5. servlet中的重定向redirect和请求转发foward

    重定向redirect的特点: 地址栏发生变化 可以访问其他服务器/站点的资源 重定向是两次请求,不能使用request对象来共享数据 转发foward的特点: 地址栏路径不变 只能访问当前服务器下的 ...

  6. response.sendRedirect()重新定向的乱码问题

    这里response.sendRedirect("YPbianhaoModify.jsp?jinhuoshang="+jinhuoshang+"&jinhuori ...

  7. Cannot call sendRedirect() after the response has been committed解决方法

    Cannot call sendRedirect() after the response has been committed解决方法 参考文章: (1)Cannot call sendRedire ...

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

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

  9. JSP中页面跳转response.sendRedirect()和request.getRequestDispatcher()的区别

    Java Web开发中,采用MVC模式的时候,在控制器完成模型的调用之后会选择界面对用户响应,用常有2种方式 1,通过response对象的sendRedirect方法重定向: response.se ...

最新文章

  1. 《中国人工智能学会通讯》——11.52 基于直推式学习的异质人脸图像 合成
  2. oracle 根据分隔符提取,oracle根据分隔符获取字符串
  3. C语言指针和二维数组
  4. MOBA项目定点数的一个想法
  5. 彻底理解 Python 生成器
  6. 以太坊Dapp项目-网页钱包开发手册
  7. 易语言编写的档案管理系统源码_校园固定资产管理系统方案
  8. Python Pandas General functions(静态方法)
  9. Vue编写动态组件实践(render函数的使用心得)
  10. php二级域名 同步登录,php网站单点登录--卷一(跨二级域名)
  11. 使用 virt-install 创建虚拟机
  12. C++字符串使用sizeof时注意
  13. PropertyUtils
  14. py笔记.字典的使用
  15. 关闭compactos_开启Compact压缩Win10系统文件,为Win10系统盘瘦身
  16. 音视频处理工具ffmpeg基本使用
  17. C语言ctime函数
  18. 网桥VLAN GROUP组
  19. 第一个TensorFlow模型:摄氏度转换为华氏度
  20. AVPlayer 本地、网络视频播放相关

热门文章

  1. 智能法律全球化:推动全球法律治理与合作
  2. [高等数学] 速查——等价无穷小替换公式 及 无穷小比阶
  3. android使用fat-aar打包,本地aar和第三方依赖库以及遇到的问题
  4. 达摩院重要科技突破!空天数据库引擎Ganos解读
  5. 【linux】inux操作系统常见指令
  6. 计算机基础知识和实践技能300分,2019年河北省高职单招考试十类和对口电子电工类、计算机类联考职业适应性测试(计算机基础知识和实践技能)考试大纲考试形式...
  7. 股价暴涨59%后,美股二手车平台Carvana在短期内还会进一步上涨?
  8. JavaScript语言精粹——对象
  9. 微信抢红包的算法实现(C++)
  10. mysql 5.6 mysqli_php-如何安装MySQLi