瀏覽代碼

上传文件至 'Shop/src/cn/servlet'

1801010538 5 年之前
父節點
當前提交
875954f29d

+ 100 - 0
Shop/src/cn/servlet/RegisterServlet.java

@@ -0,0 +1,100 @@
+package cn.servlet;
+
+import cn.domain.Agent;
+import cn.service.AgentService;
+import cn.service.impl.AgentServiceImpl;
+import cn.util.UUIDUtils;
+import com.mchange.v2.uid.UidUtils;
+import org.apache.commons.fileupload.FileItem;
+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.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.text.SimpleDateFormat;
+import java.util.List;
+
+@WebServlet("/RegisterServlet/*")
+public class RegisterServlet extends javax.servlet.http.HttpServlet {
+    AgentService agentService = new AgentServiceImpl();
+    @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");
+        request.setCharacterEncoding("UTF-8");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+
+        String serverPath = getServletContext().getRealPath("/").replace("\\", "/");
+        //获取up目录的路径
+        String path = "D:/idea project/shop/web/up";
+        //临时文件目录
+        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 up = new ServletFileUpload(disk);
+        InputStream in = null;
+        try{
+            List<FileItem> list = up.parseRequest(request);
+            FileItem name1 = (FileItem)list.get(0);
+            String name =name1.getString("UTF-8");
+
+            FileItem fileCompany = (FileItem)list.get(1);
+            String company = fileCompany.getString("UTF-8");
+
+            FileItem filePhone = (FileItem)list.get(2);
+            String phone = filePhone.getString("UTF-8");
+
+            FileItem filePassword = (FileItem)list.get(4);
+            String password = filePassword.getString("UTF-8");
+
+            Agent agent = new Agent();
+            agent.setName(name);
+            agent.setCompany(company);
+            agent.setPhone(Integer.parseInt(phone));
+            agent.setPassword(password);
+            agent.setMid(UUIDUtils.getCode());
+            FileItem file = (FileItem)list.get(3);
+            if(file.getName()=="") {
+                agent.setImg("*");
+            }else {
+                //获取文件名:
+                String fileName = file.getName();
+                //获取文件的类型:
+                agent.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);
+                }
+                agentService.register(agent);
+                out.flush();
+                out.close();
+                //删除上传生成的临时文件
+                file.delete();
+            }
+        }catch (Exception e){
+                e.printStackTrace();
+        }
+
+        request.getRequestDispatcher("register_success.jsp").forward(request,response);
+    }
+}

+ 46 - 0
Shop/src/cn/servlet/SalesOrderServlet.java

@@ -0,0 +1,46 @@
+package cn.servlet;
+
+import cn.domain.Order;
+import cn.service.OrderService;
+import cn.service.impl.OrderServiceImpl;
+
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.crypto.Data;
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@WebServlet("/SalesOrderServlet/*")
+public class SalesOrderServlet extends javax.servlet.http.HttpServlet{
+    OrderService orderService = new OrderServiceImpl();
+    @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 {
+        try{
+            String saler = request.getParameter("saler");
+            List<Order> orders =  orderService.findBySaler(saler);
+//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//            List date = new ArrayList();
+//            for(int i =0;i<date.size();i++) {
+//                String time = sdf.format(order.getTime());
+//                date.add(time);
+//            }
+//            request.setAttribute("date",date);
+            request.setAttribute("orders",orders);
+            request.getRequestDispatcher("s_order_management.jsp").forward(request,response);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+
+    }
+}

+ 108 - 0
Shop/src/cn/servlet/UpdateProductServlet.java

@@ -0,0 +1,108 @@
+package cn.servlet;
+
+import cn.domain.Product;
+import cn.service.ProductService;
+import cn.service.impl.ProductServiceImpl;
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+
+import javax.servlet.ServletException;
+import javax.servlet.annotation.MultipartConfig;
+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.net.URLEncoder;
+import java.util.List;
+@MultipartConfig
+@WebServlet("/UpdateProductServlet/*")
+public class UpdateProductServlet extends HttpServlet {
+    ProductService productService = new ProductServiceImpl();
+    Product product = new Product();
+
+    @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");
+        request.setCharacterEncoding("UTF-8");
+        String serverPath = getServletContext().getRealPath("/").replace("\\", "/");
+        String path = "D:/idea project/shop/web/products";
+        //临时文件目录
+        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;
+        String scompany = null;
+        try {
+            List<FileItem> list = products.parseRequest(request);
+
+
+            FileItem id = (FileItem) list.get(0);
+            int pid = Integer.parseInt(id.getString("UTF-8"));
+
+            FileItem name = (FileItem) list.get(2);
+            String pname = name.getString("UTF-8");
+
+            FileItem detail = (FileItem) list.get(3);
+            String pdetail = detail.getString("UTF-8");
+
+            FileItem price = (FileItem) list.get(4);
+            Double pprice = Double.valueOf(price.getString("UTF-8"));
+
+            FileItem pmid = (FileItem) list.get(5);
+            String mid = pmid.getString("UTF-8");
+
+            FileItem company = (FileItem) list.get(6);
+            scompany = company.getString("UTF-8");
+            System.out.println(scompany);
+
+            //System.out.println(mid+id+name+price+company);
+            product.setId(pid);
+            product.setName(pname);
+            product.setPrice(pprice);
+            product.setDetail(pdetail);
+            product.setScompany(scompany);
+            product.setMid(mid);
+            FileItem file = (FileItem) list.get(1);
+            if (file.getName() == "") {
+                product.setImg("*");
+            } else {
+                //获取文件名:
+                String fileName = file.getName();
+                //获取文件的类型:
+                product.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);
+                }
+                productService.updateProduct(product);
+                out.flush();
+                out.close();
+                //删除上传生成的临时文件
+                file.delete();
+            }
+        } catch (Exception e) {
+            e.getMessage();
+        }
+        response.sendRedirect("ProductManagementServlet?scompany="+ URLEncoder.encode(scompany,"UTF-8"));
+    }
+}