ITPub博客

首页 > IT职业 > IT生活 > 图书管理系统【部署开发环境、解决分类、图书、前台页面模块】(1)

图书管理系统【部署开发环境、解决分类、图书、前台页面模块】(1)

IT生活 作者:devinw 时间:2021-09-09 09:10:18 0 删除 编辑
分类管理

图书管理

订单管理

  • body.jsp是空白的

  • 效果:

图片描述

添加分类
  • 显示添加分类的JSP页面

分类名称:
分类描述:
  • 处理添加分类的Servlet

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

            try {
                //把浏览器带过来的数据封装到bean中
                Category category = WebUtils.request2Bean(request, Category.class);
                category.setId(WebUtils.makeId());

                service.addCategory(category);
                request.setAttribute("message", "添加分类成功!");

            } catch (Exception e) {
                request.setAttribute("message","添加分类失败");
                e.printStackTrace();
            }
            request.getRequestDispatcher("/message.jsp").forward(request, response);

        }
  • 效果:

图片描述


删除 修改
  • 效果:

图片描述


添加图书

传送类型集合的Servlet


        String method = request.getParameter("method");
        BussinessServiceImpl service = new BussinessServiceImpl();

        if (method.equals("addUI")) {

            List list = service.getAllCategory();
            request.setAttribute("list", list);
            request.getRequestDispatcher("/background/addBook.jsp").forward(request, response);

        } 

显示JSP页面

图书名称:
作者:
图书价钱:
类型:
上传图片
详细描述

处理表单数据Servlet


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

            //上传文件和普通数据分割开,封装到Book对象上
            Book book = uploadData(request);

            book.setId(WebUtils.makeId());
            service.addBook(book);
            request.setAttribute("message", "添加图书成功");
            request.getRequestDispatcher("/message.jsp").forward(request, response);
        }
  • uploadData()方法代码

    private Book uploadData(HttpServletRequest request) {

        Book book = new Book();
        try{

            //1.得到解析器工厂
            DiskFileItemFactory factory = new DiskFileItemFactory();

            //2.得到解析器
            ServletFileUpload upload = new ServletFileUpload(factory);

            //设置编码
            upload.setHeaderEncoding("UTF-8");

            //为上传表单,则调用解析器解析上传数据
            List list = upload.parseRequest(request);  //FileItem

            //遍历list,得到用于封装第一个上传输入项数据fileItem对象
            for(FileItem item : list){

                if(item.isFormField()){

                    //得到的是普通输入项
                    String name = item.getFieldName();  //得到输入项的名称
                    String value = item.getString("UTF-8");

                    //使用BeanUtils封装数据
                    BeanUtils.setProperty(book, name, value);
                }else{

                    //得到上传输入项

                    //得到上传文件名全路径
                    String filename = item.getName();

                    //截取文件名
                    filename = filename.substring(filename.lastIndexOf("\")+1);

                    InputStream in = item.getInputStream();   //得到上传数据

                    int len = 0;
                    byte buffer[]= new byte[1024];

                    //如果没有这个目录,就创建它
                    String savepath = this.getServletContext().getRealPath("/image");
                    File file = new File(savepath);
                    if (!file.exists()) {
                        file.mkdir();
                    }

                    FileOutputStream out = new FileOutputStream(savepath + "\" + filename);
                    while((len=in.read(buffer))>0){
                        out.write(buffer, 0, len);
                    }
                    //设置图片的名字
                    book.setImage(filename);

                    in.close();
                    out.close();

                    //关闭临时文件
                    item.delete();
                }
            }

        }catch (Exception e) {
            e.printStackTrace();
        }
        return book;
    }
  • 效果:

图片描述


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2715/viewspace-2799799/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: angualrjs入门教程
请登录后发表评论 登录
全部评论

注册时间:2019-08-16

  • 博文量
    83
  • 访问量
    760