Day3--实现从数据库获取数据完成登录账号密码验证案例

手把手教你用Verilog在FPGA上驱动0.96寸OLED(I2C协议,含完整代码和字库) 本文详细介绍了如何使用Verilog在FPGA上通过I2C协议驱动0.96寸OLED显示屏,包含完整的硬件连接指南、I2C协议解析、Verilog代码实现及字库设计。从初始化序列到字符显示引擎,提供可立即上手的解决方案,适合嵌入式系统开发者快速实现OLED显示功能。 阅读详情

数据库中的每个表都有一个对应的javabean类与之对应,其中存储着表中所有的属性信息,为了实现登录验证,现在需要对用户输入的信息和数据库中的信息实现对比,为实现此功能:首先在Admin类中我创建了checkLogin方法,用于实现查询数据库中的的账号密码,并为类中定义的username和password变量完成初始化,返回查询结果。

package stuifo.Model;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;


public class Admin {
    private String username;
    private String password;

    public boolean checkLogin(String user, String pw) throws Exception {
        // 加载配置文件,获取数据库连接信息
        Properties properties = new Properties();
        properties.load(new FileInputStream("src/Day3/stuifo/Tools/until.properties"));
        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
        Connection conn = dataSource.getConnection();
        // 准备SQL语句并执行查询
        String sql = "SELECT * FROM admin WHERE username = ? AND password = ?";
        PreparedStatement stmt = conn.prepareStatement(sql);

            stmt.setString(1, user);
            stmt.setString(2, pw);
            ResultSet rs = stmt.executeQuery();
            if (rs.next()) {
//从结果集中获取用户名字段的值,并将其赋值给当前对象的username属性。
                this.username = rs.getString("username");
//从结果集中获取密码字段的值,并将其赋值给当前对象的password属性。
                this.password = rs.getString("password");
                return true;
            }else return false;//如果结果集为空返回false
    }
}

在登录判断时对checkLogin返回的boolean值进行判断即可。

package stuifo;

import stuifo.Model.Admin;
import stuifo.Tools.MyTool;
import stuifo.UserView.UserUi;

import java.util.Scanner;

public class StudentRun {
    public static void main(String[] args) throws Exception {
        System.out.println("--------------------------------------");
        System.out.println("**欢迎使用学生信息管理系统***");
        System.out.println("--------------------------------------");

        System.out.println("----请输入管理员的账号和密码进行登陆:-----");
        Scanner scanner = new Scanner(System.in);
        System.out.print("账号|:");
        String user = scanner.next();
        System.out.print("密码|:");
        String pw = scanner.next();
        String code = MyTool.code();
        System.out.print("验证码("+code+")|:");
        String userCode = scanner.next();

        // 创建Admin对象并从数据库中获取管理员信息
        Admin admin = new Admin();

        if(!userCode.equals(code))
        {
            System.out.println("验证码错误");
        }else if (admin.checkLogin(user, pw)) {
            System.out.println("*****请选择你的业务操作******");
            //生成操作界面   用户表现层
            UserUi useUi = new UserUi();
            useUi.UI();
        } else {
            System.out.println("账号或密码错误!");
        }
    }
}
Pixel 4/4 XL 刷机小白必看:Magisk Root 全流程详解(附电信网络适配技巧) 本文为Pixel 4/4 XL用户提供了一份详尽的Magisk Root全流程指南。从解锁Bootloader、刷入Magisk,到解决电信网络VoLTE适配问题,再到隐藏Root以通过银行App检测,手把手教你安全获取系统最高权限并优化日常使用体验。 阅读详情

相关推荐

Vite与Webpack路径配置大不同:从Vue2迁移到Vue3必须知道的public目录使用技巧

本文详细解析了Vite与Webpack在public目录路径配置上的核心差异,为Vue2迁移到Vue3的开发者提供实用指南。重点对比了两种构建工具的资源处理逻辑,给出典型编译警告的解决方案,并分享路径适配表与高级优化技巧,帮助开发者高效完成技术栈升级。

