发表于: 2018-09-17 23:05:46
1 419
今天完成的事情:
1.学习使用监听器估计在线人数;
(1)创建监听器监听session创建与销毁;
package com.zyq.listener;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class OnlineNumberListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent httpSessionEvent) {
ServletContext application = httpSessionEvent.getSession().getServletContext();
Integer online_number = (Integer) application.getAttribute("online_number");
if (null == online_number) {
online_number = 0;
}else{
online_number++;
}
application.setAttribute("online_number", online_number);
System.out.println("新增一位在线用户");
}
@Override
public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
ServletContext application = httpSessionEvent.getSession().getServletContext();
Integer online_number = (Integer) application.getAttribute("online_number");
if(null==online_number){
online_number = 0;
} else {
online_number--;
}
application.setAttribute("online_number", online_number);
System.out.println("一位用户离线");
}
}
(2)在web.xml中添加配置;
<listener>
<listener-class>com.zyq.listener.OnlineNumberListener</listener-class>
</listener>
(3)在jsp页面中添加显示。
<div class="miniuser_title">
<img src="/img/css8/user-small.png">
<span class="miniuser_title_number">${online_number}</span>
</div>
<div class="miniuser_content">
累计在线学习人数
</div>
2.在数据库中添加手机、邮箱字段,完成注册时判断手机邮箱是否已经注册(ajax实现);
(1)判断手机是否为已经注册,返回1表示已经存在,0表示为空;
1)ajax;
document.getElementById("telephone").onblur=function (){
var phoneReg = /(^1[3|4|5|7|8]\d{9}$)/;
var telephone =document.getElementById("telephone");
if (telephone.value!="") {
if (!phoneReg.test(telephone.value)) {
document.getElementById("telephoneNotNull").style.display = "block";
document.getElementById("sendMsgByTel").setAttribute("disabled","disabled");
} else {
$.ajax({
url: "/user/telUnique/"+telephone.value,
type: 'GET',
dataType:'json',
success: function (data) { // http code 200
if (1==data){
document.getElementById("telephoneUnique").style.display = "none";
document.getElementById("sendMsgByTel").removeAttribute("disabled");
}else {
document.getElementById("telephoneUnique").style.display = "block";
document.getElementById("sendMsgByTel").setAttribute("disabled","disabled");
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
switch (XMLHttpRequest.status) {
case 401:
break;
case 404:
break;
case 500:
break;
}
}
});
}
}else {
document.getElementById("sendMsgByTel").setAttribute("disabled", "disabled");
}
}
2)controller,从数据查询判断是否存在;
// 验证手机号是否已注册
@ResponseBody
@RequestMapping(value = "/user/telUnique/{telephone}",method = RequestMethod.GET)
public String getByTelephone(@PathVariable String telephone){
String password = userService.selectPwdByTelephone(telephone);
if(password!=null&&password.length()>0){
logger.info("该手机号已存在。。。。。。。。。。。。");
return "0";
}else {
logger.info("该手机号可用,可以注册");
return "1";
}
}
3)展示;
2.邮箱同理,就不多说了。
明天计划的事情:
(1)尝试将引用第三方引用API作为手机邮箱验证的工具类;
(2)简单了解图片上传的一些知识。
遇到的问题:
无。
收获:
学习监听器的简单使用。
任务进度:
2018.09.14日领取任务七。
评论