发表于: 2017-05-23 21:50:35

2 1143


【说明】今天学了几个知识点,对程序的理解又深了许多

一:今日完成

1)jsp标签和指令是不一样的

<%@ include file=” ”%>  这是指令

假如 在 B.jsp 中,使用 <%@ include file=”A.jsp”%> ,那么就是把 A.jsp 的内容 原封不动 引入到 B.jsp 中。

2)dispatcher和 redirect 的区别

dispatcher:用于页面转发,页面跳转过程一直是同一个线程,Action 中的数据一直保存在。
redirect:可用于返回一个页面、一个 action、链接到一个网址。

3)查看购物车

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

    User user =(User) request.getSession().getAttribute("user");

    List<OrderItem> ois = orderItemDAO.listByUser(user.getId());

    request.setAttribute("ois", ois);

    return "cart.jsp";

}  

4)查看状态的过滤器

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)

            throws IOException, ServletException {

        HttpServletRequest request = (HttpServletRequest) req;

        HttpServletResponse response = (HttpServletResponse) res;

        String contextPath=request.getServletContext().getContextPath();

 

        String[] noNeedAuthPage = new String[]{

                "homepage",

                "checkLogin",

                "register",

                "loginAjax",

                "login",

                "product",

                "category",

                "search"};

         

        String uri = request.getRequestURI();

        uri =StringUtils.remove(uri, contextPath);

        if(uri.startsWith("/fore")&&!uri.startsWith("/foreServlet")){

            String method = StringUtils.substringAfterLast(uri,"/fore" );

            if(!Arrays.asList(noNeedAuthPage).contains(method)){

                User user =(User) request.getSession().getAttribute("user");

                if(null==user){

                    response.sendRedirect("login.jsp");

                    return;

                }

            }

        }

         

        chain.doFilter(request, response);

    }


二:明日计划

我的订单和我的订单页

三:疑难问题

查看购物车之前,应该进行登录操作,但是又不能确保用户一定会记得登录

四:思考总结

准备一个过滤器,当访问那些需要登录才能做的页面的时候,进行是否登录的判断


返回列表 返回列表
评论

    分享到