`
dupengtao
  • 浏览: 31574 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

自学Servlet_3_response

阅读更多
response解决中文乱码问题:

		//更改response的码表,通知服务器用UTF-8码表去取response中的数据,然后写给客户机
		response.setCharacterEncoding("UTF-8");  
		//通知浏览器以UTF-8码表打开回送的数据
		//response.setHeader("content-type", "text/html;charset=UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		String data = "中国";
		PrintWriter writer = response.getWriter();
		writer.write(data);


实现中文文件下载(重点)
public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		//1.获取需要下载的文件
		String path = this.getServletContext().getRealPath("/download/日本妞.jpg");
		String filename = path.substring(path.lastIndexOf("\\")+1);
		
		//2.通知浏览器以下载方式打开  (下载的中文文件名必须要给过URL编码)
		response.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(filename, "UTF-8"));
		
		//3.向浏览器写出数据
		//传输数据的模板代码
		FileInputStream in = null;
		try{
			OutputStream out = response.getOutputStream();
			in = new FileInputStream(path);
			
			byte buffer[] = new byte[1024];
			int len = 0;
			while((len=in.read(buffer))>0){
				out.write(buffer,0,len);
			}
		}finally{
			if(in!=null){
				in.close();
			}
		}
		
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics