zoukankan      html  css  js  c++  java
  • (二十六)分类信息的curd-分类信息添加

    分类信息添加:
            1.应在在左边的dtree上添加连接(展示所有的分类信息)
                d.add(...,"/store/adminCategory?method=findAll","","mainFrame")
            2.创建adminCategoryservlet ,编写findAll()
                查询的结果是一个list,将list放入request域中,然后请求转发/admin/category/list.jsp
                
        添加分类的步骤:
            1.编写一个连接,
                /store/adminCategory?method=addUI
            2.请求转发到/admin/category/add.jsp
            3.add.jsp就是一个表单页面
                编写表单的action属性 /store/adminCategory?method=add
                    给分类的名称字段添加一个name属性  name="cname"
            4.admincategoryservlet的add方法
                获取分类的名称
                封装成category 设置id
                调用categoryservice的add方法
                页面重定向  /store/adminCategory?method=findAll
            5.categoryservice的add方法
                暂时调用dao
            6.dao中添加一条数据

    /store/WebContent/admin/left.jsp

    /store/WebContent/admin/category/list.jsp

    /store/src/com/louis/web/servlet/AdminCategoryServlet.java

    /**
         * 跳转到添加页面上
         * @param request
         * @param response
         * @return
         * @throws Exception
         */
        public String addUI(HttpServletRequest request, HttpServletResponse response) throws Exception {
            
            return "/admin/category/add.jsp";
        }

    /store/WebContent/admin/category/add.jsp

    /store/src/com/louis/web/servlet/AdminCategoryServlet.java

    public String add(HttpServletRequest request, HttpServletResponse response) throws Exception {
            //1.接受cname
            String cname = request.getParameter("cname");
            
            //2.封装category
            Category c = new Category();
            c.setCid(UUIDUtils.getId());
            c.setCname(cname);
            
            //3.调用service完成 添加操作
            CategoryService cs=(CategoryService) BeanFactory.getBean("CategoryService");
            cs.add(c);
            
            //4.重定向 查询所有分类
            response.sendRedirect(request.getContextPath()+"/adminCategory?method=findAll");
            
            
            return null;
        }

    /store/src/com/louis/service/impl/CategoryServiceImpl.java

    /**
         * 添加分类,因为分类的信息是通过缓存中获取的,所以这里也应该从缓存中获取,首先清空下缓存
         */
        @Override
        public void add(Category c) throws Exception {
            // 暂时 获取dao
            CategoryDao cd = (CategoryDao) BeanFactory.getBean("CategoryDao");
            cd.add(c);
    
            // 更新缓存
            // 1.创建缓存管理器
            CacheManager cm = CacheManager
                    .create(CategoryServiceImpl.class.getClassLoader().getResourceAsStream("ehcache.xml"));
    
            // 2.获取指定的缓存
            Cache cache = cm.getCache("categoryCache");
            
            //3.清空
            cache.remove("clist");
        }

    /store/src/com/louis/dao/impl/CategoryDaoImpl.java

        /**
         * 添加分类
         */
        @Override
        public void add(Category c) throws Exception {
            QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
            String sql="insert into category values(?,?)";
            qr.update(sql, c.getCid(),c.getCname());
        }

  • 相关阅读:
    第24课 #pragma使用分析
    第23课 #error和#line使用分析
    第22课 条件编译使用分析
    第21课 宏定义与使用分析
    Codeforces Round #142 (Div. 2)B. T-primes
    SPOJ XMAX
    Uva 10036
    Timus 1009. K-based Numbers
    MBLAST
    ROADS
  • 原文地址:https://www.cnblogs.com/Michael2397/p/7675823.html
Copyright © 2011-2022 走看看