filename = request.getParameter("filename");
response.setContentType("application/x-download");
String destfilename = URLEncoder.encode(filename, "UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=\"" + destfilename + "\";");
需要说明的是,filename 不需要转换成UTF-8的原因是在服务器的 server.xml 的 Connector 节点设定了 URIEncoding 属性为 UTF-8 。见《JSP获取querystring的中文参数值 (2)》。