servlet设置缓存时间以及文件的下载
缓存时间的设置:
1 public void doGet(HttpServletRequest request, HttpServletResponse response) 2 throws ServletException, IOException { 3 4 response.setContentType("text/html;charset=UTF-8"); 5 PrintWriter out = response.getWriter(); 6 response.setDateHeader("Expires", System.currentTimeMillis()+60*60*1000);//缓存时间一小时 7 out.write("hello world"); 8 }
通知客户端文件的下载,此处以图片为例:
1 public void doGet(HttpServletRequest request, HttpServletResponse response) 2 throws ServletException, IOException { 3 response.setContentType("text/html"); 4 ServletContext context=getServletContext(); 5 6 String path=context.getRealPath("/picture.jpg"); 7 String fileName=path.substring(path.lastIndexOf("\\")+1); 8 InputStream in=new FileInputStream(path); 9 10 //通知客户端文件的下载 URLEncoder.encode解决文件名中文的问题 11 response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode(fileName, "utf-8")); 12 response.setHeader("Content-Type", "application/octet-stream"); 13 14 OutputStream out=response.getOutputStream(); 15 int length=-1; 16 byte []buffer=new byte[1024]; 17 while((length=in.read(buffer))!=-1){ 18 out.write(buffer,0,length); 19 } 20 in.close(); 21 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix