LayUi基础入门【附有案例从0到1详解】

news2024/11/28 8:46:32

🥳🥳Welcome Huihui's Code World ! !🥳🥳

接下来看看由辉辉所写的关于LayUi的相关操作吧

目录

🥳🥳Welcome Huihui's Code World ! !🥳🥳

一.LayUi的创作背景

二.LayUi是什么

三.LayUi下载地址

四.为什么要使用

五.怎么使用Layui

六.案例详解 

表结构

实体类

工具类

配置文件

公共页面(引入的文件)

1.登录

jsp页面

dao

servlet

 2.注册

 jsp界面

 dao

servlet


一.LayUi的创作背景

Layui是一款轻量级的前端UI框架,它提供了丰富的组件和简洁易用的API,帮助开发者快速构建美观的网页界面

  • 1. 诞生:Layui是中国深圳前端开发者贤心(韩峥)开发的开源项目,第一版发布于2016年
  • 2. 设计理念:Layui的设计理念是“助力前端工程师”,它致力于提供简洁、易用、灵活的前端UI解决方案,帮助开发者节省时间和精力
  • 3. 特点:Layui的特点之一是轻量级,整体代码量很小,压缩后仅约100KB左右。它也有很好的兼容性,支持主流浏览器,并且提供了丰富的自定义主题功能
  • 4. 组件和模块:Layui提供了众多常见的UI组件,如按钮、表单、导航、进度条等,以及常用的模块,如弹层、模块化开发、请求模块等,方便开发者快速搭建网页界面
  • 5. 文档和社区:Layui有完善的官方文档,其中包含详细的API说明和示例代码。此外,Layui拥有庞大的开发者社区,开发者可以在社区中交流和分享经验

总之,Layui是一款受欢迎的前端UI框架,它的简洁易用和丰富功能使得开发者可以快速构建出漂亮的界面

二.LayUi是什么

Layui(传统版)是一款开源的前端框架,用于快速构建Web界面。它由封装了常用的CSS、JavaScript组件和模块化开发的功能构成

  • Layui的设计理念是“低耦合,高内聚”,即各个组件之间相互独立,但又可以很方便地组合和调用。它支持自定义皮肤和模块的灵活配置,可以根据项目的需求进行定制和扩展
  • Layui被广泛应用于各类Web项目中,特别是中小型项目和后台管理系统。它的特点是轻量、简洁、易用,并且具有良好的兼容性。无论是新手还是有经验的前端开发者,都可以快速上手并开发出美观、功能完善的界面

⭐⭐总的来说,Layui的特点是简单、轻量、易用,提供了丰富的UI组件和模块化开发方式,适用于快速构建Web界面和后台管理系统。无论是新手还是有经验的开发者,都可以轻松上手并开发出高质量的前端界面

官方网站(已下线)https://www.layui.com/参考地址(非官网)http://layui.org.cn/demo/index.html

三.LayUi下载地址

官方网站(已下线)https://www.layui.com/参考地址(非官方)http://layui.org.cn/demo/index.html

 点击直接下载即可,下载完成后是一个压缩包,解压后导入项目中使用即可

四.为什么要使用

特点:

  • 1. 简洁轻量:Layui的设计目标是让前端开发变得简单、便捷,因此它的代码量很小,文件体积轻量,加载速度快,同时也有利于网页的性能优化
  • 2. 模块化开发:Layui采用了模块化的开发方式,将各个组件封装成独立的模块,通过简单的配Layui置和引入即可使用,方便开发者按需加载和组合,提高代码的可维护性和可扩展性
  • 3. 完善的文档和示例:Layui提供了详细的文档和丰富的示例,开发者可以快速学习和掌握各个组件的使用方法,快速搭建界面
  • 4. 丰富的UI组件:Layui提供了大量常用的UI组件,如表格、表单、按钮、弹窗、日期选择器等,这些组件都经过精心设计和优化,风格统一美观,使用方便
  • 5. 强大的扩展性:Layui支持自定义皮肤和模块的扩展,开发者可以根据项目需求自定义样式和功能,满足特定的UI需求
  • 6. 兼容性良好:Layui支持主流的浏览器,包括IE6+,Chrome、Firefox等,兼容性良好,可以在不同的浏览器和平台上正常运行

 这些优点就是使用Layui的原因!!

