兩畝三分地

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            17 隨筆 :: 20 文章 :: 2 評(píng)論 :: 0 Trackbacks
          CategoryServlet,正如第4篇中提到的這個(gè)Servlet主要是針對(duì)Category數(shù)據(jù)的操作,包括添加,刪除,修改,更新等等。
          之所以拿CategoryServlet純粹因?yàn)樗容^簡(jiǎn)單。

          對(duì)于CategoryServlet的基本思路是:接收requst傳來(lái)的參數(shù)method,然后在根據(jù)method的要求來(lái)進(jìn)行不同的操作。
           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會(huì)有無(wú)法找到對(duì)應(yīng)方法的提示,


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

          a. add方法:接收分類名稱(category.name),QueryRunner對(duì)象根據(jù)sql命令執(zhí)行update操作,request傳回結(jié)果(比如:轉(zhuǎn)到對(duì)應(yīng)頁(yè)面)
           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對(duì)象根據(jù)sql語(yǔ)句執(zhí)行update操作,request傳回結(jié)果(比如:轉(zhuǎn)到對(duì)應(yīng)頁(yè)面)
           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對(duì)象根據(jù)sql語(yǔ)句執(zhí)行query操作,request傳回結(jié)果,轉(zhuǎn)入對(duì)應(yīng)編輯頁(yè)面;
           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),編號(hào)(id),QueryRunner對(duì)象根據(jù)sql語(yǔ)句執(zhí)行update操作,request傳回結(jié)果(比如:轉(zhuǎn)到對(duì)應(yīng)頁(yè)面);
           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)到對(duì)應(yīng)頁(yè)面);
           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 閱讀(111) 評(píng)論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 遂平县| 类乌齐县| 赤水市| 新兴县| 江永县| 阿瓦提县| 尤溪县| 武胜县| 肥城市| 阿鲁科尔沁旗| 廉江市| 积石山| 通许县| 六盘水市| 阿拉尔市| 荆门市| 仙游县| 海伦市| 诸暨市| 张家口市| 开封县| 孝义市| 峨山| 和硕县| 康马县| 石首市| 永春县| 永昌县| 广东省| 仙居县| 台东市| 诸城市| 深水埗区| 峨眉山市| 当阳市| 瓮安县| 健康| 兴和县| 珠海市| 永胜县| 额尔古纳市|