背景

将XML文档写入浏览器的响应流,并导致浏览器显示“另存为”对话框。

问题

考虑以下的download()方法:

HttpServletResponse response = getResponse();

BufferedWriter bw = new BufferedWriter( new OutputStreamWriter(

response.getOutputStream() ) );

String filename = "domain.xml";

String mimeType = new MimetypesFileTypeMap().getContentType( filename );

// Prints "application/octet-stream"

System.out.println( "mimeType: " + mimeType );

// response.setContentType( "text/xml;charset=UTF-8" );

response.setContentType( mimeType );

response.setHeader( "Content-Disposition", "attachment;filename="

+ filename );

bw.write( getDomainDocument() );

bw.flush();

bw.close();

在Firefox中,XML内容显示在浏览器窗口中。在IE 7中,XML内容不显示 – 您必须查看文档源。两种情况都不是预期的结果。

该网页使用以下代码进行按钮:

生成的XML不以开头,而XML内容类似于:

更新#1

请注意以下代码行:

response.setHeader( "Content-Disposition", "attachment;filename=" + filename );

更新#2

使用< a4j:commandButton ... />是问题;常规的< h:commandButton ... />按预期执行。使用< h:commandBUtton ... />防止< a4j:outputPanel ... />从刷新任何错误消息。

Mime类型

以下mime类型不会触发“另存为”对话框:

>“application / octet-stream”

>“text / xml”

>“text / plain”

什么更改会导致a4j:commandButton触发“另存为”对话框,以便提示用户保存XML文件(如domain.xml)?

谢谢。

java http响应头,java – HTTP响应标头内容处理附件相关推荐

  1. http简介以及常见知识和http请求头,响应头,状态码,内容类型对照表分享(超实用)

    1.http简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的 ...

  2. HTML做frame跳转设置响应头,X-Frame-Options header响应头如何配置

    摘要: X-Frame-Options:值有三个(1)DENY:表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许.(2)SAMEORIGIN:表示该页面可以在相... X- ...

  3. Java web—Servlet的请求与响应

    前言:         在家上网课快上疯了╰(‵□′)╯,上课连课本都没有,太难受了呜呜呜~, 只能在blog里记录一下这段时间的学习的内容,太难了- 一.servlet概述: 运行在WEB服务器端的 ...

  4. Android系列之网络(二)----HTTP请求头与响应头

    一.HTTP头引入: 正确的设置HTTP头部信息有助于搜索引擎判断网页及提升网站访问速度.通常HTTP消息包括:客户机向服务器的请求消息和服务器向客户机的响应消息.客户端向服务器发送一个请求,请求头包 ...

  5. HTTP请求头与响应头

    本篇文章中,将学习一下HTTP请求头与响应头的知识. 一.HTTP头引入: 正确的设置HTTP头部信息有助于搜索引擎判断网页及提升网站访问速度.通常HTTP消息包括:客户机向服务器的请求消息和服务器向 ...

  6. Request Headers 和Response Headers——请求头和响应头

    前沿 作为一个前端开发工程师看不懂每条请求的请求头和响应头,实在是一件很难受的事情.最近花了一些时间整理了一篇文档,一起来看看前后端交互时每个资源的信息. 谷歌浏览器调试工具--查看请求资源的信息数据 ...

  7. 3、HTTP请求头与响应头

    HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...

  8. HTTP请求头和响应头

    请求头 Accept:浏览器可接受的MIME类型. 就是希望服务器返回什么类型的数据,比如application/json,text/html,image/png,*/* Accept:applica ...

  9. 查看HTTP 各方法的消息请求头和响应头——get/head/post/put

    今天介绍一下如何获取HTTP消息的请求头和响应头,请求头,顾名思义,就是包含在客户端发送给服务器的HTTP请求消息的头部,响应头包含在服务器响应客户端的请求消息的返回消息的头部.请求头中有客户端期望服 ...

最新文章

  1. 【动画1】UIView动画
  2. c语言50到100套,c语言51-100套试题答案及详解.pdf
  3. 体系结构方案 -BI 系统的前置计算
  4. 【数字信号处理】线性常系数差分方程 ( 根据 “ 线性常系数差分方程 “ 与 “ 边界条件 “ 确定系统是否是 “ 线性时不变系统 “ 案例二 | 修改边界条件 | 使用递推方法证明 )
  5. 二元函数洛必达求极限_洛必达法则的几个例子
  6. DHCP 不同情况的操作
  7. html数字自动滚动代码怎么写,你可能需要这样的大屏数字滚动效果
  8. OpenShift 4 - 使用教程和免费试用环境
  9. vscode 连接服务器jupyter_VScode中使用jupyter notebook
  10. 相继平均法matlab代码_matlab实现不同平均数的求法
  11. 5101是多大的电阻_贴片电阻1206-5101(5.1K) 1206
  12. iir滤波器c语言程序,请教C语言做iir滤波器问题
  13. pdf加水印怎么加?五个步骤非常简单
  14. 【最简单】地图获取经纬度的办法
  15. 【数据库设计-2】权限设计-系统登录用户权限设计
  16. Manjaro第二天
  17. OneNET麒麟座应用开发之七:控制采样电机
  18. 【Android】图形图像处理
  19. SLA,SLO和SLI工程师指南
  20. 数据结构 - 环形队列

热门文章

  1. opencv24-直方图比较
  2. 测试管理 | 基于风险的测试
  3. 在windows下的cmd中如何进入与退出mysql
  4. 抽卡时下拉通知栏导致icon丢失
  5. 利用cors,实现js跨域访问Tomcat下资源
  6. IOS基础:ActionSheet(上拉菜单)的实现
  7. 树形动规_(战略游戏)
  8. 建立在Windows XP欢迎屏幕中隐藏的用户
  9. .NET 指南:捕获并且抛出标准的异常类型
  10. Eclipse环境下面的配置(转载)