发表于: 2017-08-26 21:58:49

2 955


一.今天完成的主要事情

继续复习以前的知识点并对项目进行优化

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.回顾基本结束,要正式开始任务七了,先测试短信验证接口

三,遇到的问题

暂无

四,收获

以上

五,是否有延期风险

暂无


返回列表 返回列表
评论

    分享到