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");
}
View Code
4.本周代碼實作截圖
此處請在每個截圖上面加上文字說明。
登陸界面進行一定修改以後,加上了相關的提示:
注冊使用者:
兩次輸入的密碼不同時會跳出提示:
5.本周碰到問題及解決方法
原計劃要把界面的代碼整合進來的,但是我個人有點看不懂界面的代碼,我覺得除了可視化的界面部分外,登陸的界面這一塊寫的不是太好。(比如說使用者名和密碼錯誤沒有相關的提示,甚至輸入密碼時直接顯示的是輸入的内容,我覺得應該需要是黑點來表示吧)。使用者名和密碼是怎麼從界面交給servlet驗證登陸的這一塊還很迷惑,是以還不能登陸成功。
原計劃完成注冊的界面,但是編寫代碼的小夥伴還沒寫好是以完成不了,但是在自己粗糙寫的一個界面下功能是能成功實作的。最困難的就是整合他們的界面代碼了。
6.本周小結
現在的問題很多,首先我自己底層的代碼沒寫清楚,但是如果對界面這方面一無所知就整合不了界面的代碼。是以還是有點不知所措,抱着能做多少就做多少的心态在做。