广告
返回顶部
首页 > 资讯 > 数据库 >jdbc-实现用户登录业务(解决sql注入问题)
  • 664
分享到

jdbc-实现用户登录业务(解决sql注入问题)

jdbc-实现用户登录业务(解决sql注入问题) 2018-02-17 14:02:38 664人浏览 无得
摘要

package com.cqust; import java.sql.*; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public

jdbc-实现用户登录业务(解决sql注入问题)

package com.cqust;

import java.sql.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;


public class JDBCTest06 {
public static void main(String[] args) throws Exception {
//初始化界面,返回用户输入的信息,使用map集合存储
Map userInfo = initLogin();
//登录方法,返回值是布尔类型
Boolean loginInfo = login(userInfo);
System.out.println(loginInfo ? "登录成功":"登录失败");

}


public static Map initLogin(){
    Map userInfo = new HashMap<>();
    System.out.print("请输入你的用户名:");
    Scanner scanner = new Scanner(System.in);
    String username =  scanner.next();
    System.out.print("请输入你的密码:");
    String userpwd = scanner.next();
    userInfo.put("username",username);
    userInfo.put("userpwd",userpwd);

    return userInfo;
}


public static boolean login(Map map) throws Exception{
    String username = map.get("username");
    String userpwd = map.get("userpwd");
    boolean loginInfo = false;
    //1.注册驱动
    Class.forName("com.Mysql.jdbc.Driver");
    //2.获取连接
    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/cqust_db",
            "root","hch1");
    //3.获取数据库操作对象,预编译sql
    String sql = "select username,userpwd from t_user_login where username = ? and userpwd = ?";

    PreparedStatement statement = connection.prepareStatement(sql);
    statement.setString(1,username);
    statement.setString(2,userpwd);

    //4.执行sql
    //String sql = "select username,userpwd from t_user_login where username = ""+username+"" and userpwd = ""+userpwd+""";

    ResultSet resultSet = statement.executeQuery();
    //5.这里只需要看是否有数据,如果查询到数据,则登录成功,直接loginInfo = true;
    if (resultSet.next()){
        loginInfo = true;


    }

    //6.关闭资源
    if (resultSet!=null){
        resultSet.close();
    }
    if (statement!=null){
        statement.close();
    }

    if (connection!=null){
        connection.close();
    }




    return loginInfo;
}

}

您可能感兴趣的文档:

--结束END--

本文标题: jdbc-实现用户登录业务(解决sql注入问题)

本文链接: https://www.lsjlt.com/news/8920.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作