jsp使用七牛云API和webuploader上传多组图片( 二 )

getPhotoByUserId(Integer id) {Connection conn = null;PreparedStatement ps = null;FileInputStream in = null;ResultSet rs = null;ArrayList userPhotos = new ArrayList();try {conn = DBUtil.getConn();//String sql = "select * from photo where id = " + id;String sql = "select userid, photoname, photourl from userphoto where userid = " + id;ps = conn.prepareStatement(sql);rs = ps.executeQuery(sql);while (rs.next()) {UserPhoto userPhoto = new UserPhoto(rs.getInt(1),rs.getString(2),rs.getString(3));userPhotos.add(userPhoto);}} catch (Exception e) {e.printStackTrace();} finally {DBUtil.closeConn(conn);if (null != ps) {try {ps.close();} catch (SQLException e) {e.printStackTrace();}}}return userPhotos;}/*** 插入用户,返回用户id(主键)** @param userInfo* @return*/@Overridepublic Integer addUser(UserInfo userInfo) {Connection conn = null;PreparedStatement ps = null;Integer ansId = null;try {conn = DBUtil.getConn();String sql = "insert into userinfo (username,birthday) values(?,?)";ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);ps.setString(1, userInfo.getUsername());ps.setObject(2, userInfo.getBirthday());int count = ps.executeUpdate();if (count > 0) {System.out.println("插入成功!");ResultSet rs = ps.getGeneratedKeys();if (rs.next()) {//获取主键,设置了主键自增ansId = rs.getInt(1);}} else {System.out.println("插入失败!");}} catch (Exception e) {e.printStackTrace();} finally {DBUtil.closeConn(conn);if (null != ps) {try {ps.close();} catch (SQLException e) {e.printStackTrace();}}}return ansId;}/*** 根据要求查看用户* @param name* @param startDate* @param endDate* @return*/@Overridepublic ArrayList> getSomeUser(String name, String startDate, String endDate) {Connection conn = null;PreparedStatement ps = null;FileInputStream in = null;ResultSet rs = null;ArrayList> arrs = new ArrayList<>();logger.debug("正常进入");try {conn = DBUtil.getConn();String sql = "select id,username,birthday from userinfo where ";if (name != null && !name.equals("")) {sql += " username like '%" + name + "%' ";} else {sql += " username like '%' ";}if (startDate!= null) {sql += " and birthday >= '" + java.sql.Date.valueOf(startDate) + "'";}if (endDate!= null) {sql += " and birthday <= '" + java.sql.Date.valueOf(endDate) + "'";}sql += " order by id ";logger.info("sql: " + sql);ps = conn.prepareStatement(sql);rs = ps.executeQuery(sql);while (rs.next()) {Map map = new HashMap();Integer id = rs.getInt(1);String username = rs.getString(2);java.util.Date birthday = rs.getDate(3);map.put("id", id.toString());map.put("username", username);map.put("birthday",birthday.toString());arrs.add(map);}} catch (Exception e) {e.printStackTrace();} finally {DBUtil.closeConn(conn);if (null != ps) {try {ps.close();} catch (SQLException e) {e.printStackTrace();}}}return arrs;}}
package top.sehnsucht;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import top.sehnsucht.util.Qiniu;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.File;import java.io.IOException;import java.util.Iterator;import java.util.List;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;import org.apache.log4j.Logger;/*** @Description:* @Author: Cai* @CreateTime: 2021/10/29*/public class UploadServlet extends HttpServlet {private Logger logger=Logger.getLogger(this.getClass());private Lock lock = new ReentrantLock();@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {lock.lock();try {req.setCharacterEncoding("utf-8");resp.setCharacterEncoding("utf-8");resp.setContentType("text/html; charset=UTF-8");logger.info("单次请求" + req);//判断文件是否可以上传boolean isMultipart = ServletFileUpload.isMultipartContent(req);//可以上传,有问题就报异常if (isMultipart) {//创建一个FileItem工厂,通过工厂创建文件上传核心组件ServletFileUpload对象ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());try {//通过核心上传组件解析request请求,获取表单的所有表单项,表单的每一个表单项对应一个FileItemList