发表于: 2017-05-20 21:50:22

5 1286


【说明】今天做了Baseservlet和CategoryServlet

一:今日完成

1)CategoryServlet 以一个list方法为例

public String list(HttpServletRequest request, HttpServletResponse response, Page page) {

    List<Category> cs = categoryDAO.list(page.getStart(),page.getCount());

    int total = categoryDAO.getTotal();

    page.setTotal(total);

     

    request.setAttribute("thecs", cs);

    request.setAttribute("page", page);

     

    return "admin/listCategory.jsp";

}

2)Baseservlet 写出service方法

public void service(HttpServletRequest request, HttpServletResponse response) {

        try {

             

            /*获取分页信息*/

            int start= 0;

            int count = 5;

            try {

                start = Integer.parseInt(request.getParameter("page.start"));

            } catch (Exception e) {

                 

            }

            try {

                count = Integer.parseInt(request.getParameter("page.count"));

            } catch (Exception e) {

            }

            Page page = new Page(start,count);

             

            /*借助反射,调用对应的方法*/

            String method = (String) request.getAttribute("method");

            Method m = this.getClass().getMethod(method, javax.servlet.http.HttpServletRequest.class,

                    javax.servlet.http.HttpServletResponse.class,Page.class);

            String redirect = m.invoke(this,request, response,page).toString();

             

            /*根据方法的返回值,进行相应的客户端跳转,服务端跳转,或者仅仅是输出字符串*/

             

            if(redirect.startsWith("@"))

                response.sendRedirect(redirect.substring(1));

            else if(redirect.startsWith("%"))

                response.getWriter().print(redirect.substring(1));

            else

                request.getRequestDispatcher(redirect).forward(request, response);

             

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

            throw new RuntimeException(e);

        }

    }

二:明日计划

继续剩下的servlet编写

三:疑难问题

 像订单这样极其重要的业务数据,实际上是不运行真正从数据库中删除掉的,而是把状态标记为删除

四:思考总结

今天碰到JSTL标签的使用

${requestScope.id} 则表示为在 request 作用域中取的参数为 id 的值。

${param.id} 则表示 由客户端传送过来的,参数名为 id 的值。
相当于:request.getParamter("id");


返回列表 返回列表
评论

    分享到