View
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter writer = response.getWriter();
writer.print("<a href=/ServletDemo1/DownLoadServlet?filename=图片1>图片1</a><br/>");
writer.print("<a href=/ServletDemo1/DownLoadServlet?filename=图片2>图片2</a><br/>");
writer.print("<a href=/ServletDemo1/DownLoadServlet?filename=图片3>图片3</a><br/>");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
DownLoadServlet
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String url = request.getHeader("referer");
if (url == null || !url.startsWith("http://localhost/ServletDemo1")) {
response.sendRedirect("/ServletDemo1/Error");
}
response.setContentType("text/html;charset=UTF-8");
String filename = request.getParameter("filename");
String newFilename = new String(filename.getBytes("iso-8859-1"),
"utf-8");
// 获取 项目下文件的 真实路径
String path = this.getServletContext().getRealPath(
"/" + newFilename + ".png");
// 设置下载即可
String fileUrlName = java.net.URLEncoder.encode(newFilename, "utf-8");
response.setHeader("Content-Disposition", "attachment;filename="
+ filename + "");
InputStream inputStream = new FileInputStream(path);
OutputStream outputStream = response.getOutputStream();
byte[] buf = new byte[1024];
int len = 0;
while ((len = inputStream.read(buf)) > 0) {
outputStream.write(buf, 0, len);
}
inputStream.close();
outputStream.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
Error
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("休想盗链!");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}