HttpServletResponse
1、Response文件下载
package com.kuang;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.Random;
public class filePath extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 1 获取下载的路径
String filePath="C:\\path\\javaweb\\response\\src\\main\\resources\\1.png";
//2 下载的文件名是啥
String substring = filePath.substring(filePath.lastIndexOf("\\") + 1);
//3 设置想办法让浏览器能够支持下载我们需要的东西
resp.setHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(filePath,"UTF-8"));
// 4 获取下载文件的输入流
FileInputStream InputStream = new FileInputStream(filePath);
// 5 创建缓冲区
int len ;
byte[] buffer = new byte[1024];
// 6 获取OutputStream对象
ServletOutputStream outputStream = resp.getOutputStream();
// 7 将FileOutputStream流写入到bufer缓冲区 8 使用OutputStream将缓冲区中的数据输出到客户端!
while ((len=InputStream.read())!=-1){
outputStream.write(buffer,0,len);
}
InputStream.close();
outputStream.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
2、随机生成6为数验证码
Random random = new Random();
String s = random.nextInt(111111)+"";
StringBuffer buffer1 = new StringBuffer();
for (int i = 0; i < 6-s.length(); i++) { // 这里必须得判断,不然可能会生成不是6位数
buffer1.append("0");
}
String s2=s+buffer1.toString();
浙公网安备 33010602011771号