发表于: 2017-07-14 10:30:58
2 1225
今天完成的:
把整个任务完善了一下。完成Task7的大部分
用户注册界面/登录界面/任务页面分离
添加sesion验证
添加了学生列表显示
完成手机号注册功能
添加用户上传头像功能
将sms和图片上传功能整合到spring
收获:
1.花了一上午调出来ajax。使用jquery的写法,jqery是js的一个框架,ajax是js的一个标准,可以实现异步通信(局部刷新html)
<script type="text/javascript">
$(function () {
$('#sendMessage').click(
function () {
$.ajax({
type:"POST",
url: "/Task4_page/page/sendmessage",
data:{"telephone":$("#telephone").val()},
dataType:JSON,
success:function (html) {
alert("请输入收到的验证码!")
}
})
}
);
});
</script>
2.最近使用IDEA进行web开发,发现每次修改jsp、js后均需要重新启动tomcat后修改才生效,查阅资料后发现如下方法可以无需重新部署:Run--->Run/Debug Configurations--->Tomcat Server,将 on update action 选项选择为“ReDeploy”,on frame deactivation 选项选择为 “update classes and resources”(使用war explored方式部署),如下图所示:
3.session过期时间设置。session默认的过期时间是20分钟,可以通过session.setMaxInactiveInterval(600);设置其过期时间。关闭浏览器session会失效。session对象永不消毁,关闭浏览器,session仍然存在于服务器内存中。所以要设置一个默认的session生命周期。Cookie是可以覆盖的,如果重复写入同名的Cookie,那么将会覆盖之前的Cookie。
4.idea的一些配置
idea的spring@autowired报错:可在File -- Settings -- Inspections。在Spring core -- Autowring for Bean Class 中将Severity的级别由之前的error改成warning。
idea中的忽略大小写提示:输入:sensitiv将右侧的 case sensitive completion 修改为NONE。忽略大小写提示。师兄说的。
idea中producet structure里的spring配置,若提示unmapped,则未正确映射该配置文件,需移除后重新添加。
windows下的文件路径是反斜杠
5.idea普通java项目打jar包
在project stucture中,弹窗最左侧选中Artifacts->"+",选jar,选择from modules with dependencies,即将依赖的jar包也打进去。然后build,make project。
6.spring使用构造注入时要注意被注入的类的所有成员变量都要添加到构造函数中,不然会导致构造失败,尽量不要将全局变量直接赋值。通过getter/setter注入没有这个问题。
7.缓存的更新逻辑
失效:应用程序先从cache取数据,没有得到,则从数据库中取数据,成功后,放到缓存中。
- 命中:应用程序从cache中取数据,取到后返回。
- 更新:先把数据存到数据库中,成功后,再让缓存失效。
遇到的问题:
1.ajax还不熟练,点击事件可以正常发送验证码和验证,但检查元素会有奇怪的404。原因不明
2.cookie的生成策略是uuid+当前时间。但如果不把username添加进去,从cookie没法读出用户名并显示出来,除非在拦截器里加一条DB查询,这是不可能的。只能生成cookie为username+uuid+当前时间就好了。
3.分别做好异常处理,要知道第三方Api是很容易出问题的,最常见的方式就是当出现异常的时候,记录错误日志,然后每天晚上跑脚本,看看当天的邮件,短信,图片上传的失败率有多少。这里直接tryCatch接口吗?感觉是这个意思,但发了很多短信也没遇到过异常。
明天的计划:
完成Task7,编写图片迁移程序。把redis的更新逻辑调整一下。继续调整项目不规范的地方。
评论