打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
jFinal写的登录功能的具体实现

不细讲,主要留自己下次复制用的(嘿嘿)

  1. <span style="font-size:18px;">  //登录   model  
  2.         public boolean findUserLogin(String username,String password,List<User> userlist){  
  3.             String querysql="select * from user where username=? and password=? AND state=1 ";  
  4.             List<User> list;  
  5.             try{  
  6.                 //绑定参数查询数据使用find()方法查询数据返回数据为集合  
  7.                 list=this.dao.find(querysql, username,password);  
  8.             }catch(Exception ex){  
  9.                 ex.printStackTrace();  
  10.                 return false;  
  11.             }  
  12.             if(list.isEmpty() || list==null){  
  13.                 return false;  
  14.             }  
  15.             //将登录者数据添加到userlist集合中  
  16.             userlist.add(list.get(0));  
  17.             return true;  
  18.               
  19.         }</span>  

  1. <span style="font-size:18px;">//登录 Controller  
  2.     public void login(){  
  3.         //获取登录者信息查询  
  4.         String username=getPara("username");  
  5.           
  6.         String password=getPara("password");  
  7.           
  8.         List<User> userlist=new ArrayList<User>();  
  9.         boolean bflag = User.dao.findUserLogin(username, password, userlist);  
  10.         //如果数据能查出来保持会话更新登陆时间并将登录者信息响应回去  
  11.         if(bflag){  
  12.             //this.getSession().setAttribute("username", username);  
  13.             //创建当前时间以字符串形式返回  
  14.             String t=TimeHelper.Format("yyyy-MM-dd HH:mm:ss");  
  15.             //记录登录者登录信息  
  16.             String sql="update user set LoginTime=? where username=?";  
  17.             //使用update方法执行修改语句  
  18.             Db.update(sql, t,username);  
  19.             //设置代表登录状态的信息  
  20.             setAttr("status",0);  
  21.             //储存登录者信息于请求中  
  22.             setAttr("user",userlist.get(0));  
  23.             //将登录者信息保存到会话session中  
  24.             this.setSessionAttr("adminlogin", userlist.get(0));  
  25.               
  26.         }else{  
  27.             //如果失败登录状态为-1代表  
  28.             setAttr("status",-1);  
  29.         }  
  30.         //响应请求  
  31.         this.renderJson();  
  32.           
  33.     }</span>  

  1. <span style="font-size:18px;"><-- 局部的html,jsp页面 -->           </span>  
  1. <span style="font-size:18px;"> <form method="post">  
  2.                 <div class="form-group">  
  3.                     <input type="text" class="form-control" placeholder="用户名" required="required" id="username">  
  4.                 </div>  
  5.                 <div class="form-group">  
  6.                     <input type="password" class="form-control" placeholder="密码" required="required" id="password">  
  7.                 </div>  
  8.                 <button id="login" type="button" class="btn btn-primary block full-width m-b" onclick="javascript:loginSubmit()">登 录</button>  
  9.                                                                                     
  10.                 <!--    
  11.                 <p class="text-muted text-center"> <a href="login.html#"><small>忘记密码了?</small></a> | <a href="register.html">注册一个新账号</a>  
  12.                 </p>  
  13.                 -->  
  14.   
  15.             </form></span>  

敲击回车键触发 登录的单击事件

  1. <span style="font-size:18px;"> <script>  
  2.     $("body").keydown(function() {  
  3.         if (event.keyCode == "13") {//keyCode=13是回车键  
  4.             $("#login").click();  
  5.         }  
  6.     });  
  7.       
  8.     </script></span>  

ajax代码如下:

  1. <span style="font-size:18px;">/* 
  2.  *管理员登录  
  3.  */  
  4. function loginSubmit(){  
  5.     //获取login.jsp页面的数据登录者姓名和密码  
  6.     var username=$("input#username").val();  
  7.     var password=$("input#password").val();  
  8.     if(username==""){  
  9.         layer.tips('用户名不能为空',"#username",{  
  10.             tips:[2,'#ff0000']});  
  11.         $("input#username").focus();  
  12.         return;  
  13.     }  
  14.     if(password==""){  
  15.         layer.tips('密码不能为空','#password',{  
  16.             tips:[2,'#ff0000']  
  17.         });  
  18.         $("input#password").focus();      
  19.         return;  
  20.     }  
  21.     //当密码和用户名不为空的时候使用Ajax进行用户信息登录验证  
  22.     var strJSON ={"username":username,"password":password};  
  23.     jQuery.ajax({  
  24.         url:"./user/login",  
  25.         type:"POST",  
  26.         data:strJSON,  
  27.         success:function(obj){  
  28.             if(obj.status==0){  
  29.                 //将登录者信息保存在cookie中以便添加信息时添加经济人  
  30.                 setCookie("loginname",obj.user.username);  
  31.                 //跳转到首页  
  32.                 window.location.replace("index.jsp");//登录成功  
  33.             }else{  
  34.                 layer.alert('用户名或密码不正确', {  
  35.                   skin: 'layui-layer-molv' //样式类名  
  36.                   ,closeBtn: 0  
  37.                   ,shift: 4 //动画类型  
  38.                 });  
  39.             }  
  40.         },  
  41.         error:function(){  
  42.             layer.alert('系统错误',{skin:'layui-layer-molv'  
  43.                 ,closeBatn:0});  
  44.         },  
  45.         complete:function(obj){  
  46.             if(obj.status==200);  
  47.         }  
  48.     });  
  49. }</span>  



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
成功vue登录及token验证
Android的intent之间复杂参数的传递
用Python登录账户
List.Contains实现对比
一个jquery-ajax post例子ajax 登陆
表单页面
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服