手机网上商城-项目经验总结(六)-更新商品
来源:互联网 发布:web在线考试系统源码 编辑:程序博客网 时间:2024/05/18 00:59
6.商品的更新// 编辑public void update(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException, IllegalAccessException,InvocationTargetException, FileUploadException {FileItemFactory fileItemFactory = new DiskFileItemFactory();ServletFileUpload sf = new ServletFileUpload(fileItemFactory);if (sf.isMultipartContent(request))// 判断表单enctype为否为mutipart-data{// 如果表单含有上传标签,那么getParamMap方法失效,// 因为前台input太多,所以我们要使用beanUtils快速封装,那么我们就需要自己封装Map了Map<String, String> paramsMap = new HashMap<String, String>();List<FileItem> itemList = sf.parseRequest(request);// 1.上传for (FileItem fileItem : itemList) {if (!fileItem.isFormField())// 判断是否为上传组件{if (fileItem.getSize() > 0) {// 判断前台选择文件没有// 1.1执行上传// 1.1.1获取服务器上传目录路径String path = getServletContext().getRealPath("/products");// 1.1.2上传InputStream is = fileItem.getInputStream();// getFieldName()获取表单标签name属性值// getName()获取文件名// getString()获取表单标签value值FileOutputStream fos = new FileOutputStream(new File(path, fileItem.getName()));IOUtils.copy(is, fos);// 清除临时文件fileItem.delete();is.close();fos.close();// 将pimage属性存入mapparamsMap.put(fileItem.getFieldName(), "products/"+ fileItem.getName());} } else// 普通组件{paramsMap.put(fileItem.getFieldName(),fileItem.getString("UTF-8"));}}// 2.封装product对象 保存到数据库里Product product = new Product();BeanUtils.populate(product, paramsMap);// 保存欲修改的对象 供删除Product delete_product = ps.findProductByPid(product.getPid());boolean result = ps.updateProduct(product);// 修改成功后删除if (delete_product.getPimage() != null) {if (result) {String path = getServletContext().getRealPath("");File file = new File(path, delete_product.getPimage());if (file.exists()) {file.delete();}}}if (result) {response.getWriter().println("<script>confirm('修改成功');location.href='/ShopStore/product?method=list';</script>");} else {response.getWriter().println("<script>confirm('修改失败');location.href='/ShopStore/admin/product/edit.jsp;</script>");}}}
阅读全文
0 0
- 手机网上商城-项目经验总结(六)-更新商品
- 手机网上商城-项目经验总结(五)-添加商品
- 手机网上商城-项目经验总结(八)-商品浏览记录
- 手机网上商城-项目经验总结(十一)-修改购物车商品数量
- 手机网上商城-项目经验总结(三)-QueryRunner
- 手机网上商城-项目经验总结(一)-项目开发流程
- 手机网上商城-项目经验总结(二)-创建项目结构
- 手机网上商城-项目经验总结(四)-BaseServlet类
- 手机网上商城-项目经验总结(七)-导航栏功能
- 手机网上商城-项目经验总结(九)-邮箱激活注册
- 手机网上商城-项目经验总结(十)-自动登录
- 手机网上商城-项目经验总结(十二)-filter定义权限拦截
- Java EE网上商城项目(更新完毕)
- 【SSH网上商城项目实战09】添加和更新商品类别功能的实现
- 【SSH网上商城项目实战12】添加和更新商品功能的实现
- 【SSH网上商城项目实战28】使用Ajax技术局部更新商品数量和总价
- 【SSH网上商城项目实战09】添加和更新商品类别功能的实现
- 【SSH网上商城项目实战12】添加和更新商品功能的实现
- RecyclerView的多条目加载,添加头布局
- JavaScript设计模式
- 手机网上商城-项目经验总结(五)-添加商品
- 求1+2+3+...+njava实现
- try-catch-finally
- 手机网上商城-项目经验总结(六)-更新商品
- 【bzoj2318】Spoj4060 game with probability Problem
- 能整除1400的数目是__?面试题
- postgresql使用的一些笔记
- Mysql57, 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。 error1045
- 深入浅出设计模式
- 手机网上商城-项目经验总结(七)-导航栏功能
- Split String
- 线性时间选择算法