JAVA简单链接Oracle数据库 注册和登陆功能的实现代码

代码如下:

//User 用户的基本信息,也是USERINFO表中的3个列
package 登陆判断;

public class User {

private String name;
  private String loginname;
  private String loginpsw;
  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 getLoginpsw() {
   return loginpsw;
  }
  public void setLoginpsw(String loginpsw) {
   this.loginpsw = loginpsw;
  }
}
//用于注册和登陆的小小代码块
package 登陆判断;

import java.util.Scanner;

public class In {

public static User getUser(){
   User u = new User();
   Scanner sc = new Scanner(System.in);
   System.out.println("请输入登陆名");
   u.setLoginname(sc.nextLine());
   System.out.println("请输入密码");
   u.setLoginpsw(sc.nextLine());
   return  u;
  }
  public static User registerUser(){
   User u = new User();
   Scanner sc = new Scanner(System.in);
   System.out.println("请注册用户名名");
   u.setName(sc.nextLine());
   System.out.println("请注册登陆名");
   u.setLoginname(sc.nextLine());
   System.out.println("请注册密码");
   u.setLoginpsw(sc.nextLine());
   return  u;
  }
}

//登陆时的检查,判断登陆名和密码是否正确,正确则返回 用户名
package 登陆判断;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Check {

public static void checkUser(User u)
  {
   try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
   } catch (ClassNotFoundException e) {
    e.printStackTrace();
   }
   String url = "jdbc:oracle:thin:@localhost:1521:orcl";
   String user = "scott";
   String password = "tiger";
   Connection conn = null;
   ResultSet rs = null;
   PreparedStatement pst = null;

String sql = "Select name from USERINFO where loginname = ? and loginpsw = ? ";
   try {
    conn = DriverManager.getConnection(url, user, password);
    pst = conn.prepareStatement(sql);
    pst.setString(1, u.getLoginname());
    pst.setString(2,u.getLoginpsw());
    rs = pst.executeQuery();
    while(rs.next()){
     u.setName(rs.getString(1));
    }    
   } catch (SQLException e) {
    e.printStackTrace();
   }finally{
    try {
     rs.close();
     pst.close();
     conn.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   }
   if(u.getName() == null || u.getName().isEmpty()){
    System.out.println("登陆失败");
   }else{
    System.out.println("欢迎"+u.getName()+"登陆");
   }

}
}

//注册界面,要判断 登陆名是否有重复,有重复则注册失败。有点小疑问,已用注释标出来
package 登陆判断;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Register {

public static void registUser(User u){

try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
   } catch (ClassNotFoundException e) {
    e.printStackTrace();
   }
   String url = "jdbc:oracle:thin:@localhost:1521:orcl";
   String user = "scott";
   String password = "tiger";
   Connection conn = null;
   String sql = "Insert Into USERINFO values(?,?,?)";
   PreparedStatement pst = null;

//判断登陆名是否已经存在
   Statement s = null;
   ResultSet rs = null;
   String sql_ck = "Select LOGINNAME FROM USERINFO";
   try {
    conn = DriverManager.getConnection(url, user, password);
    pst = conn.prepareStatement(sql);
    pst.setString(1, u.getName());
    pst.setString(2, u.getLoginname());
    pst.setString(3, u.getLoginpsw());
    //判断登陆名是否已经存在
    s = conn.createStatement();
    rs = s.executeQuery(sql_ck);
    while(rs.next()){//为什么用 rs.getString(2)会提示 无效的索引呢
     if( rs.getString("LOGINNAME").equals(u.getLoginname()) ){
      System.out.println("登陆名已经存在,注册失败");
      break;
     }else{
      pst.executeUpdate();
      System.out.println("注册成功");
      break;
     }
    } 
   } catch (SQLException e) {
    e.printStackTrace();
   }finally{
    try {
     rs.close();
     pst.close();
     s.close();
     conn.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   }

}
}
//main界面//
//数据库中表的结构式这样
//name(用户名,用于显示),
//loginname(登录名,即登陆时输入的ID)
//loginpsw(登陆时输入的密码)
package 登陆判断;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

int chos = 0;
  Scanner sc = new Scanner(System.in);
  System.out.println("\t\t登陆请按1\t\t注册请按2");
  chos = sc.nextInt();
  switch(chos){
  case 1: Check.checkUser(In.getUser());break;
  case 2: Register.registUser(In.registerUser());break;
  default: System.out.println("请输入正确的选择");break;
  }
 }

}