五.怎么使用Layui

  • 1. 下载和引入Layui:你可以从Layui官方网站(https://www.layui.com/)下载最新版本的Layui。下载完成后,将Layui的CSS和JavaScript文件引入到你的HTML文件中
    •  
      <link rel="stylesheet" href="path/to/layui/css/layui.css">
      <script src="path/to/layui/layui.js"></script>

                                        

  • 2. 初始化Layui:在引入Layui文件后,在你的JavaScript代码中初始化Layui。
    • <script>
        // 初始化Layui
        layui.use([]);
      </script>
  • 3. 使用Layui组件和模块:在初始化Layui之后,你就可以开始使用Layui提供的组件和模块了。Layui有很多可用的组件,例如按钮、表单、导航等。你可以根据需要选择合适的组件,并按照官方文档中的示例代码进行使用
    • <!-- 示例代码:创建一个按钮 -->
      <button class="layui-btn">这是一个按钮</button>
  • 4. 自定义主题:Layui提供了自定义主题的功能,你可以根据自己的需求修改Layui的默认主题。详情可以参考Layui官方文档中的"自定义主题"部分
  • 5. 参考文档和社区:如果你想深入了解Layui的更多功能和使用方法,可以查看Layui的官方文档。此外,Layui拥有活跃的开发者社区,你可以在社区中提问、分享和交流

六.案例详解 

其中有用到自定义mvc框架,不懂的小伙伴可以点击下方链接查看

自定义MVC框架【上篇】--原理http://t.csdn.cn/giVlE自定义MVC框架【中篇】--框架实现http://t.csdn.cn/ul7Eu自定义MVC框架【下篇】--运用框架完成增删改查http://t.csdn.cn/mbxV5

表结构

  

实体类

package com.wh.entity;

public class User {
private long id;
private String name;
private String loginName;
private String pwd;
private long rid;

public User() {
	// TODO Auto-generated constructor stub
}

public User(long id, String name, String loginName, String pwd, long rid) {
	super();
	this.id = id;
	this.name = name;
	this.loginName = loginName;
	this.pwd = pwd;
	this.rid = rid;
}

public User(String name, String loginName, String pwd, long rid) {
	super();
	this.name = name;
	this.loginName = loginName;
	this.pwd = pwd;
	this.rid = rid;
}


public User(String name, String loginName, String pwd) {
	super();
	this.name = name;
	this.loginName = loginName;
	this.pwd = pwd;
}

public long getId() {
	return id;
}

public void setId(long id) {
	this.id = id;
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

public String getLoginName() {
	return loginName;
}

public void setLoginName(String loginName) {
	this.loginName = loginName;
}

public String getPwd() {
	return pwd;
}

public void setPwd(String pwd) {
	this.pwd = pwd;
}

public long getRid() {
	return rid;
}

public void setRid(long rid) {
	this.rid = rid;
}

@Override
public String toString() {
	return "User [id=" + id + ", name=" + name + ", loginName=" + loginName + ", pwd=" + pwd + ", rid=" + rid + "]";
}



}

工具类

package com.zking.util;

import java.lang.reflect.Field;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/*
 * 通用的增删改以及查询
 */
public class BaseDao<T> {
	/**
	 * @author W
	 * 
	 * 通用版分页查询
	 * @param sql sql语句
	 * @param clas 指定对象类类
	 * @param pageBean 分页工具类
	 * @return list 结果集
	 * @throws Exception
	 */
	public List<T> executeQuery (String sql,Class clas,PageBean pageBean) throws Exception{
		Connection conn = null;//连接对象
		PreparedStatement ps = null;//执行对象
		ResultSet rs = null;//结果集对象
		List<T> list= new ArrayList<T>();//集合
		/**
		 * 是否分页?
		 */
		if(pageBean!=null&&pageBean.isPagination()) {//如果分页的工具类传进来了【不为空】,并且分页工具类的是否分页的方法的返回值是true时
			//那么便定义分页的sql语句和符合条件的总记录数
			String countSql=getCountSql(sql);//符合条件的总记录数的sql
			conn = DBAccess.getConnection();//获取连接对象
			ps = conn.prepareStatement(countSql);//执行sql语句
			rs=ps.executeQuery();//获取结果集对象
			if(rs.next()) {
				pageBean.setTotal(rs.getObject("n").toString());//结果集查询的结果设置到分页工具类的总记录的方法中
			}
			String pageSql=getPageSql(sql,pageBean);//分页的sql
			conn = DBAccess.getConnection();//获取连接对象
			ps = conn.prepareStatement(pageSql);//执行sql语句
			rs=ps.executeQuery();//获取结果集对象
		}else {
			conn = DBAccess.getConnection();//获取连接对象
			ps = conn.prepareStatement(sql);//执行sql语句
			rs=ps.executeQuery();//获取结果集对象
		}
		while(rs.next()) {
			T t= (T) clas.newInstance();//类类
			Field[] fields = clas.getDeclaredFields();//拿到特定实体的所有的属性
			for (Field field : fields) {//遍历所有的属性
				field.setAccessible(true);//打开权限通道,可以拿到私有的属性
				field.set(t, rs.getObject(field.getName()));//为指定的实体对象更改指定的属性
			}
			list.add(t);//将其加入到集合中
		}
		return list;//返回集合
	}

	/**
	 * 符合条件的总记录数
	 * @param sql 查询的sql语句
	 * @return 符合条件的总记录数的sql语句
	 */
	private String getCountSql(String sql) {
		return " select count(1) as n from ( "+sql+" ) t";//sql语句
	}

	/**
	 * 分页的sql语句
	 * @param sql 查询的sql语句
	 * @param pageBean 分页工具类
	 * @return 分页的sql语句
	 */
	private String getPageSql(String sql, PageBean pageBean) {
		return sql+" limit  "+pageBean.getStartIndex()+", "+pageBean.getRows();//sql语句
	}
	
	
	
	
	/**
	 * @author W
	 * 通用的增删改
	 */
	public int executeUpdate (T t,String sql,String [] attr) throws Exception{
		Connection conn = DBAccess.getConnection();//获取连接对象
		PreparedStatement ps =conn.prepareStatement(sql);//执行sql语句
		for (int i = 0; i < attr.length; i++) {//遍历装有对象属性的数组
			Field field = t.getClass().getDeclaredField(attr[i]);//动态实例化并拿到此对象中所有属性
			field.setAccessible(true);//打开获取私有属性的通道
			ps.setObject(i+1, field.get(t));//为占位符赋值
		}
		return ps.executeUpdate();
	}

}
package com.zking.util;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

/**
 * 提供了一组获得或关闭数据库对象的方法
 * 
 */
public class DBAccess {
	private static String driver;
	private static String url;
	private static String user;
	private static String password;

	static {// 静态块执行一次,加载 驱动一次
		try {
			InputStream is = DBAccess.class
					.getResourceAsStream("config.properties");

			Properties properties = new Properties();
			properties.load(is);

			driver = properties.getProperty("driver");
			url = properties.getProperty("url");
			user = properties.getProperty("user");
			password = properties.getProperty("pwd");

			Class.forName(driver);
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	}

	/**
	 * 获得数据连接对象
	 * 
	 * @return
	 */
	public static Connection getConnection() {
		try {
			Connection conn = DriverManager.getConnection(url, user, password);
			return conn;
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	}

	public static void close(ResultSet rs) {
		if (null != rs) {
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
				throw new RuntimeException(e);
			}
		}
	}

	public static void close(Statement stmt) {
		if (null != stmt) {
			try {
				stmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
				throw new RuntimeException(e);
			}
		}
	}

	public static void close(Connection conn) {
		if (null != conn) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
				throw new RuntimeException(e);
			}
		}
	}

	public static void close(Connection conn, Statement stmt, ResultSet rs) {
		close(rs);
		close(stmt);
		close(conn);
	}

	public static boolean isOracle() {
		return "oracle.jdbc.driver.OracleDriver".equals(driver);
	}

	public static boolean isSQLServer() {
		return "com.microsoft.sqlserver.jdbc.SQLServerDriver".equals(driver);
	}
	
	public static boolean isMysql() {
		return "com.mysql.cj.jdbc.Driver".equals(driver);
	}

	public static void main(String[] args) {
		Connection conn = DBAccess.getConnection();
		System.out.println(conn);
		DBAccess.close(conn);
		System.out.println("isOracle:" + isOracle());
		System.out.println("isSQLServer:" + isSQLServer());
		System.out.println("isMysql:" + isMysql());
		System.out.println("数据库连接(关闭)成功");
	}
}
package com.zking.util;

import java.io.PrintWriter;

import javax.servlet.http.HttpServletResponse;

import com.fasterxml.jackson.databind.ObjectMapper;
/*
*jaso格式数据的转换与回显
*/

public class ResponseUtil {

	public static void write(HttpServletResponse response,Object o)throws Exception{
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out=response.getWriter();
		out.println(o.toString());
		out.flush();
		out.close();
	}
	
	public static void writeJson(HttpServletResponse response,Object o)throws Exception{
		ObjectMapper om = new ObjectMapper();
//		om.writeValueAsString(o)代表了json串
		write(response, om.writeValueAsString(o));
	}
}

配置文件

#oracle9i
#driver=oracle.jdbc.driver.OracleDriver
#url=jdbc:oracle:thin:@localhost:1521:ora9
#user=test
#pwd=test


#sql2005
#driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
#url=jdbc:sqlserver://localhost:1423;DatabaseName=test
#user=sa
#pwd=sa


#sql2000
#driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
#url=jdbc:microsoft:sqlserver://localhost:1433;databaseName=unit6DB
#user=sa
#pwd=888888

#mysql5
#driver=com.mysql.jdbc.Driver
#url=jdbc:mysql://127.0.0.1:3306/mybatis_ssm?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT
#user=mybatis_ssm
#pwd=xiaoli

#mysql8
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/mybatis_ssm?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT&useSSL=true
user=root
pwd=123456



<?xml version="1.0" encoding="UTF-8"?>
<config>
	<action path="/user" type="com.wh.web.UserAction">
	</action>
	
</config>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
 <display-name>T269_mvc_crud</display-name>
  <servlet>
  	<servlet-name>mvc</servlet-name>
  	<servlet-class>com.zking.framework.DispatchServlet</servlet-class>
  	<init-param>
  		<param-name>configurationLocation</param-name>
  		<param-value>/mvc.xml</param-value>
  	</init-param>
  </servlet>
  <servlet-mapping>
  	<servlet-name>mvc</servlet-name>
  	<url-pattern>*.action</url-pattern>
  </servlet-mapping>
</web-app>

公共页面(引入的文件)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<meta name="viewport" content="width=device-width,initial-scale=1.33,minimum-scale=1.0,maximum-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="renderer" content="webkit">
<meta http-equiv="Content-Language" content="zh-CN">
<link rel="stylesheet" rev="stylesheet" href="${pageContext.request.contextPath}/static/layui/css/layui.css" type="text/css" media="all">
<script type="text/javascript" src="${pageContext.request.contextPath}/static/layui/layui.js"></script>

1.登录

界面

登录成功 

 登录失败

jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<html>
<head>
<%@include file="common/head.jsp"%>
<link rel="stylesheet" rev="stylesheet"
	href="${pageContext.request.contextPath}/static/css/login.css"
	type="text/css" media="all">
<style>
body {
	color: #;
}

a {
	color: #;
}

a:hover {
	color: #;
}

.bg-black {
	background-color: #;
}

.tx-login-bg {
	background: url(static/images/bg.jpg) no-repeat 0 0;
}
</style>


<script type="text/javascript">
		layui.use(['jquery','layer','form'], function() {
		    let $ = layui.jquery;
		    let layer = layui.layer;
		    let form =layui.form;
		    $("#login").click(function() {
		    	$.ajax({
		    		url:"${pageContext.request.contextPath}/user.action?methodName=login",
		    		dataType:'json',
		    		data: {
		    			loginName: $("#username").val(),
		    			pwd: $("#password").val()
		    		},
		    		method: 'post',
		    		success: function(data) {
		    			if(data) {
		    				layer.alert('恭迎'+data.name+'的到来!!🥳🥳', {icon: 1});
		    			} else {
		    				layer.alert('哦豁,密码错误,结界尚未打开呢🫥🫥', {icon: 5});
		    			} 
		    		}
		    	})
		    })
		    
		 });
		</script>
</head>
<body class="tx-login-bg " style="margin-top: -50px; margin-left:400px; ">





		<div class="tx-login-box">
			<div class="login-avatar layui-bg-gray">
				<i class="iconfont icon-wode"></i>
			</div>
			<ul class="tx-form-li row">
				<li class="col-24 col-m-24"><p>
						<input type="text" id="username" placeholder="登录账号"
							class="tx-input">
					</p></li>
				<li class="col-24 col-m-24"><p>
						<input type="password" id="password" placeholder="登录密码"
							class="tx-input">
					</p></li>
				<li class="col-24 col-m-24"><p class="tx-input-full">
						<button id="login" class="tx-btn tx-btn-big layui-bg-orange">登录</button>
					</p></li>
				<li class="col-12 col-m-12"><p>
						<a href="#" class="f-12 f-gray">新用户注册</a>
					</p></li>
				<li class="col-12 col-m-12"><p class="ta-r">
						<a href="#" class="f-12 f-gray">忘记密码</a>
					</p></li>
			</ul>
		</div>
</body>
</html>

dao

package com.wh.dao;

import java.util.List;

import com.wh.entity.User;
import com.zking.util.BaseDao;
import com.zking.util.PageBean;

public class UserDao extends BaseDao<User> {	
	//查询所有
	public List<User> list( User user, PageBean pageBean) throws Exception {
  String sql="select * from t_oa_user";
		return super.executeQuery(sql, User.class, pageBean);
	}
	
	//登录
	public User login( User user) throws Exception {
		  String sql="select * from t_oa_user where  loginName =  '"+user.getLoginName()+"' and pwd = '"+user.getPwd()+"' ";
		  List<User> list=	super.executeQuery(sql, User.class, null);
		  if(list!=null&&list.size()==1) {
			  return list.get(0);
		  }else {
			  return null;
		  }
			}
}

servlet

package com.wh.web;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import com.wh.dao.UserDao;
import com.wh.entity.User;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
import com.zking.util.PageBean;
import com.zking.util.ResponseUtil;

public class UserAction extends ActionSupport implements ModelDriver<User> {
private User user = new User();
private UserDao ud= new UserDao();

//登录
public void login(HttpServletRequest req, HttpServletResponse resp) {
	try {
		User login = ud.login(user);
	ResponseUtil.writeJson(resp,login);
	} catch (Exception e) {
		e.printStackTrace();
	}
}



	@Override
	public User getModel() {
		return user;
	}

}

 2.注册

注册成功

 jsp界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<html>
<head>
<%@include file="common/head.jsp"%>
<link rel="stylesheet" rev="stylesheet"
	href="${pageContext.request.contextPath}/static/css/login.css"
	type="text/css" media="all">
<style>
body {
	color: #;
}

a {
	color: #;
}

a:hover {
	color: #;
}

.bg-black {
	background-color: #;
}

.tx-login-bg {
	background: url(static/images/bg.jpg) no-repeat 0 0;
}
</style>


<script type="text/javascript">
		layui.use(['jquery','layer','form'], function() {
		    let $ = layui.jquery;
		    let layer = layui.layer;
		    let form =layui.form;
		    $("#login").click(function() {
		    	$.ajax({
		    		url:"${pageContext.request.contextPath}/user.action?methodName=register",
		    		dataType:'json',
		    		data: {
		    			name:$("#relname").val(),
		    			loginName: $("#username").val(),
		    			pwd: $("#password").val()
		    		},
		    		method: 'post',
		    		success: function(data) {
		    			if(data=="OK") {
		    				layer.alert('注册成功啦!🥳🥳', {icon: 1});
		    			} else {
		    				layer.alert('注册失败了', {icon: 5});
		    			} 
		    		}
		    	})
		    })
		    
		 });
		</script>
</head>
<body class="tx-login-bg " style="margin-top: -80px; margin-left:400px; ">




		<div class="tx-login-box">
			<div class="login-avatar layui-bg-gray">
				<i class="iconfont icon-wode"></i>
			</div>
			<ul class="tx-form-li row">
			<li class="col-24 col-m-24"><p>
						<input type="text" id="relname" placeholder="真实姓名"
							class="tx-input">
					</p></li>
				<li class="col-24 col-m-24"><p>
						<input type="text" id="username" placeholder="注册账号"
							class="tx-input">
					</p></li>
				<li class="col-24 col-m-24"><p>
						<input type="password" id="password" placeholder="注册密码"
							class="tx-input">
					</p></li>
				<li class="col-24 col-m-24"><p class="tx-input-full">
						<button id="login" class=" layui-bg-orange tx-btn tx-btn-big bg-black">注册</button>
					</p></li>
				<li class="col-12 col-m-12"><p>
						<a href="#" class="f-12 f-gray">新用户注册</a>
					</p></li>
				<li class="col-12 col-m-12"><p class="ta-r">
						<a href="#" class="f-12 f-gray">忘记密码</a>
					</p></li>
			</ul>
		</div>
</body>
</html>

 dao

package com.wh.dao;

import java.util.List;

import com.wh.entity.User;
import com.zking.util.BaseDao;
import com.zking.util.PageBean;

public class UserDao extends BaseDao<User> {

	//注册
		public int register(User user) throws Exception {
	 String sql = "insert into t_oa_user(name,loginName,pwd,rid) values(?,?,?,0);";// 定义sql语句
			return super.executeUpdate(user, sql,new String[] {"name","loginName","pwd"});
		}
	
	
//	public static void main(String[] args) throws Exception {
//		UserDao u = new UserDao();
//		int register = u.register(new User("王辉", "是辉辉啦", "123"));
//		
//		System.out.println(register);
//	}
	
	
	
}

servlet

package com.wh.web;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import com.wh.dao.UserDao;
import com.wh.entity.User;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
import com.zking.util.PageBean;
import com.zking.util.ResponseUtil;

public class UserAction extends ActionSupport implements ModelDriver<User> {
private User user = new User();
private UserDao ud= new UserDao();



//注册
		public void register(HttpServletRequest req, HttpServletResponse resp) {
			try {
				int register = ud.register(user);
				if(register>0) {
					ResponseUtil.writeJson(resp,"OK");
				}else {
					ResponseUtil.writeJson(resp,"NO");	
				}
				
			} catch (Exception e) {
				e.printStackTrace();
			}
		}

	@Override
	public User getModel() {
		return user;
	}

}

         好啦,今天的分享就到这了,希望能够帮到你呢!😊😊         

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/741970.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

请收藏!2023年全栈开发人员实战进阶指南终极版

全栈工程师在过去十年中越来越受到欢迎&#xff0c;而且在国内的就业环境下&#xff0c;它是更适合从技术转管理的职位。 但究竟什么是全栈工程师&#xff1f;他需要哪些技术能力&#xff1f;如何才能成为一名优秀的全栈工程师&#xff1f;今天这篇文章就给大家全方位分享一下…

ES6基础语法

目录 解构 数组解构 对象解构 基本数据解构 对象 对象简写 箭头函数 扩展运算符 函数参数解构 对象API拓展 Object.is() Object.assign() Object.getPrototypeOf() Object.setPrototypeOf() Object.keys() Object.values() Object.entries() Object.fromEntries()…

Java --- 云尚优选项目

目录 一、项目工程搭建 二、配置项目相关maven依赖 2.1、cjc.ssyx父工程依赖 2.2、common模块pom依赖 2.3、common-util模块pom依赖 2.4、service-util模块pom依赖 2.5、model模块pom依赖 2.6、service模块pom依赖 三、编写相关工具类 3.1、mybatis-plus分页查询配置…

SpringMVC学习笔记一

目录 一、SpringMVC概述二、入门案例1.导入相关依赖2.配置web.xml3.配置SpringMVC4.创建测试用的html页面5.编写Controller 三、请求映射规则RequestMapping1.RequestMapping注解标识的位置2.RequestMapping注解value属性3.RequestMapping注解的method属性4.RequestMapping注解…

Vector - CANoe - 测试报告配置

目录 一、测试报告格式设置 二、测试报告格式转换 1、Test Report Viewer format 转换为 PDF 格式

【ELK 企业级日志分析系统】

目录 一、ELK 概述1、ELK 简介1、可以添加的其它组件&#xff1a;2、filebeat 结合 logstash 带来好处&#xff1a; 2、为什么要使用 ELK3、完整日志系统基本特征4、ELK 的工作原理 二、实验操作1、ELK Elasticsearch 集群部署&#xff08;在Node1、Node2节点上操作&#xff09…

【SpringBoot_Error】关于SpringBoot项目中经常出现yml/xml识别不到的问题

Problems 关于关于SpringBoot项目中经常出现yml/xml识别不到的问题 Solution 在pom.xml文件的<build></build>标签中添加如下代码&#xff1a; > <build><resources><!--检测mapperxml&#xff0c;本项目数据访问层的SQL xml文件放在Java包…

雷达人体存在感应器成品,雷达探测感知联动,空间智能化控制应用

随着科技的日新月异&#xff0c;人机交互的方式也不断推陈出新。在科技的不断发展与创新的驱动下&#xff0c;人们的生活正逐渐变得更加智能化和便捷化。 智能雷达人体存在感应器&#xff0c;凭借其呼吸探测技术&#xff0c;实现真正的人体存在探测&#xff0c;将智慧酒店、办…

C# 位1的个数

191 位1的个数 编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中数字位数为 ‘1’ 的个数&#xff08;也被称为汉明重量&#xff09;。 提示&#xff1a; 请注意&#xff0c;在某些语言&#xff08;…

浅谈虚拟DOM、Diff算法、Key机制

您好&#xff0c;如果喜欢我的文章&#xff0c;可以关注我的公众号「量子前端」&#xff0c;将不定期关注推送前端好文~ 虚拟DOM 我们都知道虚拟DOM带来的好处&#xff0c;多次更新数据层的数据&#xff0c;最后异步处理只进行一次页面重绘&#xff0c;而这中间的奥秘就是虚拟…

论文 | 一分钟快速找到自己研究领域的核心期刊

进入知网官网 https://www.cnki.net/ 点击搜索框右边的&#xff1a;出版物检索 鼠标放到顶部的 出版来源导航 旁边的倒三角上 选择期刊导航&#xff1a; 点击核心期刊导航 找到自己感兴趣的领域 点进去就可以看到该期刊中发表的论文&#xff1a;

postgresql regular lock常规锁 烤的内嫩外焦,入口即化

​专栏内容&#xff1a; postgresql内核源码分析 手写数据库toadb 并发编程 个人主页&#xff1a;我的主页 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 介绍 常规锁&#xff0c;主要用于数据库对象的加锁&#xff0c…

学Python还是学JAVA,千万别听机构瞎吹!

机构真的为了割韭菜&#xff0c;无所不用其极&#xff0c;过份夸大Python语言的能力或者贬低JAVA。 导致大家要么跟风被割韭菜&#xff0c;学完也用不到。 导致这一主要原因&#xff1a; 1.你不懂行业内需求。 2.你缺乏认知清楚自己的发展规划路线的途径。3.对于编程的优缺点…

Pandas理论与实战(二)

本文章续接上篇文章 目录 1.数据抽取 1.1 抽取一行数据 1.2 抽取多行数据 1.3 抽取指定列数据 1.4 抽取指定行、列数据 1.5 按指定条件抽取数据 2、数据的增加、删除和修改 2.1 数据增加 2.2 修改数据 2.3 删除数据 1.数据抽取 数据分析过程中&#xff0c;并不是所有的数…

CentOS 6 手动将OpenSSH升级到9.3

前言 收到通知说服务器组件存在漏洞 服务器版本:CentOS-6.8-x86_64 目前SSH版本:OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 前置操作 为了避免升级过程中出现的意外导致服务器无法进行连接,建议对重要的内容先进行备份 创建快照 在主机服务商那里为主机创建快照,防止最糟…

Android Studio无法打开问题解决记录

目录 1 问题起因2 发现问题3 解决问题 1 问题起因 问题的起因是我为了运行一个Kotlin项目&#xff0c;但是报了一个错误&#xff1a; Kotlin报错The binary version of its metadata is 1.5.1, expected version is 1.1.16 然后我就上百度去搜了以下&#xff0c;一篇博客让禁用…

GEE:多元线性回归

作者&#xff1a;CSDN _养乐多_ 本文记录了在NDVI、EVI和LAI作为自变量&#xff0c;precipitation作为因变量的条件下&#xff0c;使用linearRegression函数进行线性回归分析的代码&#xff0c;代码在Google Earth Engine&#xff08;GEE&#xff09;平台上实现。具体而言&am…

AI大数据智能视频融合平台EasyCVR新增Ehome黑白名单配置

EasyCVR视频融合平台基于云边端智能协同架构&#xff0c;具有强大的数据接入、处理及分发能力&#xff0c;平台支持海量视频汇聚管理&#xff0c;可支持多协议接入&#xff0c;包括市场主流标准协议与厂家私有协议及SDK&#xff0c;如&#xff1a;国标GB28181、RTMP、RTSP/Onvi…

Linux 学习记录50(QT篇)

Linux 学习记录50(QT篇) 本文目录 Linux 学习记录50(QT篇)一、基于QT的TCP客户端连接1. 代码实现2. 自制的客户端/服务器 二、QT数据库SQL1. QT将数据库分为三个层次2. 实现数据库操作的相关方法 思维导图练习1.2.3.4. 一、基于QT的TCP客户端连接 所需头文件 <QTcpSocket&g…