兩畝三分地

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            17 隨筆 :: 20 文章 :: 2 評論 :: 0 Trackbacks
          CategoryServlet,正如第4篇中提到的這個Servlet主要是針對Category數(shù)據(jù)的操作,包括添加,刪除,修改,更新等等。
          之所以拿CategoryServlet純粹因為它比較簡單。

          對于CategoryServlet的基本思路是:接收requst傳來的參數(shù)method,然后在根據(jù)method的要求來進行不同的操作。
           1 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
           2             throws ServletException, IOException {
           3         response.setContentType("text/html;charset=UTF-8");
           4         request.setCharacterEncoding("UTF-8");
           5         String method = request.getParameter("method");
           6         if (method.equals("add")) {
           7             add(request, response);
           8         } else if (method.equals("delete")) {
           9             delete(request, response);
          10         } else if (method.equals("edit")) {
          11             preEdit(request, response);
          12         } else if (method.equals("update")) {
          13             update(request, response);
          14         } else if (method.equals("list")) {
          15             list(request, response);
          16         }
          17 }
          直接添加這些方法,netbeans會有無法找到對應方法的提示,


          點擊黃色小燈泡,IDE自動生成對應的方法,建議在這些方法后面添加throws語句。例:
          1 private void add(HttpServletRequest request, HttpServletResponse response)
          2             throws ServletException, IOException {
          3
          4         }

          a. add方法:接收分類名稱(category.name),QueryRunner對象根據(jù)sql命令執(zhí)行update操作,request傳回結(jié)果(比如:轉(zhuǎn)到對應頁面)
           1 private void add(HttpServletRequest request, HttpServletResponse response)
           2             throws ServletException, IOException {
           3         String name = request.getParameter("name");
           4         String sql = "insert into category (name) values (?)";
           5         String params[] = {name};
           6         QueryRunner qr = DbHelper.getQueryRunner();
           7         try {
           8             qr.update(sql, params);
           9         } catch (SQLException ex) {
          10             Logger.getLogger(CategoryServlet.class.getName()).log(Level.SEVERE, null, ex);
          11         }
          12         list(request,response);
          13     }

          b. delete方法:接收分類類別(category.id),QueryRunner對象根據(jù)sql語句執(zhí)行update操作,request傳回結(jié)果(比如:轉(zhuǎn)到對應頁面)
           1 private void delete(HttpServletRequest request, HttpServletResponse response)
           2             throws ServletException, IOException {
           3         String id = request.getParameter("id");
           4         String sql = "delete from category where id = "+id;
           5         
           6         QueryRunner qr = DbHelper.getQueryRunner();
           7         try {
           8             qr.update(sql);
           9         } catch (SQLException ex) {
          10             Logger.getLogger(CategoryServlet.class.getName()).log(Level.SEVERE, null, ex);
          11         }
          12         
          13         list(request,response);
          14     }

          c. preEdit方法:接收分類類別(category.id),QueryRunner對象根據(jù)sql語句執(zhí)行query操作,request傳回結(jié)果,轉(zhuǎn)入對應編輯頁面;
           1 private void preEdit(HttpServletRequest request, HttpServletResponse response)
           2             throws ServletException, IOException {
           3         String id = request.getParameter("id");
           4         String sql = "select id,name from category where id = "+id;
           5         List categories = null;
           6         Category category = null;
           7         
           8         QueryRunner qr = DbHelper.getQueryRunner();
           9         try {
          10             categories = (List) qr.query(sql, new BeanListHandler(Category.class));
          11         } catch (SQLException ex) {
          12             Logger.getLogger(CategoryServlet.class.getName()).log(Level.SEVERE, null, ex);
          13         }
          14         
          15         if (categories != null){
          16             category = (Category)categories.get(0);
          17         }
          18         request.setAttribute("category", category);
          19         request.getRequestDispatcher("/admin/editCategory.jsp").forward(request, response);
          20     }

          d. update方法:接收分類名稱(name),編號(id),QueryRunner對象根據(jù)sql語句執(zhí)行update操作,request傳回結(jié)果(比如:轉(zhuǎn)到對應頁面);
           1  private void update(HttpServletRequest request, HttpServletResponse response)
           2             throws ServletException, IOException {
           3         String id = request.getParameter("id");
           4         String name = request.getParameter("name");
           5         String sql = "update category set name = ? where id = ?";
           6         String params[] = {name,id};
           7         
           8         QueryRunner qr = DbHelper.getQueryRunner();
           9         try {
          10             qr.update(sql, params);
          11         } catch (SQLException ex) {
          12             Logger.getLogger(CategoryServlet.class.getName()).log(Level.SEVERE, null, ex);
          13         }
          14         list(request,response);
          15     }

          e. list方法:list所有相關(guān)的分類,request傳回結(jié)果(比如:轉(zhuǎn)到對應頁面);
           1  private void list(HttpServletRequest request, HttpServletResponse response)
           2             throws ServletException, IOException {
           3         String sql = "select id, name from category order by name";
           4         List categories = null;
           5 
           6         QueryRunner qr = DbHelper.getQueryRunner();
           7         try {
           8             categories = (List) qr.query(sql, new BeanListHandler(Category.class));
           9         } catch (SQLException ex) {
          10             Logger.getLogger(CategoryServlet.class.getName()).log(Level.SEVERE, null, ex);
          11         }
          12 
          13         request.setAttribute("categories", categories);
          14         request.getRequestDispatcher("/admin/adminCategoryList.jsp").forward(request, response);
          15     }


          posted on 2009-09-28 17:12 Chucky 閱讀(110) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 桐乡市| 清远市| 望城县| 乌海市| 乌兰县| 开江县| 阿城市| 河东区| 鹤峰县| 萨嘎县| 清原| 淮南市| 南丰县| 绥宁县| 郁南县| 镇安县| 临城县| 道真| 松桃| 山丹县| 沅江市| 沈丘县| 新昌县| 霸州市| 巴中市| 镇赉县| 米泉市| 水城县| 密山市| 遂平县| 宁陕县| 邢台县| 青州市| 普格县| 泰来县| 高唐县| 永宁县| 富裕县| 襄城县| 锦屏县| 叶城县|