一个不知名的项目--Day03
2017-08-20 09:46
190 查看
day03
序
昨天稍微更进了进度今天是补上昨天day03
再说一下整体功能的预想
商品管理功能
商品展示
真/假购物车(可能两个都做或者做一个)
订单
支付
权限
….暂时就怎么多
注册功能续2
注册失败时的数据回显
sevletrequest.setAttribute("user",user);
jsp
<input type="text" name="uname" class="username" placeholder="请输入您的用户名!" value="${user.uname}"> <input type="password" name="upaw" class="password" placeholder="请输入您的用户密码!"> <input type="password" name="upaw2" class="password" placeholder="请输入确认用户密码!"> <input type="text" name="unickname" class="username" placeholder="请输入您的昵称!" value="${user.unickname}" > <input type="text" name="uemail" class="username" placeholder="请输入您邮箱!" value="${user.uemail}">
修改登录页面
(>﹏<) 我捉急的css登录功能开发
servletprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String uname = request.getParameter("uname"); String upaw = request.getParameter("upaw"); String rename = request.getParameter("rename"); String login = request.getParameter("login"); UserService instence = BasicFactory.factory.getInstence(UserService.class); User user=null; if ((user=instence.userLogin(uname, MD5Utils.md5(upaw)))==null){ request.setAttribute("msg","用户名或密码错误"); request.getRequestDispatcher("/login.jsp").forward(request, response); return; } int day=0; if ("on".equalsIgnoreCase(rename)){ day=24*3600*30; } Cookie cookie=new Cookie("uname",day==0?"":URLEncoder.encode(uname,"utf-8")); cookie.setMaxAge(day); cookie.setPath(request.getContextPath()+"/"); response.addCookie(cookie); if ("on".equalsIgnoreCase(login)){ Cookie cookie1=new Cookie("autokey",URLEncoder.encode(user.getUname()+":"+user.getUpaw(),"utf-8")); cookie1.setMaxAge(24*3600*30); cookie1.setPath(request.getContextPath()+"/"); response.addCookie(cookie1); } HttpSession session = request.getSession(); session.setAttribute("user",user); response.sendRedirect(request.getContextPath()+"/index.jsp"); }
jsp
<form action="${app}/LoginServlet" method="post"> <input type="text" name="uname" class="username" placeholder="请输入您的用户名!" value="${cookie.uname.value}"> <input type="password" name="upaw" class="password" placeholder="请输入您的用户密码!"> <%--<input type="Captcha" class="Captcha" name="Captcha" placeholder="请输入验证码!">--%> <div id="fx2"> <span> <input type="checkbox" name="rename" id="fx1" ${cookie.uname==null?"": "checked='checked'"}/> 记住用户名</span> <span><input type="checkbox" name="login" id="fx1"/> 30天免登陆</span> </div> <button type="submit" class="submit_button">登录</button> <div class="error"><span>+</span></div> <div class="error1"><span>${msg}</span></div> </form>
js
$(function () { var val = $(".username").val(); $(".username").val(decodeURI(val,"utf-8")); })
30天免登录
拦截器做的自动登录HttpServletRequest r= (HttpServletRequest) req; HttpSession session = r.getSession(); User user = (User) session.getAttribute("user"); if (user==null){ Cookie[] cookies = r.getCookies(); if (cookies!=null){ String auto=null; for (Cookie c:cookies){ if ("autokey".equalsIgnoreCase(c.getName())){ auto=c.getValue(); break; } } if (auto!=null){ UserService instence = BasicFactory.factory.getInstence(UserService.class); auto = URLDecoder.decode(auto, "utf-8"); if ((user=instence.userLogin(auto.split(":")[0],auto.split(":")[1]))!=null){ session.setAttribute("user",user); } } } } chain.doFilter(req, resp); }
登出
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Object user = request.getSession().getAttribute("user"); if (user!=null){ request.getSession().removeAttribute("user"); } Cookie cookie1=new Cookie("autokey", ""); cookie1.setMaxAge(0); cookie1.setPath(request.getContextPath()+"/"); response.addCookie(cookie1); response.sendRedirect(request.getContextPath()+"/index.jsp"); }
测试
前端,非空校验前端,提示
后端,校验
后端,重复提交
注册
记住用户名
总结
改css,和js花了很多的时间,css太菜了30天免登录也完成了,测试通过
犯的一些小错误
cookie和cookie1 傻傻分不清楚,我还以为谷歌浏览器炸了 ^_^
今天主要先开发后天商品管理的功能,商品展示的页面还没找到,就往后放一下
假数据填充程序
相关文章推荐
- 一个不知名的项目---Day07
- 一个不知名的项目---Day01
- 一个不知名的项目--Day06
- 一个不知名的项目--Day02
- 一个不知名的项目--D 4000 ay05
- 一个不知名的项目--Day04
- 不知是香港的还是台湾的一个rtprtcp项目
- 基于开源项目的在线网络视频直播项目---一个很好的电视直播开源项目Sopcast
- android(体验一个项目天气预报开发)-0
- eclipse导入一个项目之后没有JRE System Library怎么办?
- 每个团队都应该有一个Appfuse式的项目 2nd
- npm和compass开始一个项目
- Spring Boot(一) Eclipse创建一个Spring Boot项目,Spring Boot修改端口号
- 第15周项目-范型程序设计(1)(一个小细节~)
- 如何实现一个项目的用户注册功能?
- ssh开发的一个小项目
- 一个奇怪的查询语句(不知原因)
- 创建一个简单项目的开发步骤
- 结合Struts+Spring+jdbc做的一个小项目
- 作为一个项目经理你关注的是什么