这个网站是我做的,我要让用户电击的时候下载,而不是被解析,有什么方法吗?我用的tomcat4.01,最终的文件使用servlet response.redirect得到,先谢谢了!

解决方案 »

  1.   

    sorry 刚才断线了,以为需要重新登录,看来是用了cookie,呵呵你的问题应该不难,你在response的时候添加一个http header
    Content-Type: application/x-msdownload
    Content-Disposition: attachment;filename=yourfile.xml
    这样就是下载了比如要下载 http://server/test/1.xml
    就做成 http://server/download.jsp?id=xxx
    download.jsp 首先先增加header内容如上,随后去read xml文件内容然后out.print即可
    浏览器访问http://server/download.jsp?id=xxx
    首先看到这个header就知道是下载,然后就会根据
    Content-Disposition: attachment;filename=yourfile.xml
    的内容提示你保存为yourfile.xml
    呵呵,我没用java做过,用isapi和perl、asp做过,这是http协议的内容,只要换成java的方法应该没问题的。
      

  2.   

    不知道怎么添加这个http header
    在什么地方加啊,有原代码吗?
      

  3.   

    String filename = "test.xml";
      response.addHeader("Content-Type","application/x-msdownload");
      response.addHeader("Content-Disposition","attachment;filename=" + filename);
      //out.print(.....);
      

  4.   

    我写了段jsp简单的测试了一下,当你访问这个jsp的时候浏览器弹出对话框提示你保存 test.xml 文件。你所要做的是创建一个file对象,读出xml文件内容,并用out.print输出即可。
      

  5.   

    > 我用的tomcat4.01,最终的文件使用servlet response.redirect得到你的servlet 里面找到这个文件,读出内容,然后按照我说的方式用  javax.servlet.http.HttpServletResponse.addHeader(String,String),并输出文件内容即可。