(0)

相关推荐

  • Java+mysql用户注册登录功能

    最近刚刚开始学习mysql,所以就写了这个很基本的用户注册登录的功能来练练手.虽然这个很简单,但是我还是看到了自己学习的进步,很开心.哈哈哈. 这里要注意数据表的建立: 直接上代码吧,里面注释很详细了. package client; import java.sql.*; import java.util.*; public class Client { /** * 用以实现用户的注册和登录 */ private static String username;//用户登录注册的姓名 privat

  • JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JS

  • Java简易登录注册小程序

    登录注册小代码,将学过的一些小知识融合在一起进行了使用,加深印象.本例中如果有注释不详细的地方,详见其它博客. 功能介绍:简单的登录注册系统,使用了数据库sqlserver.单例模式.正则表达式以及图形化开发等知识. 1.在登录界面,可以登录或者注册用户. 注册用户界面,按照正则表达式规定的格式要求来输入信息,若有误,则重新输入. 2.点击注册,首先连接SQLserver数据库,连接成功则会判断该用户名是否已经存在,若存在,则给出提示.反之则进行注册. 3.登录界面,点击登录按钮时,首先与数据库

  • java中使用Filter控制用户登录权限具体实例

    学jsp这么长时间,做的项目也有七八个了,可所有的项目都是用户登录就直接跳转到其拥有权限的页面,或者显示可访问页面的链接.使用这种方式来幼稚地控制访问权限.从来没有想过如果我没有登录,直接输入地址也可以直接访问用户的页面的. 在jsp中权限的控制是通过Filter过滤器来实现的,所有的开发框架中都集成有Filter,如果不适用开发框架则有如下实现方法: LoginFilter.java 复制代码 代码如下: public class LoginFilter implements Filter {

  • java中servlet实现登录验证的方法

    login.java: 复制代码 代码如下: package com.ncu;import java.io.PrintWriter; import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class login extends HttpServlet{ public void do

  • 注册验证java代码[针对上篇文章]

    http://www.jb51.net/article/19801.htm 复制代码 代码如下: <%@ page contentType="text/html; charset=gb2312" language="java"%> <%@ page import="java.sql.*"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional/

  • Servlet+JavaBean+JSP打造Java Web注册与登录功能

    采用Java Web所实现的MVC结构图如下,其中控制器部分采用Servlet来实现,模型部分采用JavaBean来实现,而大部分的视图采用Jsp页面来实现. 思想基础 JSP+JavaBean两层结构工作原理应该是比较熟悉的,也比较好理解. 但是有一点必须要清楚就是用户通过浏览器来发送网页的请求,此请求到达服务器后在服务器端查找对应的网页,如果是首次请求(第二次就不用解释执行了),对于JSP来说要生成Servlet,然后通过Servlet引擎来执行 Servlet,把调用JavaBean的结果

  • java模拟post请求登录猫扑示例分享

    复制代码 代码如下: import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;im

  • java(jsp)整合discuz同步登录功能详解

    最近做了一个资源库系统的项目,老师说可以搭建开源论坛替代自己开发社交模块,正好在开源中国上看到了一个利用discuz的UCenter功能实现同步登录的开源项目(https://code.google.com/p/discuz-ucenter-api-for-java/),不禁大喜,于是花了几个小时照着教程操作了一遍,居然很轻松的成功了,特写此文以做纪念.. Uenter是Comsenz旗下各个产品之间信息直接传递的一个桥梁,通过UCenter站长可以无缝整合Comsenz系列产品,实现用户的一站

  • JAVA实现简单系统登陆注册模块

    前期准备 首先要先明确有个大体的思路,要实现什么样的功能,了解完成整个模块要运用到哪些方面的知识,以及从做的过程中去发现自己的不足.技术方面的进步大都都需要从实践中出来的. 功能:用户注册功能+系统登录功能+生成验证码 知识:窗体设计.数据库设计.JavaBean封装属性.JDBC实现对数据库的连接.验证码(包括彩色验证码)生成技术,还有就些比如像使用正则表达式校验用户注册信息.随机获得字符串.对文本可用字符数的控制等 设计的模块预览图: 彩色验证码预览图: 所用数据库:MySQL 数据库设计

随机推荐