从网页对放置在磁盘上的文件进行静态链接是一个坏主意,因此除非您的文件夹或文件位于 Web 应用程序的文件夹中,否则 jsp 不允许您这样做。
编写 servlet 或 struts 的动作来处理下载就可以了。
现在这里是关于 servlet process.struts 的操作的示例。
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String fileName = "filepath";
File file = new File(fileName);
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
resp.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName,"utf-8"));
resp.addHeader("Content-Length",String.valueOf(file.length()));
OutputStream out = new BufferedOutputStream(resp.getOutputStream());
resp.setContentType("application/octet-stream");
out.write(buffer);
out.flush();
out.close();
}