zoukankan      html  css  js  c++  java
  • 从零开始——电子商务平台02

    一、整体示意图

    二、分析

      1)添加管理员/修改管理员信息

        1、addUser.jsp  

          [通过action跳转到adminServlet中。]

          [当Id值存在时,为修改;当Id值不存在时,为注册]

    <form role="form" class="form-horizontal"
            action="${pageContext.request.contextPath}/admin/adminServlet?method=addUser&updateId=${updateBean.id }"
            method="post" id="checkForm">
    <!--     *********************************************** -->
    <!--     *******************updateBean****************** -->
    <!--     *******************当修改时,用的****************** -->
    <!--     *********************************************** -->
            <div class="form-group"> 
                <label class="col-md-3 control-label" for="username">用户名</label> 
                <div class="col-md-9">
                    <input class ="form-control" name="username" type="text" id="username"
                        placeholder="Username" value="${updateBean.username }" />
                </div>
            </div>
            <div class="form-group"> 
                <label class ="col-md-3 control-label"for="inputPassword">密码</label> 
                <div class="col-md-9">
                    <input type ="password"name="password" class="form-control"
                    id="inputPassword" placeholder="Password"
                    value="${updateBean.password }">
                </div>
            </div>
            <div class="form-group"> 
                <label class ="col-md-3 control-label"for="password2">确认密码</label> 
                <div class="col-md-9">
                    <input type ="password"name="password2" class="form-control"
                    id="password2" placeholder="conformPassword">
                </div>
            </div>
            <div class="form-group"></div>
            <div class="form-group"> 
            <div class ="col-md-offset-3col-md-9">
            <button type ="submit" class="btn btn-primary btn-block">
            提交
            </button>
            </div>
            </div>
            
            <c:if test="${param.status.equals('1')}">
                <div class ="alert alert-danger"role="alert">添加成功</div>
            </c:if> 
            
            <c:if test="${param.status.equals('2')}">
                <div class ="alert alert-danger"role="alert">该用户已存在</div>
            </c:if> 
            
            <c:if test="${param.status.equals('3')}">
                <div class ="alert alert-danger"role="alert">成功</div>
            </c:if>
            
        </form>

        2、adminServlet.java

    //添加用户/修改用户信息
        private void addUser(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException 
        {
            // TODO Auto-generated method stub
            req.setCharacterEncoding("utf-8");
            
            //************************update**********************
            String updateId = req.getParameter("updateId");
            //****************************************************
            
            AdminDao adminDao = new AdminDao();
            String username =req.getParameter("username");
            String password =req.getParameter("password");
            AdminBean adminBean = new AdminBean();
            
            adminBean.setUsername(username);
            String salt=StringUtil.getRandomString(10);
            //设置盐值
            String md5Pwd= MD5.GetMD5Code(MD5.GetMD5Code(password)+salt);
            //将加密的密码和盐值再加密设为数据库中的密码
            adminBean.setSalt(salt);
            adminBean.setPassword(md5Pwd);
            SimpleDateFormat createDate1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            adminBean.setCreateDate(createDate1.format(new Date()));
            
            //************************传过来的id值 (updateId)为空时,为添加用户,不为空修改**********************
            if(!updateId.equals(""))
            {
                //不为空——修改
                int id = StringUtil.StringToInt(updateId);
                adminBean.setId(id);
                boolean flag = true;
                if(!(username.equals(adminDao.getById(id).getUsername())))
                {
                    //用户名与库里的不相等时,flag为true
                    flag=adminDao.checkReg(username);
                }
                if(flag)
                {
                    adminDao.update(adminBean);
                    resp.sendRedirect("adminServlet?method=list&status=2");
                    //修改
                }
                else
                {
                    resp.sendRedirect("addUser.jsp?status=2");
                    //用户已存在
                }
            }
            else
            {
                //为空——注册
                boolean flag = adminDao.checkReg(username);
                if(flag)
                {
                    //注册成功,写入数据库
                    adminDao.save(adminBean);
                    resp.sendRedirect("addUser.jsp?status=1");
                }
                else
                {
                    //失败,跳回
                    resp.sendRedirect("addUser.jsp?status=2");
                }
            }
        }

      2)查看管理员信息(修改、删除、分页

        2.1 修改、删除

          1.listUsers.jsp

            [修改-->adminServlet 中toUpdate方法]

            [删除-->adminServlet 中delete方法]

    <table class ="table table-striped">
                <tr>
                    <td>id</td>
                    <td>username</td>
                    <td>password</td>
                    <td>salt</td>
                    <td align ="center" colspan="2">操作</td>
                </tr>
        <!-- forEach遍历出adminBeans --> 
            <c:forEach items="${adminBeans}" var="item" varStatus="status">
                <tr>
                    <td>${item.id}</td>
                    <td><a>${item.username}</a></td>
                    <td>${item.password}</td>
                    <td>${item.salt}</td>
                    <td><a href="${pageContext.request.contextPath}/admin/adminServlet?method=toUpdate&id=${item.id}">修改</a></td>
                    <td><a href="${pageContext.request.contextPath}/admin/adminServlet?method=delete&id=${item.id}">删除</a></td>
                </tr>
            </c:forEach>
            
            </table>

          2.adminServlet.java

            [修改-->adminServlet 中toUpdate方法]   

    private void toUpdate(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException {
            // TODO Auto-generated method stub
            req.setCharacterEncoding("utf-8");
            int id=StringUtil.StringToInt(req.getParameter("id"));
    
            if(id>1)
            {
                AdminDao adminDao = new AdminDao();
                AdminBean adminBean=adminDao.getById(id);
                req.setAttribute(Constants.SESSION_UPDATE_BEAN, adminBean);
                req.getRequestDispatcher("addUser.jsp").forward(req, resp);
            }
            else if(id==1)
            {
                resp.sendRedirect(req.getContextPath()+"/admin/adminServlet?method=list&status=1");
            }
            else
            {
                resp.sendRedirect(req.getContextPath()+"/admin/adminServlet?method=list&status=2");
            }
        }

          [删除-->adminServlet 中delete方法]【无提示!!!】

    private void delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException {
            // TODO Auto-generated method stub
            req.setCharacterEncoding("utf-8");
            int id=StringUtil.StringToInt(req.getParameter("id"));
            if(id>1)
            {
                AdminDao adminDao = new AdminDao();
                adminDao.delete(id);
                resp.sendRedirect(req.getContextPath()+"/admin/adminServlet?method=list&status=3");
            }
            else if(id==1)
            {
                resp.sendRedirect(req.getContextPath()+"/admin/adminServlet?method=list&status=1");
            }
            else
            {
                resp.sendRedirect(req.getContextPath()+"/admin/adminServlet?method=list&status=2");
            }
        }

       2.2 分页

        1.listUsers.jsp

         [pagingBean 相关量的集合 set get部分]

        <div>
                <util:page pagingBean ="${pagingBean}"/>
            </div>

        2.adminServlet.java

          [list-->adminServlet]

          [其中设置了pagingBean中的当前页显示的条数 (在Constants中有设置)]

    //查看/列举管理员
        private void listUsers(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException {
            // TODO Auto-generated method stub
            req.setCharacterEncoding("utf-8");
            String status=req.getParameter("status");
            AdminDao adminDao = new AdminDao();
            int currentPage=StringUtil.StringToInt(req.getParameter("currentPage"));
            int countSize = adminDao.getCount();
            PagingBean pagingBean =new PagingBean(currentPage,countSize,Constants.PAGE_SIZE_1);
            List<AdminBean> adminBeans = adminDao.getListByPage(currentPage * Constants.PAGE_SIZE_1,Constants.PAGE_SIZE_1);
            pagingBean.setPrefixUrl(req.getContextPath()+"/admin/adminServlet?method=list");
            pagingBean.setAnd(true);
            req.setAttribute(Constants.SESSION_ADMIN_BEANS, adminBeans);
            req.setAttribute("pagingBean", pagingBean);
            if(status!=null)
            {
                req.getRequestDispatcher("listUsers.jsp?status="+status).forward(req, resp);
            }
            else
            {
                req.getRequestDispatcher("listUsers.jsp").forward(req, resp);
            }
        }

        3.PageTag.java

        [分页函数的具体实现]

    public void doTag() throws JspException, IOException {
            // TODO Auto-generated method stub
            //super.doTag();
            StringBuffer sb =new StringBuffer();
            if(pagingBean!=null)
            {
                sb.append("<nav><ul class='pagination'>");
                if(pagingBean.getCurrentPage()<=0)
                {
                    sb.append("<li class='disabled'><a>首页</a></li>");
                    sb.append("<li class='disabled'><a href='#'>上一页</a></li>");
                }
                else
                {
                    sb.append("<li><a href='").append(pagingBean.getPrefixUrl()).append("'aria-label='Previous'><span aria-hidden='true'>首页</span></a></li>");
                    sb.append("<li><a href='").append(pagingBean.getPrefixUrl()).append(pagingBean.isAnd()?"&":"?").append("currentPage=").append(pagingBean.getCurrentPage()-1).append("'>上一页</a></li>");
                }
                
                if(pagingBean.getCurrentPage()>=(pagingBean.getPageCount()-1))
                {
                    sb.append("<li class='disabled'><a>下一页</a></li>");
                    sb.append("<li class='disabled'><a>尾页</a></li>");
                }
                else
                {
                    sb.append("<li><a href='").append(pagingBean.getPrefixUrl()).append(pagingBean.isAnd()?"&":"?").append("currentPage=").append(pagingBean.getCurrentPage()+1).append("'>下一页</a></li>");
                    sb.append("<li><a href='").append(pagingBean.getPrefixUrl()).append(pagingBean.isAnd()?"&":"?").append("currentPage=").append(pagingBean.getPageCount()-1).append("'aria-label='Previous'><span aria-hidden='true'>尾页</span></a></li>");
                }
                sb.append("<li><a href='#'>");
                sb.append("<span>");
                sb.append(pagingBean.getCurrentPage()+1);
                sb.append("/");
                sb.append(pagingBean.getPageCount());
                sb.append("</span>");
                sb.append("</a>");
                sb.append("</li>");
                sb.append("</ul></nav>");
            }
            getJspContext().getOut().write(sb.toString());
        }

    三、分享

       链接:http://pan.baidu.com/s/1gfbzodX 密码:qitj

  • 相关阅读:
    百度mp3地址解密码
    VB 在EXE后附加信息
    截屏函数
    Base64和StrToByte
    The Android ION memory allocator, DMABUF is mentioned as well
    DDC EDID 介绍
    Memory management for graphic processors TTM的由来
    科普 写display driver的必看 How video card works [2D的四种主要操作]
    GEM vs TTM
    DMABUF 背景介绍文章 Sharing buffers between devices
  • 原文地址:https://www.cnblogs.com/justmaomao/p/6880077.html
Copyright © 2011-2022 走看看