通过HTML响应下载文件

时间:2017-09-04 09:46:45

标签: javascript java html jsp download

我有一个描述HTML页面的JSP。单击表中的文档时,应从数据库下载文档。所有本地,没有客户端/服务器架构。致于我正在使用的特定架构,我只能使用JSP。我使用流构建文件,但是当我下载它时,文件包含JSP,而不是原始文件内容。我该如何解决这个问题?     注意:我尝试使用带有Javascript的href链接下载文件,但是不可能在简单的JSP中使用它。代码部分:

`   queryGetDoc+= "'"+submit+"'";
    resultSet2 = statement2.executeQuery(queryGetDoc);  
    File file = new File(submit);
    file.createNewFile();   
        if(resultSet2!=null){                   
        FileOutputStream fos = new FileOutputStream(file);  
        resultSet2.first();
        InputStream  is = resultSet2.getBinaryStream(1);            
        byte[] buf = new byte[4096];
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        int read = 0;
         while ((read = is.read(buf)) > 0) {
            fos.write(buf, 0, read);
        } 
       response.setHeader("Content-disposition","attachement; filename="+submit+suffix);
       response.setContentType("text/plain");
       response.setCharacterEncoding("UTF-8");` 

1 个答案:

答案 0 :(得分:0)

这是Web主机的问题,而不是JSP。您可以将Web主机配置为将JSP文件视为Java服务器页面文件。我的猜测是它将它们视为一个简单的资源文件。

并非您尝试直接从浏览器加载jsp文件,对吧?浏览器不处理jsp文件。它处理html文件。您可以将jsp文件视为服务器必须首先转换的html文件。

我知道您希望将所有内容放在同一台计算机上,但这并不意味着您可以绕过标准的http协议。您仍然需要服务器,即使它与客户端是同一台计算机。我建议您使用Tomcat。它是免费的,轻量级的,可以完成任务,包括开箱即用的正确加载jsp文件,可以这么说。