上傳文件

  1. publicclass D_BookServlet extends HttpServlet {  

  2. privatestaticfinallong serialVersionUID = 1L;  

  3. private D_BookService d_BookService = new D_BookServiceImpl();  

  4. @Override

  5. protectedvoid service(HttpServletRequest request, HttpServletResponse response)  

  6. throws ServletException, IOException {  

  7.        String method = request.getParameter("method");  

  8.        System.out.println(method);  

  9. if ("add".equals(method)) {  

  10.            upLoadFile(request,  response);  

  11.        }elseif("addbook".equals(method)){  

  12.            addBook(request, response);  

  13.        }elseif("edit".equals(method)){  

  14.            showBook(request, response);  

  15.        }  

  16.    }  

  17. //添加圖書

  18. privatevoid addBook(HttpServletRequest request, HttpServletResponse response) throws IOException{  

  19.          D_Book d_Book = new D_Book();  

  20.          String product_pic  = request.getParameter("product_pic");  

  21.          String product_name  = request.getParameter("product_name");   // varchar(100) NOT NULL,-- 商品名稱

  22.          String fixed_price   = request.getParameter("fixed_price");    // double NOT NULL,-- 商品定價

  23.          String dang_price    = request.getParameter("dang_price");     //double NOT NULL,-- 噹噹價

  24.          String author        = request.getParameter("author") ;        //varchar(200) NOT NULL,-- 作者

  25.          String publishing    = request.getParameter("publishing");     //varchar(200) NOT NULL,-- 出版社

  26.          String publish_time  = request.getParameter("publish_time");   //date NOT NULL,-- 出版時間

  27.          String author_summary= request.getParameter("author_summary"); // varchar(100) NOT NULL,-- 作者簡介

  28.          String description   = request.getParameter("description");    //varchar(100) default NULL,-- 商品描述

  29.          d_Book.setProduct_pic(product_pic);  

  30.          d_Book.setProduct_name(product_name);  

  31.          d_Book.setDang_price(Double.parseDouble(dang_price));  

  32.          d_Book.setFixed_price(Double.parseDouble(fixed_price));  

  33.          d_Book.setAuthor(author);  

  34.          d_Book.setPublishing(publishing);  

  35.          d_Book.setPublish_time(Date.valueOf(publish_time));  

  36.          d_Book.setAuthor_summary(author_summary);  

  37.          d_Book.setDescription(description);    

  38.          d_Book.setScore(1);  

  39.          d_BookService.insertD_Book(d_Book);  

  40.          response.sendRedirect("/DangDang/Admin/jspfile/editbook.jsp");  

  41.    }  

  42. //上傳文件

  43. @SuppressWarnings("unchecked")  

  44. publicvoid upLoadFile(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{  

  45. // 在解析請求之前先判斷請求類型是否爲文件上傳類型

  46. boolean isMultipart = ServletFileUpload.isMultipartContent(request);  

  47.          String url = "";  

  48. if(isMultipart){  

  49. // 文件上傳處理工廠

  50.              FileItemFactory fileItemFactory = new DiskFileItemFactory();  

  51. // 創建文件上傳處理器

  52.              ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory);  

  53. // 開始解析請求信息

  54. try {  

  55.                    List<FileItem> fileItems = servletFileUpload.parseRequest(request);  

  56. // 對所有請求信息進行判斷

  57. for(FileItem fileItem: fileItems){  

  58. //如果提交信息爲表單格式設置爲新的url

  59. if (fileItem.isFormField()) {  

  60.                                String fieldName = fileItem.getFieldName();  

  61.                                String value = fileItem.getString();  

  62.                                url += "&" + fieldName + "=" + value;  

  63.                       }  

  64. //如果提交信息爲文件格式

  65. else {  

  66.                                String fileName = fileItem.getName();  

  67.                                String basePath = System.getProperty("user.dir").replace("\\", "/")  + "/../webapps/DangDang/BookImage/";  

  68.                                File file = new File(basePath, fileName);  

  69. if (!file.exists()) {  

  70.                                   file.createNewFile();  

  71.                                }  

  72.                                fileItem.write(file);  

  73.                                url += "&product_pic"  + "=" + "BookImage/" + fileName;  

  74.                       }  

  75.                    }  

  76.                } catch (FileUploadException e1) {  

  77.                        e1.printStackTrace();  

  78.                } catch (Exception e) {  

  79.                        e.printStackTrace();  

  80.                }  

  81. //把設置好的url重新轉發到servlet或函數

  82.              response.sendRedirect("/DangDang/admindbook?method=addbook" + url);                    

  83.          }  

  84.    }  

  85. }  

  86. //2013-08-26 23:24:17

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章