1.任务安排,画表格展示
计划时间 | 计划任务 | 计划是否完成 |
3.22-3.29 | 将活动模块用Servlet方法 | 是 |
3.29-4.5 | 编写登陆模块 | 否 |
4.1-4.7 | 编写用户注册模块 | 是 |
4.16-4-22 | 整合界面代码,完善登陆模块 | 否 |
2.本周完成内容
登陆、注册功能
3.本周实现代码
这周把项目的代码层扩展了一下,增加了dao层,service以及一些接口等:
增加了UserServive接口,具体实现在相关的类中实现:
UserService
增加了UserDao,相关的接口放在了UserDaoImpl里面,这周编写的部分是:
UserDaoImpl
为了实现登陆和注册功能,完善了UserServlet,增加了“login”和“register”的action
if(action.equals("login")){ String UserID = request.getParameter("UserID"); String Password = request.getParameter("Password"); User u = userService.login(UserID, Password); if (null != u) { //验证成功,还要看is_delete if (u.getIsDelete() == 0) { request.getSession().setAttribute("user", u); response.sendRedirect("user?action=index"); } else { request.getSession().setAttribute("userIsDeleMsg", "该用户已被禁用,无法登录!"); response.sendRedirect("Login.jsp"); } } else { request.getSession().setAttribute("msg", "验证失败,请重新输入用户名或密码!"); response.sendRedirect("Login.jsp"); } }else if(action.equals("index")){ //跳转到活动首页 request.getRequestDispatcher("/index.jsp").forward(request, response); }else if(action.equals("register")){ String UserID = request.getParameter("UserID"); String UserName = request.getParameter("UserName"); String email = request.getParameter("email"); String Password = request.getParameter("Password"); int id = userService.getIdByuserName(UserName); //根据username查询用户id User u = userService.getByEmail(email); //根据email查询用户 if ((id > 0) || (null != u)) { request.getSession().setAttribute("existMsg", "用户名或邮箱已被注册,请重新填写!"); } else { int res = userService.register(email, UserName, Password,UserID); if (res > 0) { //注册成功! request.getSession().setAttribute("succMsg", "注册成功"); } else { request.setAttribute("errorMsg", "注册失败,请重新填写用户信息!"); } } response.sendRedirect("Register.jsp"); }
4.本周代码实现截图
此处请在每个截图上面加上文字说明。
登陆界面进行一定修改以后,加上了相关的提示:
注册用户:
两次输入的密码不同时会跳出提示:
5.本周碰到问题及解决方法
原计划要把界面的代码整合进来的,但是我个人有点看不懂界面的代码,我觉得除了可视化的界面部分外,登陆的界面这一块写的不是太好。(比如说用户名和密码错误没有相关的提示,甚至输入密码时直接显示的是输入的内容,我觉得应该需要是黑点来表示吧)。用户名和密码是怎么从界面交给servlet验证登陆的这一块还很迷惑,所以还不能登陆成功。
原计划完成注册的界面,但是编写代码的小伙伴还没写好所以完成不了,但是在自己粗糙写的一个界面下功能是能成功实现的。最困难的就是整合他们的界面代码了。
6.本周小结
现在的问题很多,首先我自己底层的代码没写清楚,但是如果对界面这方面一无所知就整合不了界面的代码。所以还是有点不知所措,抱着能做多少就做多少的心态在做。