weixin_30836759的博客 485

DataSource简单示例

DataSource接口提供了一种标准的方式来获取与数据库的连接,这样可以避免在每次需要连接数据库时都创建新的连接对象,从而提高了应用程序的性能和可伸缩性。以上代码中,通过@Autowired注解将DataSource注入到MyService中,然后使用getConnection()方法获取一个数据库连接,并在try-with-resources语句块中使用连接执行SQL语句。使用DataSource接口可以大大简化数据库连接的管理和使用,同时也能提高应用程序的性能和可伸缩性。

weixin_42594143的博客 876

科研党必备:Zotero+Deepseek 打造AI文献阅读助手(附详细插件配置指南)

本文详细介绍了如何利用Zotero和Deepseek打造AI文献阅读助手,提升科研效率。从Zotero基础安装到中文文献处理插件茉莉花的配置,再到Deepseek API的集成与模型选择策略,全面覆盖了AI辅助阅读的关键环节。特别适合需要高效管理海量文献的科研工作者,显著提升文献筛选和分析速度。

backprop5master的博客 422

连接数据库SQL并验证账号密码(2)

数据库名: 验证账号密码 表名: user using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; namespace 登录 { class Program { static void Main(

天道酬勤 5271

如何缩减layout电路面积?减少晶体管的数量——以全加器为例【VLSI】

How to reduce the number of transistors to reduce circuit area? -- Take the Binary Full Adder as an example 优化面积的方法 1. 减少晶体管的数量 2. 改变gate matrix的布局

Jie_MSD的博客 6429

基于freesurfer和3Dslicer的脑区分割与电极定位全流程解析(实战指南)

本文提供了一套基于FreeSurfer和3D Slicer的颅内电极定位实战指南。详细解析了从环境搭建、数据预处理、FreeSurfer脑区分割、影像配准,到3D Slicer中手动与自动化电极定位的全流程。重点介绍了如何利用FreeSurfer进行高精度脑区分割,并在3D Slicer中实现电极触点的可视化标记与坐标提取,最终获得带脑区信息的电极数据,为iEEG/SEEG研究奠定基础。

banana的博客 298

数据库登录账号和密码的验证

易语言数据库密码验证 1,首先我们需要创建一个用来存储密码的数据库 分别在数据库中建立一个存储账号和密码的名称,类型为文本型, 2,数据库创建好了以后,我们需要手动把原始账号和密码添加到数据库里,打开数据库,点击结构编辑器,选中当前刚刚创建好的数据库,点击打开按钮,在增删选项中选择“添加一条空记录,然后把账号和密码手动输入在对应的编辑框中,这需要注意,密码的内容不可直接输入,需要将密码换算成MD...

weixin_41180829的博客 6386

STM32G474多通道ADC电压采集:软件触发与单次转换实战

本文详细介绍了STM32G474多通道ADC电压采集的实战方法,重点讲解了软件触发与单次转换的实现技巧。通过硬件设计、HAL库配置、多通道轮询采集及数据处理等环节的详细解析,帮助开发者高效完成精确电压采集任务。文章还提供了常见问题调试技巧和性能优化建议,适用于需要高精度电压监测的嵌入式应用场景。

weixin_28720767的博客 462

java检索账号和密码_如何从数据库中检索密码

我正在为我的Web应用程序构建一个注册系统,其中用户提供用户名和密码 . 此数据存储在 postgresql 数据库中 . 我正在使用bcrypt生成用户输入密码的盐渍哈希,如下所示import bcrypthashed = bcrypt.hashpw(PasswordFromWebForm.encode('UTF-8'), bcrypt.gensalt())这会创建一个看起来像这样的盐渍密码 -...

weixin_30047059的博客 608

基于深度学习的推荐系统设计与实现

基于深度学习的推荐系统设计与实现 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming / TextGenWebUILLM 基于深度学习的推荐系统设计与实现 关键词:深度学习, 推荐系统, 用

AI天才研究院 1078

uni-app - 刘海屏(Iphone X)底部横杠(——)白色区域块(安全距离处更改颜色)解决方案

场景:因为要做无tabbar页面,所以在配置文件中取消底部导航栏。取消后,iPhoneX(刘海屏)底部就出现如下图所示白色安全区域问题:这个问题,是因为uni-app默认会为iPhoneX(刘海屏)留出安全距离,这个安全距离的背景色就是白色。所以,如果你将页面颜色设置为其他颜色,就会与默认白色冲突。有2个不同的解决方案(原生占位),虽然原理是一样,但使用的场景不同,请根据您的需求来采纳。

🏆 前端领域优质创作者 1万+

全平台登录实现指南:账号密码、验证码、微信支付宝、OAuth与扫码登录

本篇详细讲解前后端登录系统的完整实现方案,涵盖账号密码登录、图形验证码、短信验证码、微信登录、支付宝登录、第三方 OAuth 授权登录、自有扫码登录等常见业务场景。从登录流程、接口设计、数据库表结构、Token 鉴权、账号绑定、安全风控到 Vue3 + Spring Boot 代码实现,帮助开发者快速搭建一套安全、可扩展、适合真实项目的统一登录体系。

zzwokstyle的博客 296

100天精通Python(爬虫篇)——第118天:selenium自动化操作浏览器基础大总结

一、Selenium框架环境搭建 1. 下载模块 2. 安装浏览器驱动WebDriver 二、基础操作 1. 打开浏览器 2. 无界面模式 3. 元素定位 4. 元素操作 5. 前进后退 6. 执行js 7.页面等待 隐式等待(常用) 显式等待(了解) 三、进阶操作 1. 使用代理ip 2. 修改请求头 3. 隐藏指纹特征.....................

努力让自己发光,对的人才能迎着光而来 10万+

小迪安全 php开发数据库&&登录验证 cookies&&session

2.创建cookie文件夹,里面包含index.php和login.php两个文件。1.可以去网上搜索或者用ChatGPT生成一个后台登录的HTML。(3)正确后生成session进行保存。3.创建登录程序 login.php。(3)正确后生成cookie进行保存。1.登录页面 login.php。(1)用来接收输入账号密码;(2)判断账号密码是否正确;(1)用来接收输入账号密码;(2)判断账号密码是否正确;1.安装好navicat。(5)正确后跳转成功页面。(5)正确后跳转成功页面。

m0_74848642的博客 321

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

mysql数据库登录认证_简单登录实现验证数据库

用户登录案例需求:1.编写login.html登录页面username & password 两个输入框2.使用Druid数据库连接池技术,操作mysql,day14数据库中user表3.使用JdbcTemplate技术封装JDBC4.登录成功跳转到SuccessServlet展示:登录成功!用户名,欢迎您5.登录失败跳转到FailServlet展示:登录失败,用户名或密码错误不加try(...

weixin_28933797的博客 1401

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

day15 个人博客项目&登录验证&Cookie&Session&验证码安全

1.后台验证-登录用户逻辑安全2.后台验证-cookie和session3.后台验证-验证码和万能密码通常的后台验证登录都是,1.发送登录请求,账户密码;2.接受账号密码3.对账号密码进行判断正确 -》跳转到成功登录界面失败-》重新登录而成功登录之后就会进入后台,后台会有多个管理项,而每一个管理项目如果挨个进行账户密码验证就太麻烦了,就产生了cookie和session,方便权限的验证cookie:身份验证 存储到客户端浏览器内cookie安全:cookie修改 伪造 盗取。

san3144393495的博客 793

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

javaweb 检验账号_javaWeb简单登录实现验证数据库

用户登录案例需求:1.编写login.html登录页面username & password 两个输入框2.使用Druid数据库连接池技术,操作mysql,day14数据库中user表3.使用JdbcTemplate技术封装JDBC4.登录成功跳转到SuccessServlet展示:登录成功!用户名,欢迎您5.登录失败跳转到FailServlet展示:登录失败,用户名或密码错误不加try(...

weixin_34472954的博客 796

QT网盘项目-DAY3-登录注册功能

QT网盘实战项目---Day3登录注册功能 1、为了实现登陆注册功能,在数据库中添加了用户信息表等,并在QT中连接了数据库 2、完成了登录与注册的功能 3、完成了客户端下线的处理

weixin_50354282的博客 892

简单登录案例

准备工作: 导入所需要的jar包,导入到web目录下的WEB-INF目录下的lib包中,并将其加入到模块中 如下图: 配置数据库文件 druid.properties driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql:///day14 #day14为数据库名称 可以自己创建数据库 username=root password=...

WeiLGHui 366

小熊家务帮day5-day7 客户管理模块1 (小程序认证,手机验证码认证,账号密码认证,修改密码,找回密码等)

一般情况有用户交互的项目都有认证授权功能,首先要搞清楚两个概念:认证和授权。 认证: 就是校验用户的身份是否合法,常见的认证方式有账号密码登录、手机验证码登录等。 授权:则是该用户登录系统成功后当用户去点击菜单或操作数据时系统判断该用户是否有权限,有权限则允许继续操作,没有权限则拒绝访问。本项目包括四个端:用户端(小程序)、服务端(app)、机构端(PC)、运营管理端(PC). 分别对应四类用户角色:家政需求方即c端用户,家政服务人员、家政服务公司(机构)、平台运营人员。用户端通过小程序使用平台,初次使用小

lihao1875699404的博客 1416

【网课平台】Day9.用户认证与验证码服务

网站主流认证方式有:账号密码认证、手机验证码认证、扫码登录…实际开发中,用户的账户和密码等信息存在数据库表: 之前测试Spring-security则是使用硬编码将用户暂存在内存中: Spring-Security原理与源码 参考Spring-Security的工作原理流程图: 查询用户信息的逻辑是:DaoAuthenticationProvider源码: UserDetailsService是一个接口: UserDetails是用户信息接口: 框架调用loadUserByUsername()方法拿到用户

llg___的博客 789

Day02JavaWeb【Servlet & ServletContext】新的开发方式-综合案例

综合案例-登录分析 过程分析完之后,从哪里开始编写比较好,我个人的方法是从业务逻辑开发,只要业务逻辑正确,并通过测试,后面只需要添加web层部分 综合案例-准备工作 (1)创建模块 (2)分包 (3)编写业务逻辑 (4)实现Service (5)实现Dao (6)实现DB User (7)实现Servlet (8)实现login.html 综合案例-代码实现 (1) UserServiceTest 先业务逻辑 test\java\com\wzx\service\UserServiceTest.java

翁老师的教学团队 256

【JavaWeb】Servlet实现网页登录功能

上次写了一篇JDBC工具类实现登录功能,但是只能在控制台实现输入用户名密码。这次使用了Servlet来实现登录功能,可以通过在页面上输入账号密码,然后提交表单,查询数据库,从而实现登录功能。 1、配置文件,导入jar包 2、创建数据库环境 use student; create table user( id int primary key auto_increment, username varchar(32), password varchar(32) ); insert int.

360°顺滑 1844

Day03-登陆注册的案例(视图层的应用)

案例 实现注册和登录

m0_67425175的博客 1005

小迪安全 第15天:php开发-个人博客项目&登录验证&cookie&session&验证码安全

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

A_991128a的博客 1052

员工管理系统————登陆验证模块

1.分析:   用户在账号密码输入框中输入账号密码,点击登陆。如果账号密码正确,页面跳转到主界面(main.jsp);如果账号密码不正确,还在登陆界面(index.jsp),并且提示账号密码不正确。如图: 2.步骤   a.接口中声明是否登陆成功的方法;   b.实现接口中的方法;   c.获取请求参数;   d.调用dao验证账号密码   e.如果正确,重定向到main.jsp...

weixin_30707875的博客 1061
上一篇: Java入门-运算符和表达式
下一篇: Day4--jdbc学习代码简记(泛型返回方法)
IT ·南栀
博客等级 码龄6年 415粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT ·南栀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值