JDBC 制作简单的登录验证
2017-01-04 20:26
323 查看
两种方法:
最后的结果也都是一样的
执行:
添加进数据库里了
一、直接拼接到SQL语句
public static void main(String[] args) throws Exception{ //输入账号密码 Scanner sc = new Scanner(System.in); System.out.println("账号:"); String zh = sc.next(); System.out.println("密码:"); String mm = sc.next(); //连接到数据库 zh = zh.replace('\'', '\"');//防止有注入错误 Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb","root",""); Statement sta = conn.createStatement(); String sql = "select * from xs where zhanghao='"+zh+"' and mima='"+mm+"'";//拼接进去但是会有注入错误 ResultSet rs = sta.executeQuery(sql); //查询语句 //输出 if(rs.next()){ //sr.next==true 账号密码输入的符合时 System.out.println(rs.getString(3)+"登入成功"); } else{ //输入的不符合时 System.out.println("账号或者密码输入不正确"); } conn.close(); }
二、使用prepareStatement语句,输入特殊符号不会有问题,可以防止有注入的问题
public static void main(String[] args) throws Exception { //输入账号密码 Scanner sc = new Scanner(System.in); System.out.println("账号:"); String zh = sc.next(); System.out.println("密码:"); String mm = sc.next(); //数据库查询账号密码是否正确 Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb", "root", ""); String sql = "select * from xs where zhanghao=? and mima=?;"; PreparedStatement sta = conn.prepareStatement(sql);//直接用prepareStatement语句,sql语句可以写在里面; sta.setString(1, zh);//第一个?的内容 sta.setString(2, mm);//第二个?的内容 ResultSet rs = sta.executeQuery();//查询语句上面写过sql语句,这里不能写。 //输出 if(rs.next()){ //sr.next==true 账号密码输入的符合时 System.out.println(rs.getString(3)+"登入成功"); } else{ //输入的不符合时 System.out.println("账号或者密码输入不正确"); } conn.close(); }
最后的结果也都是一样的
注册
使用prepareStatement语句,往数据库里添加。好处是不受特殊字符的影响。public static void main2(String[] args) throws Exception{ Scanner sc = new Scanner(System.in); System.out.println("账号:"); String zh = sc.nextLine(); System.out.println("密码:"); String mm = sc.nextLine(); System.out.println("名称:"); String xm = sc.nextLine(); Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb?characterEncoding=GBK","root",""); String sql = "insert into xs values(?,?,?)"; PreparedStatement pre = conn.prepareStatement(sql); pre.setString(1, zh); pre.setString(2, mm); pre.setString(3, xm); pre.executeUpdate(); conn.close(); }
执行:
添加进数据库里了
相关文章推荐
- 4 JSP+Servlet + JDBC 实现简单的登录验证模块
- 使用Servlet制作简单登录验证,response下载文件与网页跳转
- JSP+Servlet + JDBC 实现简单的登录验证模块
- JSP+Servlet + JDBC 实现简单的登录验证模块
- struts+ajax+mysql制作的简单登录
- struts+ajax+mysql制作的简单登录
- 在JSP中使用Session制作简单的登录模块
- JSP+JDBC+SQLSERVER2000用户登录验证实例
- Zend Framework 教程:简单的注册和登录验证
- servlet+jsp+jdbc简单登录系统
- JSP+JDBC+SQLSERVER2000用户登录验证实例
- Ajax一个简单入门程序(用户登录验证)
- JSP+JDBC实现简单用户登录模块【Deprecated】
- 简单的单点登录令牌颁发转发制作,利用POST与置换Form完成
- ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
- Zend Framework 教程:简单的注册和登录验证
- Perl CGI 一个简单的用户登录验证应用
- 超简单的邮件快速登录脚本制作实现方法[转]
- 怎样实现简单Forms验证(登录,注销)
- 初学ajax登录验证简单例子