发表于: 2017-05-16 09:32:17
2 1328
【说明】今天做了产品图片的servlet和jsp
一:今日完成
查询
public String list(HttpServletRequest request, HttpServletResponse response, Page page) {
int pid = Integer.parseInt(request.getParameter("pid"));
Product p =productDAO.get(pid);
List<ProductImage> pisSingle = productImageDAO.list(p, ProductImageDAO.type_single);
List<ProductImage> pisDetail = productImageDAO.list(p, ProductImageDAO.type_detail);
request.setAttribute("p", p);
request.setAttribute("pisSingle", pisSingle);
request.setAttribute("pisDetail", pisDetail);
return "admin/listProductImage.jsp";
}
删除
public String delete(HttpServletRequest request, HttpServletResponse response, Page page) {
int id = Integer.parseInt(request.getParameter("id"));
ProductImage pi = productImageDAO.get(id);
productImageDAO.delete(id);
if(ProductImageDAO.type_single.equals(pi.getType())){
String imageFolder_single= request.getSession().getServletContext().getRealPath("img/productSingle");
String imageFolder_small= request.getSession().getServletContext().getRealPath("img/productSingle_small");
String imageFolder_middle= request.getSession().getServletContext().getRealPath("img/productSingle_middle");
File f_single =new File(imageFolder_single,pi.getId()+".jpg");
f_single.delete();
File f_small =new File(imageFolder_small,pi.getId()+".jpg");
f_small.delete();
File f_middle =new File(imageFolder_middle,pi.getId()+".jpg");
f_middle.delete();
}
else{
String imageFolder_detail= request.getSession().getServletContext().getRealPath("img/productDetail");
File f_detail =new File(imageFolder_detail,pi.getId()+".jpg");
f_detail.delete();
}
return "@admin_productImage_list?pid="+pi.getProduct().getId();
}
增加
public String add(HttpServletRequest request, HttpServletResponse response, Page page) {
InputStream is = null;
Map<String,String> params = new HashMap<>();
is = parseUpload(request, params);
//根据上传的参数生成productImage对象
String type= params.get("type");
int pid = Integer.parseInt(params.get("pid"));
Product p =productDAO.get(pid);
ProductImage pi = new ProductImage();
pi.setType(type);
pi.setProduct(p);
productImageDAO.add(pi);
//生成文件
String fileName = pi.getId()+ ".jpg";
String imageFolder;
String imageFolder_small=null;
String imageFolder_middle=null;
if(ProductImageDAO.type_single.equals(pi.getType())){
imageFolder= request.getSession().getServletContext().getRealPath("img/productSingle");
imageFolder_small= request.getSession().getServletContext().getRealPath("img/productSingle_small");
imageFolder_middle= request.getSession().getServletContext().getRealPath("img/productSingle_middle");
}
else
imageFolder= request.getSession().getServletContext().getRealPath("img/productDetail");
File f = new File(imageFolder, fileName);
f.getParentFile().mkdirs();
try {
if(null!=is && 0!=is.available()){
try(FileOutputStream fos = new FileOutputStream(f)){
byte b[] = new byte[1024 * 1024];
int length = 0;
while (-1 != (length = is.read(b))) {
fos.write(b, 0, length);
}
fos.flush();
//通过如下代码,把文件保存为jpg格式
BufferedImage img = ImageUtil.change2jpg(f);
ImageIO.write(img, "jpg", f);
if(ProductImageDAO.type_single.equals(pi.getType())){
File f_small = new File(imageFolder_small, fileName);
File f_middle = new File(imageFolder_middle, fileName);
ImageUtil.resizeImage(f, 56, 56, f_small);
ImageUtil.resizeImage(f, 217, 190, f_middle);
}
}
catch(Exception e){
e.printStackTrace();
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "@admin_productImage_list?pid="+p.getId();
}
二:明日计划
产品属性值 管理
三:疑难问题
图片貌似不用编辑
四;思考总结
边界的把握不好做呀
评论