发表于: 2017-08-26 21:58:49
2 954
一.今天完成的主要事情
继续复习以前的知识点并对项目进行优化
1.通过过滤器和form中的隐藏属性的使用,实现真正的restful的接口
首先,通过form表单的隐藏属性,发送put和delete请求,以put为例
然后在web.xml中配置过滤器:
最后,就可以在控制器中使用put方法和delete方法.
需要注意的是在返回执行结果跳页面的时候如果是跳jsp页面,那么要用请求转发的方式,因为此时被过滤出的方法是真正的方法,即put和delete,而jsp是不能处理put和delete方法,所以用请求转发的方式,将put,delete方法转换为get方法,否则会报错.除此之外,直接返回json格式的字符串也可以.
2.继续完善memcached缓存的使用
在测试时出现了很多bug,主要都是因为缓存和数据库的操作经常不一致引起的,昨天的方式太过于想当然,存在很多问题,今天再次优化了一下,具体过程不展示了,直接上结果吧.
主要问题就再于,有三个查询的方法,findByPK(),findByName(),findAll(),三个方法执行后都会生成缓存,每种缓存的key都不相同,那么在更新,添加以及删除数据后要将这三个缓存都进行相应的更新,添加,否则就会出现缓存和数据库不一致的情况.
增加一条数据时:
更新一条数据时:
更新比较复杂一些,尤其是更新key为studentName + 姓名的缓存时,不能直接更新,因为新的数据的name字段和旧数据的name字段的值可能不相同,所以没办法直接更新,所以采用删除旧缓存,然后再添加新缓存的方式更新缓存.
删除一条缓存
因为不涉及新数据和旧数据之间的差别,所以和添加数据一样,直接更新缓存,只是要先把key为student + ID的缓存删除.
3.添加拦截器,实现自动登陆
这个和之前的基本相同,就不贴了.
二.明天计划的事情
1.准备小课堂
2.回顾基本结束,要正式开始任务七了,先测试短信验证接口
三,遇到的问题
暂无
四,收获
以上
五,是否有延期风险
暂无
评论