传智书城文档

目录

目录

com.gx.bookstroe.dao

Userdaoimpl

OrderItemDaoimpl

Orderdaoimpl

Productdaoimpl

Userserviceimpl  

Orderserviceimpl

com.gx.bookstroe.service.impl​

 com.gx.bookstroe.domain

editUserServlet.java

findOrderByIdservlet

FindOrderByUserServlet

FindProductByManyConditionServlet

loginservlet

logoutservlet

注册-registerservlet

 验证码

 addProduct

delectProduct

delOrderByIdServlet

EditProductServlet

 listProduct​

com.gx.bookstroe.utils


Userdaoimpl

OrderItemDaoimpl

Orderdaoimpl

Productdaoimpl

Userserviceimpl  

Orderserviceimpl

editUserServlet.java

findOrderByIdservlet

FindOrderByUserServlet

FindProductByManyConditionServlet

注册-registerservlet

 验证码

 addProduct

EditProductServlet


 

com.gx.bookstroe.dao

Userdaoimpl

package com.gx.bookstroe.dao.impl;

import java.sql.SQLException;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;

import com.gx.bookstroe.dao.Userdao;
import com.gx.bookstroe.domain.User;
import com.gx.bookstroe.utils.C3P0Utils;
import com.gx.bookstroe.utils.DataSourceUtils;

