|
@@ -0,0 +1,88 @@
|
|
|
+package cn.servlet;
|
|
|
+
|
|
|
+import cn.domain.Company;
|
|
|
+import cn.service.CompanyService;
|
|
|
+import cn.service.impl.CompanyServiceImpl;
|
|
|
+import cn.util.UUIDUtils;
|
|
|
+import org.apache.commons.fileupload.FileItem;
|
|
|
+import org.apache.commons.fileupload.FileUploadException;
|
|
|
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
|
|
|
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
|
|
|
+
|
|
|
+import javax.servlet.ServletException;
|
|
|
+import javax.servlet.annotation.WebServlet;
|
|
|
+import javax.servlet.http.HttpServlet;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.*;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@WebServlet("/CompanyRegisterServlet/*")
|
|
|
+public class CompanyRegisterServlet extends HttpServlet {
|
|
|
+ Company company = new Company();
|
|
|
+ CompanyService companyService = new CompanyServiceImpl();
|
|
|
+ @Override
|
|
|
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
|
|
+ this.doPost(request,response);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
|
|
+ response.setContentType("text/html;charset=UTF-8");
|
|
|
+ response.setCharacterEncoding("UTF-8");
|
|
|
+ request.setCharacterEncoding("UTF-8");
|
|
|
+ String serverPath = getServletContext().getRealPath("/").replace("\\", "/");
|
|
|
+ String path = "D:/idea project/shop/web/companies";
|
|
|
+ //临时文件目录
|
|
|
+ String tmpPath = "D:/idea project/shop/web/tmp";
|
|
|
+ //检查我们是否有文件上传请求
|
|
|
+ boolean isMultipart = ServletFileUpload.isMultipartContent(request);
|
|
|
+ //1,声明DiskFileItemFactory工厂类,用于在指定磁盘上设置一个临时目录
|
|
|
+ DiskFileItemFactory disk = new DiskFileItemFactory(1024*10,new File(tmpPath));
|
|
|
+ //2,声明ServletFileUpload,接收上边的临时文件。也可以默认值
|
|
|
+ ServletFileUpload products = new ServletFileUpload(disk);
|
|
|
+ InputStream in = null;
|
|
|
+ try {
|
|
|
+ List<FileItem> list = products.parseRequest(request);
|
|
|
+ FileItem name = (FileItem) list.get(0);
|
|
|
+ String pname = name.getString("UTF-8");
|
|
|
+
|
|
|
+ FileItem file = (FileItem) list.get(1);
|
|
|
+ if (file.getName() == ""||pname.equals("")) {
|
|
|
+ request.setAttribute("message","信息不完整,请完善");
|
|
|
+ request.getRequestDispatcher("company_entry.jsp").forward(request,response);
|
|
|
+ company.setImg("");
|
|
|
+ } else {
|
|
|
+ company.setName(pname);
|
|
|
+ company.setMid(UUIDUtils.getCode());
|
|
|
+ company.setCode(0);
|
|
|
+ //获取文件名:
|
|
|
+ String fileName = file.getName();
|
|
|
+ //获取文件的类型:
|
|
|
+ company.setImg(fileName);
|
|
|
+ String fileType = file.getContentType();
|
|
|
+ //获取文件的字节码:
|
|
|
+ in = file.getInputStream();
|
|
|
+ //文件大小
|
|
|
+ int size = file.getInputStream().available();
|
|
|
+ //声明输出字节流
|
|
|
+ OutputStream out = new FileOutputStream(path + "/" + fileName);
|
|
|
+ //文件copy
|
|
|
+ byte[] b = new byte[1024];
|
|
|
+ int len = 0;
|
|
|
+ while ((len = in.read(b)) != -1) {
|
|
|
+ out.write(b, 0, len);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (FileUploadException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ companyService.register(company);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+
|
|
|
+ }
|
|
|
+ request.getRequestDispatcher("success.jsp").forward(request,response);
|
|
|
+ }
|
|
|
+}
|