我有一个描述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");`
答案 0 :(得分:0)
这是Web主机的问题,而不是JSP。您可以将Web主机配置为将JSP文件视为Java服务器页面文件。我的猜测是它将它们视为一个简单的资源文件。
并非您尝试直接从浏览器加载jsp文件,对吧?浏览器不处理jsp文件。它处理html文件。您可以将jsp文件视为服务器必须首先转换的html文件。
我知道您希望将所有内容放在同一台计算机上,但这并不意味着您可以绕过标准的http协议。您仍然需要服务器,即使它与客户端是同一台计算机。我建议您使用Tomcat。它是免费的,轻量级的,可以完成任务,包括开箱即用的正确加载jsp文件,可以这么说。