1. 完成HTML/CSS 大致的畫面和layout作好,實現基本功能的顯示html
2. 鏈接上數據庫,把靜態HTML頁面轉爲.jsp動態頁面;java
(1)設計類,設計數據庫,導入少許試驗數據sql
(2)鏈接上數據庫,把靜態HTML頁面轉爲.jsp動態頁面數據庫
(3)寫servlet,跑通基本功能(關鍵的usecase)session
a. login和logout功能 √6.1架構
b. 首頁店鋪商品信息表示出來 √6.2 √6.3作數據庫eclipse
c. 點擊某個店鋪,出現那個店鋪的商品信息 √6.4 jsp
d1. 單擊某個商品,出現下單頁面 √6.5工具
d2.生成訂單號,並將填寫好的訂單信息驗證後放入數據庫 √ 6.8/6.9網站
e. 查閱商品的delivery狀態 √6.9
f. 修改delivery狀態 √6.10/6.11/6.12
g. 註冊功能 √6.13
(4)完善
1.主要在dao裏寫英語註釋,修正縮進√
2.login時密碼變成隱形√
3.店鋪用戶login直接進入自家店鋪的管理頁面√
4.修改首頁成動態圖片×
5.店鋪把狀態更新後,用戶的配送狀態瀏覽頁面有bug!四個大分類順序無誤,但小分類如成功完了內部未正確排序,疑似reverse方法未成功。 ★
6.在適當的位置加上login的入口√
7.寫幫助/網站使用說明的頁面×
8.店鋪地址信息營業時間咖啡說明等等,寫入buy.jsp中details的紅框下面√
9.加入公園地圖API×
10.把jsp中script用別的文檔寫,而後引入。√
11.修改文檔並統一,文檔&網站統一化 √
12.修改店鋪的狀態更新頁面圖片,四個圖片上加上箭頭指引 ★
13.修改補充數據庫
14.1增長error page,例外處理(Servlet中和dao相關處,仿Yasui)√
14.2 validation,security √
15.logout時候刪除session √
16.總結Best Practice和經驗收穫 ★
17.加filter ×
18.添加商家電話信息,添加customer電話信息 √
19.本身作動態頁面,或者刪除動態頁面那個插件 √
20.二維碼憑證 √
21.正確性驗證,用戶名郵箱是否已註冊過,未在registerServlet中進行驗證 √
22.login按鈕要修改 √
備註:作數據,能夠插入更多的item信息到數據庫,而後作不一樣咖啡廳的「中圓角」咖啡圖片,並最好能反映出是不一樣店鋪的咖啡。準備好發表的中文邏輯和日語google翻譯版。瞭解一下forward和熱direction的差異&MVC架構。 登錄那部分也須要修改dao到servlet中。
出bug狀況:
1.數據庫插入新數據後忘記commit
2.JSP中HTML中傳password到Servlet,可是獲取不到password。緣由是HTML那段代碼,空格是全角而不是半角的。
Best Practice:
1.註釋可用JavaDoc格式,在類和method前一行輸入 /** 而後回車。
2.按照sequence圖來一個一個usecase實現,思路比較順。
3. //MVC架構中,Dao在servlet中使用,Jsp中不用dao(也最好不要script),只是表現層
//此處把該shopId相對應的屬於該店鋪的order放入orderList,而後在update頁面表現出來
//此段代碼放在StatusCheckServlet中
OrderDao dao = new OrderDao();
ArrayList<Order> orderList = null;
ArrayList<Order> newOrderList = null;
try {
dao.getConnection();
orderList = dao.selectAllOrderByUser(user.getUserName());
newOrderList = dao.getNewOrderList(orderList);
dao.closeConnection();
} catch (Exception e) {
e.printStackTrace();
}
session.setAttribute("orderList", newOrderList);
4.
eclipse中文件那一行工具欄 ソース インデントの訂正 ,能夠ctrl+A全選後,點擊修改縮進,使得代碼更易讀懂
5. dao的地方和數據庫交互因此須要事務處理,好比rollback,好比commit
try{ System.out.print("new userId is :" + user.getUserId()); con.setAutoCommit(false);
String sql4 = "INSERT INTO HotCoffee_user VALUES(?,?,?,?,?,?)"; pstmt4 = con.prepareStatement(sql4); pstmt4.setString(1,user.getUserId()); pstmt4.setString(2,user.getUserName()); pstmt4.setString(3,user.getPassword()); pstmt4.setString(4,user.getMail()); pstmt4.setString(5,user.getRole()); pstmt4.setString(6,user.getShopId()); insertUserResult = pstmt4.executeUpdate();
con.commit();
pstmt4.close();
}catch(SQLException e){
con.rollback();
throw new SQLException(e);
}finally{ if(pstmt4!=null) pstmt4.close(); } return insertUserResult;
6.改善點
作ORM映射,在dao中sql語句獲取數據庫對象數據時。
作響應式網站,responsive,不管什麼尺寸均可以看。
工做方法:
1. 隨時彙報隨時相談很重要,人事人際也許比效率更重要。不要再帶着效率至上的觀點了。相談也是工做的一部分。和上司和周圍人多聊聊也是有幫助的。
2. 本身有錯誤就真誠地道歉,須要對方什麼指導和幫助也提出來。
3. 個人觀點效率至上,有時候便會自做主張作些決定。可是在日本,不要本身作決定,有問題有麻煩就向相關者反饋。
PS:
jsp=html+java代碼jsp是JavaWEB展示給訪問者的頁面jsp本質上是servlet