发表于: 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日领取任务七。



返回列表 返回列表
评论

    分享到