HotCoffee进度管理
1. 完成HTML/CSS 大体的画面和layout做好,实现基本功能的显示
2. 连接上数据库,把静态HTML页面转为.jsp动态页面;
(1)设计类,设计数据库,导入少量试验数据
(2)连接上数据库,把静态HTML页面转为.jsp动态页面
(3)写servlet,跑通基本功能(关键的usecase)
a. login和logout功能 √6.1
b. 首页店铺商品信息表示出来 √6.2 √6.3做数据库
c. 点击某个店铺,出现那个店铺的商品信息 √6.4
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