【JSP开发】关于下载文件response的设置

简介:
package cn.edu.Response;


import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;


import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.omg.CORBA_2_3.portable.OutputStream;


public class ResponseDemo3 extends HttpServlet {


	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
          String path=this.getServletContext().getRealPath("/download/阿木木.jpg");
          String filename=path.substring(path.lastIndexOf("\\")+1);
          
          //如果下载名是中文,则文件名需要经过url编码URLEncoder.encode(filename,"UTF-8")(平常直接+文件名即可)
          response.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(filename,"UTF-8"));
          
          InputStream in=null;
          ServletOutputStream out=null;
      try{
          in=new FileInputStream(path);
          int len=0;
          byte buffer[] = new byte[1024];
          out=response.getOutputStream();
          while((len=in.read(buffer))>0)
          {
        	  out.write(buffer,0,len);
          }
      }finally{
    	  if(in!=null){
    		  try{
    			  in.close();
    		  }catch(Exception e){
    			  e.printStackTrace();
    		  }
    	  }
    	  if(in!=null){
    		  try{
    			  out.close();
    		  }catch(Exception e){
    			  e.printStackTrace();
    		  }
    	  }
      }
      
	}


	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
       doGet(request,response);
	}


}

相关文章
|
29天前
|
Java 数据库连接 mybatis
springboot访问jsp页面变成直接下载?
springboot访问jsp页面变成直接下载?
29 0
|
2月前
|
前端开发 Oracle 关系型数据库
关于使用SSM+JSP开发时setter、getter隐式调用问题的小结
关于使用SSM+JSP开发时setter、getter隐式调用问题的小结
38 3
|
6月前
|
存储 Java 关系型数据库
JSP考试质量分析系统myeclipse开发mysql数据库bs框架java编程web网页结构
JSP 考试质量分析系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发,系统主要采用B/S模式开发。
183 1
|
1月前
|
存储 安全 前端开发
ssm226基于jsp的快递管理系统的开发
ssm226基于jsp的快递管理系统的开发
|
6月前
|
存储 Java 关系型数据库
JSP考试质量分析系统myeclipse开发mysql数据库bs框架java编程web网页结构
JSP 考试质量分析系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发,系统主要采用B/S模式开发。
125 0
|
3月前
|
XML Java 数据格式
IDEA 设置JSP启动页面/默认页面
IDEA 设置JSP启动页面/默认页面
24 0
|
3月前
|
SQL 前端开发 Java
JSP技术详解及其在Web开发中的应用
【1月更文挑战第2天】本文将对JSP(Java Server Pages)技术进行详细的介绍和分析。JSP是一种基于Java的服务器端编程技术,它允许开发者在HTML或XML等文档中直接嵌入Java代码片段,从而动态地生成Web页面内容。本文将首先阐述JSP的基本原理和工作机制,然后讨论其在Web开发中的各种应用场景,包括表单处理、数据库访问、会话管理等,并通过实例代码展示JSP的实际应用。最后,本文将对JSP的优缺点进行评述,并对未来的发展趋势进行展望。
116 10
|
3月前
|
XML 前端开发 Java
Web开发: 什么是Servlet和JSP?
Web开发: 什么是Servlet和JSP?
78 0
|
5月前
|
前端开发 JavaScript Java
在jsp页面里面设置全局引用文件
在jsp页面里面设置全局引用文件
37 0
|
5月前
|
Java
jsp 设置404页面
jsp 设置404页面