Servlet 原生 Response 实现文件下载
在 Web 开发中,有时候我们需要控制文件的下载行为,比如增加权限校验、记录日志或者处理中文文件名乱码等问题。这时候直接通过 HTML <a> 标签指向资源就不够用了,得靠后端 Servlet 配合 HttpServletResponse 来接管响应流。
前端测试页面
先准备一个简单的 HTML 页面,模拟用户点击下载链接的场景。这里对比了两种调用方式:一种是直接访问静态资源路径,另一种是走 Servlet 接口。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件下载测试</title>
</head>
<body>
<h1>使用 a 标签直接指向服务器上的资源</h1>
<a href="/download/a.flv">a.flv</a><br>
<a href="/download/a.jpg">a.jpg</a><br>
<a href="/download/a.mp3">a.mp3</a><br>
<a href="/download/a.mp4">a.mp4</a>
a.txt
a.zip
使用服务器端编码的方式实现文件下载
a.flv
a.jpg
a.mp3
a.mp4
a.txt
a.zip
美女.jpg