public class Userdaoimpl implements Userdao{
    QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
    @Override
    public boolean insert(User user) {
      String sql = "insert into user(username,password,gender,email,telephone,introduce,activecode) values(?,?,?,?,?,?,?)";
    
        
        int num=0;
        try {
            num = runner.update(sql, user.getUsername(), user.getPassword(),
                    user.getGender(), user.getEmail(), user.getTelephone(),
                    user.getIntroduce(), user.getActiveCode());
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(num>0){return true;}
        return false;
    }

    @Override
    public User findUser(String username, String password) {
        //2.写SQL语句
        String sql="select * from user where username=? and password=?";
        //3.调用方法执行SQL语句
        
        User user=null;
        try {
            user= (User)runner.query(sql, new BeanHandler<User>(User.class),username,password);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return user;
    }

    @Override
    public User findname(String username) {
        //2.写SQL语句
        String sql="select * from user where username=?";
        //3.调用方法执行SQL语句
                
                User user=null;
                try {
                    user= (User)runner.query(sql, new BeanHandler<User>(User.class),username);
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return user;
    }

    @Override
    public boolean editUser(String uername, String repassword, String telephone)
    {
         String sql = "update user set PASSWORD=?,telephone=?where username=?";
            int num=0;
            try {
                num=runner.update(sql,repassword,telephone,uername);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            if(num>0){return true;}
            return false;
    }
    
    
}
 

OrderItemDaoimpl

package com.gx.bookstroe.dao.impl;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;

import com.gx.bookstroe.dao.OrderItemDao;
import com.gx.bookstroe.domain.Order;
import com.gx.bookstroe.domain.OrderItem;
import com.gx.bookstroe.domain.Product;
import com.gx.bookstroe.utils.C3P0Utils;
import com.gx.bookstroe.utils.DataSourceUtils;

public class OrderItemDaoimpl implements OrderItemDao{
    QueryRunner runner=new QueryRunner(DataSourceUtils.getDataSource());
    
    @Override
    public void delOrderItems(String id) throws SQLException {
        String sql="delect from orderItem where order_id=?";
        runner.update(sql,id);
        
    }


    @Override
    public Order findOrderById(String id) throws SQLException {
        // TODO Auto-generated method stub
        return null;
    }


    @Override
    public List<OrderItem> findOrderItemByOrder(Order order) throws SQLException {
             String sql="select* from orderItem,Products where products.id=orderItem.product_id and order.id=?";
                
                return runner.query(sql, new ResultSetHandler<List<OrderItem>>(){

            
                    public List<OrderItem> handle(ResultSet rs) throws SQLException {
                        List<OrderItem> items=new ArrayList<OrderItem>();
                        while(rs.next()){
                            OrderItem item=new OrderItem();
                            item.setOrder(order);
                            item.setBuynum(rs.getInt("buynum"));
                            
                            Product p=new Product();
                            p.setCategory(rs.getString("category"));
                            p.setId(rs.getString("id"));
                            p.setDescription("description");
                            p.setImgurl(rs.getString("imgurl"));
                            p.setName(rs.getString("name"));
                            p.setPnum(rs.getInt("pnum"));
                            p.setPrice(rs.getDouble("price"));
//                        item.set(p);
                        items.add(item);
                        }
                        return items;
                    }
                },order.getId());
    }

}
 

Orderdaoimpl

package com.gx.bookstroe.dao.impl;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import com.gx.bookstroe.dao.OrderDao;
import com.gx.bookstroe.domain.Order;
import com.gx.bookstroe.domain.User;
import com.gx.bookstroe.utils.C3P0Utils;
import com.gx.bookstroe.utils.DataSourceUtils;

public class Orderdaoimpl implements OrderDao{
    QueryRunner runner=new QueryRunner(C3P0Utils.getDataSource());
    @Override
    public Order findOrderById(String id) throws SQLException {
    String sql="select* from orders,user where orders.user_id=user.id and order.id=?";
        
        return runner.query(sql, new ResultSetHandler<Order>(){
            public Order handle(ResultSet rs) throws SQLException {
                Order order=new Order();
                while (rs.next()) {
                    order.setId(rs.getString("orders.id"));
                    order.setMoney(rs.getDouble("order.money"));
                    order.setOrdertime(rs.getDate("orders.ordertime"));
                    order.setPaystate(rs.getInt("orders.paystate"));
                    order.setReceiverName(rs.getString("orders.receiverName"));
                    order.setReceiverPhone(rs.getString("orders.receiverPhone"));
                    User user=new User();
                    user.setId(rs.getInt("user.id"));
                    user.setEmail(rs.getString("user.email"));
                    
                    user.setGender(rs.getString("user.gender"));
                    user.setActiveCode(rs.getString("user.activecode"));
                    
                    user.setIntroduce(rs.getString("user.introduce"));
                    user.setPassword(rs.getString("user.password"));
                    user.setRegistTime(rs.getDate("user.registtime"));
                    user.setRole(rs.getString("user.role"));
                    
                    user.setState(rs.getInt("user.state"));
                    user.setTelephone(rs.getString("user.telephone"));
                    user.setUsername(rs.getString("user.username"));
                    order.setUser(user);
                }
                return order;
            }
            },id);
    }

    @Override
    public void delOrderById(String id) throws SQLException {
        String sql="delect from orders where id=?";
        runner.update(sql,id);
    }

    @Override
    public List<Order> findOrderByUser(User user) throws SQLException {
        QueryRunner runner=new QueryRunner(DataSourceUtils.getDataSource());
        String sql="select * from orders where user_id=?";
        return runner.query(sql, new BeanListHandler<Order>(Order.class),user.getId());
    }
}

Productdaoimpl

package com.gx.bookstroe.dao.impl;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import com.gx.bookstroe.dao.ProductDao;
import com.gx.bookstroe.domain.OrderItem;
import com.gx.bookstroe.domain.Product;
import com.gx.bookstroe.utils.C3P0Utils;
import com.gx.bookstroe.utils.DataSourceUtils;


public class Productdaoimpl implements ProductDao{
QueryRunner runner=new QueryRunner(C3P0Utils.getDataSource());

@Override
    public List<Product> listAll() throws SQLException {
        String sql="select * from products";
        QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
        return runner.query(sql, new BeanListHandler<Product>(Product.class));
    }
@Override
    public List<Product> findProductByManyCondition(String id, String name, String category, String minprice,
            String maxprice) throws SQLException {
        List<Object> list=new ArrayList<Object>();
        String sql="select * from products where 1=1";
        if (id!=null&&id.trim().length()>0) {
            sql+="  and id=?";
            list.add(id);
        }
        if (name!=null&&name.trim().length()>0) {
            sql+="  and name=?";
            list.add("%"+name+"%");
        }
        if (category!=null&&category.trim().length()>0) {
            sql+="  and category=?";
            list.add(category);
        }
        if (minprice!=null&&maxprice!=null
                &&minprice.trim().length()>0&&maxprice.trim().length()>0) {
            sql+="  and price between? and ?";
            list.add(minprice);
            list.add(maxprice);
        }
        Object[] params=list.toArray();
        return runner.query(sql, new BeanListHandler<Product>(Product.class),
                params);
    }

@Override
public void addProduct(Product p) throws SQLException {
    String sql = "insert into products values(?,?,?,?,?,?,?)";               
    QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());   
    runner.update(sql, p.getId(), p.getName(), p.getPrice(),                 
            p.getCategory(), p.getPnum(), p.getImgurl(), p.getDescription());    
}
@Override
public Product findProductById(String id) throws SQLException {
    String sql="select * from products where id=?";
    return runner.query(sql, new BeanHandler<Product>(Product.class),id);
}
@Override
public void editProduct(Product p) throws SQLException {
    List<Object> obj=new ArrayList<Object>();
    obj.add(p.getName());
    obj.add(p.getPrice());
    obj.add(p.getCategory());
    obj.add(p.getPnum());
    obj.add(p.getDescription());
    String sql="update products"+
                "set name=?,price=?,category=?,pnum=?,description=?";
    //判断是否有图片
    if (p.getImgurl()!=null&&p.getImgurl().trim().length()>0) {
        sql+=",imgurl=?";
        obj.add(p.getImgurl());
    }
    sql+="where id=?";
    obj.add(p.getId());
    //5.使用QueryRunner对象的update()方法更新数据
    runner.update(sql,obj.toArray());
}
public void delectProduct(String  id) throws SQLException {
    String sql="DELETE FROM products WHERE id=?";
    runner.update(sql,id);
    
}
@Override
public void delectProduct(Product p) throws SQLException {
    // TODO Auto-generated method stub
    
}
@Override
public List<Object[]> salesList(String year, String month) throws SQLException {
    // TODO Auto-generated method stub
    return null;
}
@Override
public void updateProductNum(List<OrderItem> items) throws SQLException {
    String sql="update products set pnum =pnum+? where id=?";
    Object[][] params=new Object[items.size()][2];
    for(int i=0;i<params.length;i++){
        params[i][0]=items.get(i).getBuynum();
        params[i][0]=items.get(i).getP().getId();
    }
    runner.batch(sql, params);
}
}
 

Userserviceimpl  

package com.gx.bookstroe.service.impl;

import com.gx.bookstroe.dao.Userdao;
import com.gx.bookstroe.dao.impl.Userdaoimpl;
import com.gx.bookstroe.domain.User;
import com.gx.bookstroe.service.Userserivice;

public class Userserviceimpl  implements Userserivice{

    //1.实例化Userdao
    Userdao dao=new Userdaoimpl();
    @Override
    public boolean insert(User user) {
        boolean b=dao.insert(user);
        return b;
    }

    @Override
    public User findUser(String username, String password) {
        return dao.findUser(username,password);
     
    }

    @Override
    public User findname(String username) {
        // TODO Auto-generated method stub
        return dao.findname(username);
    }

    @Override
    public boolean editUser(String username, String password, String telephone) {
        return dao.editUser(username,password, telephone);
    }    
        }

Orderserviceimpl

package com.gx.bookstroe.service.impl;

import java.sql.SQLException;
import java.util.List;

import com.gx.bookstroe.dao.OrderDao;
import com.gx.bookstroe.dao.OrderItemDao;
import com.gx.bookstroe.dao.ProductDao;
import com.gx.bookstroe.dao.impl.OrderItemDaoimpl;
import com.gx.bookstroe.dao.impl.Orderdaoimpl;
import com.gx.bookstroe.dao.impl.Productdaoimpl;
import com.gx.bookstroe.domain.Order;
import com.gx.bookstroe.domain.OrderItem;
import com.gx.bookstroe.domain.User;
import com.gx.bookstroe.service.Orderservice;
import com.gx.bookstroe.utils.DataSourceUtils;

public class Orderserviceimpl implements Orderservice{
   OrderDao orderdao=new Orderdaoimpl();
   OrderItemDao orderitemdao=new OrderItemDaoimpl();
   ProductDao pdao=new Productdaoimpl();
    @Override
    public List<Order> findOrderByUser(User user) throws SQLException {
        return orderdao.findOrderByUser(user);
    }

    @Override
    public Order findOrderById(String id) throws SQLException {
        Order order=null;
        order=orderdao.findOrderById(id);
        List<OrderItem> items=orderitemdao.findOrderItemByOrder(order);
        order.setOrderItems(items);
        return order;
    }

    @Override
    public void delOrderById(String id) throws SQLException {
        try {
            DataSourceUtils.startTransation();
            orderitemdao.delOrderItems(id);
            orderdao.delOrderById(id);
        } catch (Exception e) {
            e.printStackTrace();
            try {
                DataSourceUtils.rollback();
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }finally{
            try {
                DataSourceUtils.releaseAndCloseConnection();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
    }

    @Override
    public void delOrderByIdWithClient(String id) throws SQLException {
        try {
            DataSourceUtils.startTransation();
            Order order=new Order();
            order.setId(id);
            List<OrderItem> items=orderitemdao.findOrderItemByOrder(order);
            
            //
            pdao.updateProductNum(items);
            orderitemdao.delOrderItems(id);
            orderdao.delOrderById(id);
            
        } catch (Exception e) {
            e.printStackTrace();
        }
        finally {
            try {
                DataSourceUtils.releaseAndCloseConnection();
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
    }

}

com.gx.bookstroe.service.impl

 

 com.gx.bookstroe.domain

 

editUserServlet.java

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        
        Product p=new Product();
        Map<String, String> map=new HashMap<String, String>();
        DiskFileItemFactory dfif = new DiskFileItemFactory();
        dfif.setRepository(new File(this.getServletContext().getRealPath(
                "/temp")));
        // 设置上传文件缓存大小为10m
        dfif.setSizeThreshold(1024 * 1024 * 10);
        // 创建上传组件
        ServletFileUpload upload = new ServletFileUpload(dfif);
        // 处理上传文件中文乱码
        upload.setHeaderEncoding("utf-8");
        try {
            // 解析request得到所有的FileItem
            List<FileItem> items = upload.parseRequest(request);
            // 遍历所有FileItem
            for (FileItem item : items) {
                // 判断当前是否是上传组件
                if (item.isFormField()) {
                    // 不是上传组件
                    String fieldName = item.getFieldName(); // 获取组件名称
                    String value = item.getString("utf-8"); // 解决乱码问题
                    map.put(fieldName, value);
                } else {
                    // 是上传组件
                    // 得到上传文件真实名称
                    String fileName = item.getName();
                    fileName=fileName.substring(fileName.lastIndexOf("\\")+1);
//                    fileName = FileUploadUtils.subFileName(fileName);
                     fileName=UUID.randomUUID().toString()+"_"+fileName;
                     SimpleDateFormat sdFormat=new SimpleDateFormat("yyyyMMdd");
                    String date=sdFormat.format(new Date());
                
                    fileName=date+fileName;
                    // 图片存储父目录
                    String imgurl_parent = "/productImg" ;
 
                    File parentDir=new File(this.getServletContext()
                            .getRealPath(imgurl_parent));
                    // 验证目录是否存在,如果不存在,创建出来
                    if (!parentDir.exists()) {
                        parentDir.mkdirs();
                    }
                    String imgurl=imgurl_parent+"/"+fileName;
                    map.put("imgurl", imgurl);
                    IOUtils.copy(item.getInputStream(), new FileOutputStream(
                            new File(parentDir, fileName)));
                    item.delete();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }    try {
            // 将数据封装到javaBean中
            BeanUtils.populate(p, map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        Productservice service = new Productserviceimpl();
        
        try {
            // 调用service完成添加商品操作
            service.addProduct(p);
            response.sendRedirect(request.getContextPath()
                    + "/listProduct");
            return;
        } catch (Exception e) {
            e.printStackTrace();
            response.getWriter().write("添加商品失败");
            return;
        }
    
    }}

findOrderByIdservlet

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String type=request.getParameter("type");
        String id=request.getParameter("id");
        
        Orderservice service=new Orderserviceimpl();
        Order order=null;
        try {
            order=service.findOrderById(id);
        } catch (SQLException e) {
             e.printStackTrace();
        }
        request.setAttribute("order", order);
        if (type!=null) {
            request.getRequestDispatcher("/admin/orders/view.jsp").forward(request, response);
        return;
        } 
        request.getRequestDispatcher("/client/orderInfo.jsp").forward(request, response);
    }

}

FindOrderByUserServlet

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        User user=(User)request.getSession().getAttribute("user");
        Orderservice service=new Orderserviceimpl();
        List<Order> orders=null;
        try {
            orders=service.findOrderByUser(user);
        } catch (Exception e) {
            e.printStackTrace();
        }
        request.setAttribute("orders", orders);
        request.getRequestDispatcher("/client/orderlist.jsp").forward(request, response);
    }

}

FindProductByManyConditionServlet


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        
        String id=request.getParameter("id");
        String name=request.getParameter("name");
        String category=request.getParameter("category");
        String minprice=request.getParameter("minprice");
        String maxprice=request.getParameter("maxprice");
        
        //创建Productservice对象
        Productservice productservice=new Productserviceimpl();
        List<Product> ps=null;
        try {
            ps=productservice.findProductByManyCondition(id, name, category, minprice, maxprice);
        } catch (Exception e) {
        e.printStackTrace();
        }
        request.setAttribute("ps", ps);
        request.getRequestDispatcher("/admin/products/list.jsp").forward(request, response);
    }}

loginservlet

logoutservlet

注册-registerservlet

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        
    
    
        //2.将参数封装到注册表单相关的RegisterFormBean中
        RegisterFormBean formBean=new RegisterFormBean();
           
        try {
        BeanUtils.populate(formBean, request.getParameterMap());
       
      
       } catch (IllegalAccessException e) {
       e.printStackTrace();
       } catch (InvocationTargetException e) {
       e.printStackTrace();
       }
        //3.判断参数是否符合格式
        if(!formBean.validate()){
            request.setAttribute("formBean", formBean);
            request.getRequestDispatcher("/client/register.jsp").forward(request, response);
            return;
        }
        
        
        // 4.参数符合要求,将表单提交的数据封装到javaBean
        User user = new User();
        try {
        BeanUtils.populate(user, request.getParameterMap());
        // 封裝激活码
       user.setActiveCode(ActiveCodeUtils.createActiveCode());
       } catch (IllegalAccessException e) {
       e.printStackTrace();
       } catch (InvocationTargetException e) {
       e.printStackTrace();
       }
      //5.查找检验账号是否已经存在
        Userserivice userservice=new Userserviceimpl();
        User reuser = new User();
        reuser=userservice.findname(user.getUsername());
        if(reuser!=null){
            //账号已经存在,提示用户名已经存在
            request.setAttribute("mm", "您注册的用户已经存在");
            request.getRequestDispatcher("/client/register.jsp").forward(request, response);
            return;
            
        }
        
        //6.调用service的插入方法

        boolean b=false;
         try {
             b=userservice.insert(user);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
            //6.判断是否注册成功
         if(b==true){
        response.sendRedirect(request.getContextPath() + "/client/registersuccess.jsp");
         }
        else{response.getWriter().write("注册失败");
            
    
        }}
    
}

 验证码

 addProduct

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        // 创建javaBean,将上传数据封装.
                Product p = new Product();
                Map<String, String> map = new HashMap<String, String>();
                // 封装商品id
                map.put("id", IdUtils.getUUID());
         
                DiskFileItemFactory dfif = new DiskFileItemFactory();
                // 设置临时文件存储位置
                dfif.setRepository(new File(this.getServletContext().getRealPath(
                        "/temp")));
                // 设置上传文件缓存大小为10m
                dfif.setSizeThreshold(1024 * 1024 * 10);
                // 创建上传组件
                ServletFileUpload upload = new ServletFileUpload(dfif);
                // 处理上传文件中文乱码
                upload.setHeaderEncoding("utf-8");
                try {
                    // 解析request得到所有的FileItem
                    List<FileItem> items = upload.parseRequest(request);
                    // 遍历所有FileItem
                    for (FileItem item : items) {
                        // 判断当前是否是上传组件
                        if (item.isFormField()) {
                            // 不是上传组件
                            String fieldName = item.getFieldName(); // 获取组件名称
                            String value = item.getString("utf-8"); // 解决乱码问题
                            map.put(fieldName, value);
                        } else {
                            // 是上传组件
                            // 得到上传文件真实名称
                            String fileName = item.getName();
                            fileName=fileName.substring(fileName.lastIndexOf("\\")+1);
//                            fileName = FileUploadUtils.subFileName(fileName);
                             fileName=UUID.randomUUID().toString()+"_"+fileName;
                             SimpleDateFormat sdFormat=new SimpleDateFormat("yyyyMMdd");
                            String date=sdFormat.format(new Date());
                        
                            fileName=date+fileName;
                            // 图片存储父目录
                            String imgurl_parent = "/productImg" ;
         
                            File parentDir=new File(this.getServletContext()
                                    .getRealPath(imgurl_parent));
                            // 验证目录是否存在,如果不存在,创建出来
                            if (!parentDir.exists()) {
                                parentDir.mkdirs();
                            }
                            String imgurl=imgurl_parent+"/"+fileName;
                            map.put("imgurl", imgurl);
                            IOUtils.copy(item.getInputStream(), new FileOutputStream(
                                    new File(parentDir, fileName)));
                            item.delete();
                            
                        }
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }    try {
                    // 将数据封装到javaBean中
                    BeanUtils.populate(p, map);
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                } catch (Exception e) {
                    e.printStackTrace();
                }

                Productservice service = new Productserviceimpl();
                try {
                    // 调用service完成添加商品操作
                    service.addProduct(p);
                    response.sendRedirect(request.getContextPath()
                            + "/listProduct");
                    return;
                } catch (Exception e) {
                    e.printStackTrace();
                    response.getWriter().write("添加商品失败");
                    return;
                }
            }

}

delectProduct

delOrderByIdServlet

EditProductServlet

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        
        Product p=new Product();
        Map<String, String> map=new HashMap<String, String>();
        DiskFileItemFactory dfif = new DiskFileItemFactory();
        dfif.setRepository(new File(this.getServletContext().getRealPath(
                "/temp")));
        // 设置上传文件缓存大小为10m
        dfif.setSizeThreshold(1024 * 1024 * 10);
        // 创建上传组件
        ServletFileUpload upload = new ServletFileUpload(dfif);
        // 处理上传文件中文乱码
        upload.setHeaderEncoding("utf-8");
        try {
            // 解析request得到所有的FileItem
            List<FileItem> items = upload.parseRequest(request);
            // 遍历所有FileItem
            for (FileItem item : items) {
                // 判断当前是否是上传组件
                if (item.isFormField()) {
                    // 不是上传组件
                    String fieldName = item.getFieldName(); // 获取组件名称
                    String value = item.getString("utf-8"); // 解决乱码问题
                    map.put(fieldName, value);
                } else {
                    // 是上传组件
                    // 得到上传文件真实名称
                    String fileName = item.getName();
                    fileName=fileName.substring(fileName.lastIndexOf("\\")+1);
//                    fileName = FileUploadUtils.subFileName(fileName);
                     fileName=UUID.randomUUID().toString()+"_"+fileName;
                     SimpleDateFormat sdFormat=new SimpleDateFormat("yyyyMMdd");
                    String date=sdFormat.format(new Date());
                
                    fileName=date+fileName;
                    // 图片存储父目录
                    String imgurl_parent = "/productImg" ;
 
                    File parentDir=new File(this.getServletContext()
                            .getRealPath(imgurl_parent));
                    // 验证目录是否存在,如果不存在,创建出来
                    if (!parentDir.exists()) {
                        parentDir.mkdirs();
                    }
                    String imgurl=imgurl_parent+"/"+fileName;
                    map.put("imgurl", imgurl);
                    IOUtils.copy(item.getInputStream(), new FileOutputStream(
                            new File(parentDir, fileName)));
                    item.delete();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }    try {
            // 将数据封装到javaBean中
            BeanUtils.populate(p, map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        Productservice service = new Productserviceimpl();
        
        try {
            // 调用service完成添加商品操作
            service.addProduct(p);
            response.sendRedirect(request.getContextPath()
                    + "/listProduct");
            return;
        } catch (Exception e) {
            e.printStackTrace();
            response.getWriter().write("添加商品失败");
            return;
        }
    
    }

}
 

 listProduct

com.gx.bookstroe.utils

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
传智书城项目文档是一份详细描述传智书城项目的文档,其目的是为了整理和记录项目的需求和设计信息,方便开发团队的沟通和项目的开发与管理。 该文档主要包括以下几个部分: 1. 项目背景和目标:介绍传智书城项目的背景和目标,以便开发团队了解项目的背景和整体目标。 2. 功能需求:详细描述了传智书城项目的功能需求,包括用户的登录、注册、浏览书籍、购买书籍、加入购物车、生成订单、支付订单等功能。 3. 非功能需求:描述了一些非功能性的需求,例如系统的性能要求、安全性要求、可扩展性要求等,以确保项目的高质量和可靠性。 4. 系统设计:详细描述了传智书城项目的系统设计,包括系统的架构设计、数据库设计、前端设计和后端设计等。该部分将确保项目的整体设计满足需求,并提供一个清晰的开发指南。 5. 测试计划:描述了传智书城项目的测试计划,包括测试环境的搭建、测试用例的编写、测试的方法和策略等。该部分旨在确保项目的质量和稳定性。 6. 项目进度计划:列出传智书城项目的开发计划和里程碑,包括各个阶段的时间表和任务分配,以确保项目按时完成。 7. 风险管理:列出项目开发中可能会出现的风险,并提供相应的风险应对计划,以最大限度地减少不可预见的风险对项目的影响。 总而言之,javaweb传智书城项目文档是为了整理和记录项目的需求和设计信息,以便开发团队能够更好地理解和开发项目,并确保项目按照计划顺利完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值