栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

layui登录页面写入数据

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

layui登录页面写入数据

完整代码展示如下:

(学习视频分享:编程入门)

1、前端html

login.html

content="width=device-width, initial-scale=1, maximum-scale=1">

登录

用户名:

placeholder="请输入用户名" autocomplete="off" >${UnameErrMsg?if_exists}

密码:

placeholder="请输入密码" autocomplete="off" >${PwdErrMsg?if_exists}

验证码:

placeholder="请输入验证码" autocomplete="off" >${yzmErrMsg?if_exists}

登录

登录界面样式@CHARSET "UTF-8";

body{

background-image:url(/static/images/login-bg.png);

}

.login {

padding-top: 15%;

width: 26%;

}

.btn-center{

text-center:center;

margin:0 auto;

}

2、写控制器

其中就是login方法与ulogin方法

controller包下IndexController类package cn.pangpython.controller;

import com.jfinal.aop.Before;

import com.jfinal.core.Controller;

import com.jfinal.ext.kit.SessionIdKit;

import cn.pangpython.model.User;

import cn.pangpython.utils.DateUtils;

import cn.pangpython.utils.MD5;

import cn.pangpython.validate.RegistValidator;

import cn.pangpython.validate.UserLoginValidator;

public class IndexController extends Controller {

public void index(){

renderText("index");

}

//渲染注册页面

public void regpage(){

render("regist.html");

}

//处理注册

@Before(RegistValidator.class)

public void regist(){

String pwd = getPara("user.pwd");

String confirm = getPara("reg.confirm");

//验证码验证

boolean result = validateCaptcha("reg.yzm");

if(!result){

setAttr("yzmErrMsg", "验证码错误!");

render("regist.html");

return;

}

//确认密码验证

if(!pwd.equals(confirm)){

setAttr("confirmErrMsg", "请正确填写确认密码!");

render("regist.html");

return;

}

String uname = getPara("user.name");

User user = getModel(User.class);

String reg_time = DateUtils.dateToUnixTimestamp(DateUtils.getNowTime())+"";

//使用用户注册日期作为md5密码加密的盐值,可节省一个salt数据库字段

pwd = MD5.GetMD5Code(pwd+reg_time);

//给user实体类填充数据

user.setName(uname);

user.setPwd(pwd);

user.setRegTime(reg_time);

//使用jfinal的保存操作

user.save();

renderText("注册成功!");

}

public void login(){

render("login.html");

}

@Before(UserLoginValidator.class)

public void ulogin(){

// 验证码结果

boolean result = validateCaptcha("yzm");

if (!result) {

setAttr("yzmErrMsg", "验证码错误!");

render("login.html");

return;

}

String uname = getPara("user.name");

String sql = "select * from user where name = ? limit 1";

User user = User.dao.findFirst(sql, uname);

if (user != null) {

String pwd = MD5.GetMD5Code(getPara("user.pwd") + user.getRegTime());

if (user.getPwd().equals(pwd)) {

// 生成唯一标识

String sessionId = SessionIdKit.me().generate(getRequest());

// 设置服务器端session

setSessionAttr(sessionId, user);

// 设置用户端cookie

setCookie("cuser", sessionId, 60000);

//redirect("/user");

renderText("登录成功!");

} else {

// 密码不正确

setAttr("UnameErrMsg", "用户名或密码不正确!");

render("login.html");

}

} else {

// 用户名不存在

setAttr("UnameErrMsg", "用户名不存在!");

render("login.html");

}

}

}

3、写登录验证器

validator包下的UserLoginValidator继承JFinal的Validatorimport com.jfinal.core.Controller;

import com.jfinal.validate.Validator;

public class UserLoginValidator extends Validator {

@Override

protected void handleError(Controller controller) {

controller.keepPara();

}

@Override

protected void validate(Controller arg0) {

validateRequired("user.name", "UnameErrMsg", "请输入用户名!");

validateRequired("user.pwd", "PwdErrMsg", "请输入密码!");

validateRequired("yzm", "yzmErrMsg", "请输入验证码!");

}

}

效果展示:

相关推荐:layui

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/984669.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号