精华内容
下载资源
问答
  • java用户注册登录系统
    千次阅读
    2019-08-22 15:10:25

    注册登录系统

    1. 创建菜单,注册,登录,退出
    2. 注册模块:
      a) 通过键盘输入用户名,密码
      b) 保存用户名密码到user.txt文件(包含用户名和密码)
      c) 注册成功
    3. 登录模块
      a) 通过键盘输入用户名和密码
      b) 判断(超过三次提示过多错误,需要休眠30秒)
      c) 登陆成功
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Properties;
    import java.util.Scanner;
    
    class TestRegex{
    	public boolean isUser(String user) {
    		String regex="[1-9][0-9]{4,9}";
    		boolean b=user.matches(regex);
    		return b;
    	}
    	public boolean isMiMa(String mm) {
    		String regex="\\w+(\\.*\\w)";
    		boolean b=mm.matches(regex);
    		return b;
    	}
    }
    public class MySQLregisterTest{
    	//1.	注册登录系统
    	//1.	创建菜单,注册,登录,退出
    	public static void MySQLmenu() {
    		System.out.println("***************************");
    		System.out.println("*****MySQL注册登录系统*****");
    		System.out.println("**1.注册");
    		System.out.println("**2.登录");
    		System.out.println("**3.退出");
    	}
    	//2.	注册模块:
    	//a)	通过键盘输入用户名,密码
    	//b)	保存用户名密码到user.txt文件(包含用户名和密码)
    	//c)	注册成功
    	public static void MySQLregister() throws IOException {
    		TestRegex tr=new TestRegex();
    		File f=new File("user.txt");
    
    		Scanner sc=new Scanner(System.in);
    		System.out.println("欢迎来到注册界面!");
    		System.out.println("请输入用户名!");
    		String s=sc.next();
    		boolean bu=tr.isUser(s);
    		FileInputStream fis=new FileInputStream("user.txt");
    		Properties pro=new Properties();
    		pro.load(fis);
    		String user=pro.getProperty("user");
    		String pass=pro.getProperty("pass");
    		if(bu==false&&user.equals(s)) {
    			System.out.println("账号注册失败");
    		}else {
    			FileOutputStream fos=new FileOutputStream(f,true);
    			byte[] bye=new byte[512];
    			int len=0;
    			fos.write(("user="+s+"\r\n").getBytes());
    			fos.flush();
    			fos.close();
    			fis.close();
    			System.out.println("注册成功");
    		}
    		System.out.println("请输入密码!");
    		String st=sc.next();
    		boolean bm=tr.isMiMa(st);
    		if(bm==false&&pass.equals(st)) {
    			System.out.println("密码注册失败");
    		}else {
    			FileOutputStream fos=new FileOutputStream(f,true);
    			byte[] bye=new byte[512];
    			int len=0;
    			fos.write(("pass="+st+"\r\n").getBytes());
    			fos.flush();
    			fos.close();
    			fis.close();
    			System.out.println("账号注册成功");
    		}
    	}
    	//3.	 登录模块
    	//a)	通过键盘输入用户名和密码
    	
    	public static boolean Login() throws IOException{
    		boolean flag=false;
    		Scanner sc=new Scanner(System.in);
    		System.out.println("请输入用户名:");
    		String s=sc.next();
    		FileInputStream fis=new FileInputStream("user.txt");
    		Properties pro=new Properties();
    		pro.load(fis);
    		String user=pro.getProperty("user");
    		String pass=pro.getProperty("pass");
    		if(s.equals(user)) {
    			System.out.println("请输入密码:");
    		}
    		String ms=sc.next();
    		if(ms.equals(pass)) {
    			System.out.println("登录成功");
    			flag=true;
    		}
    		return flag;
    	}
    	//b)	判断(超过三次提示过多错误,需要休眠30秒)
    	//c)	登陆成功
    	public static void Oder() {
    		int n = 1;
    		abc: while (n <4) {
    			try {
    				boolean flag = Login();
    				if (flag == false) {
    					n++;
    				} else {
    					System.out.println("账号或密码错误,请确认账号密码");
    					n = 4;
    					break abc;
    				}
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    	}
    
    	public static void main(String[] args) throws IOException, Exception {
    		boolean flag=true;
    		while(flag) {
    			MySQLmenu();
    			Scanner sc=new Scanner(System.in);
    			System.out.println("请输入选择项:");
    			int n=sc.nextInt();
    			switch(n) {
    			case 1:
    				MySQLregister();
    				break;
    			case 2:
    				Oder();
    				System.out.println("输入次数达到上限,休眠30秒");
    				Thread.sleep(30000);
    				break;
    			case 3:
    				System.out.println("已退出系统");
    				flag=false;
    				break;
    			default:
    				System.out.println("输入异常!请重新输入");
    			}
    		}
    	}
    }
    
    更多相关内容
  • 1、实验项目名称:用户登录系统 2、实验要求: (1)了解自定义异常的用法; (2)熟悉异常处理机制及创建自定义异常。 3、使用:在了解Java异常机制的基础上自己编写的实验报告。
  • java用户注册登录源代码

    热门讨论 2014-03-12 18:15:09
    完成实现用户登录注册基础代码,可以完成后台接受注册信息。
  • Java 登录注册系统java基础案例教程 案例2-6】

    千次阅读 多人点赞 2021-12-18 13:39:59
    编写程序实现简单的登录注册系统。程序包括以下4个功能。 1)登录功能,用户输入正确的账号密码可成功登录 2)注册功能,输入用户名和密码进行注册 3)查看功能,查看所有的用户名和密码 4)退出功能,退出系统...

    案例要求

    编写程序实现简单的登录注册系统。程序包括以下4个功能。

    1)登录功能,用户输入正确的账号密码可成功登录

    2)注册功能,输入用户名和密码进行注册

    3)查看功能,查看所有的用户名和密码

    4)退出功能,退出系统。

    用户可以输入对应的编号进行相应的功能操作。例如输入"2"进行注册功能,输入用户名和密码进行注册。

    本人按照自己的思路来写(水平有限)

    首先注册再登录

    1.我认为最难的点在于创建多个用户并且保存下来

    解:运用二维数组进行保存

    第一种定义方式:

    数据类型[][] 数组名=new 数据类型[行的个数][列的个数]

    第二种定义方式:

    数据类型[][] 数组名={{},{},{},.....}

    例 int[][] xx={{1,2},{3,2}}

       利用二维数组的特性  可以理解为数组中的数组  而里面的最里面数组就可以用来储存账号和密码

    外面那一层的数组可以用来用户的定位。

       例 int[][] xx={{1,2},{3,2}}

       int[0][0]就是第1个用户的账号"1"  int[0][1]就是第1个用户的密码 "2"

       每进行注册操作int[0+1][0] 我们就可以换一行进行储存了(也就相当于新建了一个账户)

       这样我们就可以来储存多个用户和密码了。

        2.第二难点是 如何现实登录系统

        登录系统就要用户输入了

    //先导包
    import java.util.Scanner;
    //新建Scanner实例
    Scanner scan= new Scannner(System.in);
    String inputAccount =scan.nextInt();

        账号与密码相匹配才显示登录成功 难就难在如何用户输入的账号密码与储存好的账号密码对比

        我们可以利用for循环遍历查找

        思路是 当边遍历边对比 

    思路如下:

    for(int i=0;i<用户二维数组的长度;i++){
          if(用户输入的账号.equals(数组用户二维数组[i][0])){//如是一样的我们就对比密码是否相同
            if(用户输入的密码.equals(数组用户二维数组[i][1])){
              System.out.println("登录成功");
             }
        }else{//如果没找账号或者是密码错误就 打印"登录失败"
         System.out.println("登录失败");
         }
    
    }

    这个是个思路 并不是最终代码



    最大的问题我们解决完了 就可以开始写代码了!加上一些细节上的东西

    这个系统需要用户的输入所以

    //先导包
    import java.util.Scanner;
    //新建Scanner实例
    Scanner scan= new Scannner(System.in);

    我们先写后面我们要用到

    我们可以先写界面

            System.out.println("===登录系统===");
            System.out.println("1.登录");
            System.out.println("2.注册");
            System.out.println("3.查看");
            System.out.println("4.退出");
            System.out.println("==注意== 未注册的用户请先注册");
            System.out.println("请输入编号进行操作");

    实现输入对应的编号进行相应的功能操作的话 可以这么写:

    System.out.println("===登录系统===");
            System.out.println("1.登录");
            System.out.println("2.注册");
            System.out.println("3.查看");
            System.out.println("4.退出");
            System.out.println("==注意== 未注册的用户请先注册");
            System.out.println("请输入编号进行操作");
            int input= scan.nextInt();
              if(input==1){
                account_1.login(numofregister);
              }else if(input==2){
                  numofregister++;//每注册一个账户都会分配一个在String[][] allAccount 新位置
                  account_1.register(numofregister);
              }else if(input==3){
                  account_1.showInfo(numofregister);
                  //退出功能
              }else if(input==4){
                  System.out.println("是否要退出登录系统?Y/N");
                  String quit=scan.next();
                  if("Y".equals(quit)){
                      in=false;
                  }else {
                      in=true;
                  }
              }
     

    numofregister是number of register 注册的数量 用这个变量名容易明白这个变量是用来干嘛的

    代码段中的numofregister变量(全局变量)的作用是用来计数的 每进行注册操作 就自+1

    else if(input==2){
    
         numofregister++;//每注册一个账户都会分配一个在String[][] allAccount 新位置
         account_1.register(numofregister);
    }

    就得写方法 写方法的同时我们可以建一个类 类名可以去为loginsystem

    1.先加上成员变量 String[][] allAccount 用来储存用户数量和用户的账户和密码

    class loinsystem{
    
    //用户数量和用户的账户和密码存储
        String[][] allAccount=new String[100][2];
    
    
    
    
    }

    2.我们先写方法 第一个方法 注册方法

    //注册方法
        public void register(int numofregister){
            Scanner scanner=new Scanner(System.in);
            System.out.println("请输入账号名");
            //String account用于接受用户输入的账号
            String account=scanner.next();
            System.out.println("请输入密码");
            //String password用于接受用户输入的密码
            String password=scanner.next();
            //储存用户的账号密码
            allAccount[numofregister][0]=account;
            allAccount[numofregister][1]=password;
            //提示注册成功
            System.out.println("注册成功!");
            System.out.println("\n");
        }

    代码段中的numofregister变量的作用是计数 每进行注册操作就自+1 

    像这段代码

    //储存用户的账号密码
            allAccount[numofregister][0]=account;
            allAccount[numofregister][1]=password;

    因为每进行注册操作 numofregister变量就自+1 也就是说换了个位置储存新账户和密码

    3.登录方法

    public void login(int numofregister){
            Scanner scan=new Scanner(System.in);
            System.out.println("请输入账号");
            //inputAccount用于接受用户的输入账号
            String inputAccount=scan.next();
            System.out.println("请输入密码");
            //inputPassword用于接受用户的输入密码
            String inputPassword= scan.next();
            //遍历查找用户的输入账号在数组的哪个位置以方便账号与密码匹配
            for(int i=0;i<allAccount.length;i++) {
                if (i <= numofregister) {//避免空指针异常
                    if (inputAccount.equals(allAccount[i][0])) {//如果找到了账号在数组的位置就看密码与用户输入的密码是否匹配
                        if (inputPassword.equals(allAccount[i][1])) {
                            System.out.println("登录成功");
                        } else {
                            System.out.println("账号或密码有误 登录失败");
                        }
                    }
    
                }else {//避免空指针异常
                    break;
                }
            }
        }

    为了避免空指针异常(因为没有在空闲的空间输入数据 这些空间就没有地址也就是null 空)

    for(int i=0;i<allAccount.length;i++)

    如果没有限制条件的话会一直循环下去 因为数组中可能有空闲的空间但是没有地址 当循环到这些空间时会抛出异常也就是空指针异常。

    if (i <= numofregister){
    
    }else{
    break;
    }

    所以我们要"适可而止"  当循环到最后一位用户的位置时就结束循环 

    3.查看方法

    public void showInfo(int numofregister){
          for(int i=1;i<allAccount.length;i++){
              if(i<=numofregister){//避免空指针异常 避免遍历过度
                  System.out.println("用户"+i+"信息如下:");
                  System.out.println("账号:"+allAccount[i][0]);
                  System.out.println("密码:"+allAccount[i][1]);
              }else {//避免空指针异常 避免遍历过度
                  break;
              }
    
          }
        }

    同理别循环过度了

    加上一些细节完善一下

    最终代码:

    import java.util.Scanner;
    public class LoginSystem {
        public static void main(String[] args) {
            Scanner scan=new Scanner(System.in);
            boolean in=true;//用于开始和结束循环
            loinsystem account_1=new loinsystem();
            int numofregister=0;//用于计数
            //界面
            while(in){
            System.out.println("===登录系统===");
            System.out.println("1.登录");
            System.out.println("2.注册");
            System.out.println("3.查看");
            System.out.println("4.退出");
            System.out.println("==注意== 未注册的用户请先注册");
            System.out.println("请输入编号进行操作");
            int input= scan.nextInt();
              if(input==1){
                account_1.login(numofregister);
              }else if(input==2){
                  numofregister++;//每注册一个账户都会分配一个在String[][] allAccount 新位置
                  account_1.register(numofregister);
              }else if(input==3){
                  account_1.showInfo(numofregister);
                  //退出功能
              }else if(input==4){
                  System.out.println("是否要退出登录系统?Y/N");
                  String quit=scan.next();
                  if("Y".equals(quit)){
                      in=false;
                  }else {
                      in=true;
                  }
              }
            }
        }
    }
    class loinsystem{
        //用户数量和用户的账户和密码存储
        String[][] allAccount=new String[100][2];
    
        //注册方法
        public void register(int numofregister){
            Scanner scanner=new Scanner(System.in);
            System.out.println("请输入账号名");
            //String account用于接受用户输入的账号
            String account=scanner.next();
            System.out.println("请输入密码");
            //String password用于接受用户输入的密码
            String password=scanner.next();
            //储存用户的账号密码
            allAccount[numofregister][0]=account;
            allAccount[numofregister][1]=password;
            //提示注册成功
            System.out.println("注册成功!");
            System.out.println("\n");
        }
        //登录方法
        public void login(int numofregister){
            Scanner scan=new Scanner(System.in);
            System.out.println("请输入账号");
            //inputAccount用于接受用户的输入账号
            String inputAccount=scan.next();
            System.out.println("请输入密码");
            //inputPassword用于接受用户的输入密码
            String inputPassword= scan.next();
            //遍历查找用户的输入账号在数组的哪个位置以方便账号与密码匹配
            for(int i=0;i<allAccount.length;i++) {
                if (i <= numofregister) {//避免空指针异常
                    if (inputAccount.equals(allAccount[i][0])) {//如果找到了账号在数组的位置就看密码与用户输入的密码是否匹配
                        if (inputPassword.equals(allAccount[i][1])) {
                            System.out.println("登录成功");
                        } else {
                            System.out.println("账号或密码有误 登录失败");
                        }
                    }
    
                }else {//避免空指针异常
                    break;
                }
            }
        }
        //查看方法
        public void showInfo(int numofregister){
          for(int i=1;i<allAccount.length;i++){
              if(i<=numofregister){//避免空指针异常 避免遍历过度
                  System.out.println("用户"+i+"信息如下:");
                  System.out.println("账号:"+allAccount[i][0]);
                  System.out.println("密码:"+allAccount[i][1]);
              }else {//避免空指针异常 避免遍历过度
                  break;
              }
    
          }
        }
    }

    展开全文
  • 采用的是mysql数据库,jdbc驱动,用myeclipse开发的一个java web工程。 博客中有本小系统的详细说明,请参考:https://blog.csdn.net/qq_36631076/article/details/79878822
  • Java EE--注册登录系统

    2018-09-20 11:56:03
    是一个JavaEE项目,用servlet和JSP实现用户注册登录系统,用到了MD5加密技术,对数据进行保护。
  • Java实现注册登录系统——基于Java Swing实现

    万次阅读 多人点赞 2018-11-12 22:24:17
    技术简介:Java Swing 介绍 Swing 是一个为Java设计的GUI工具包。 Swing是JAVA基础类的一部分。 Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格...它们支持可更换的面板和主题(各种操作系统默认...

    技术简介:Java Swing 介绍

    Swing 是一个为Java设计的GUI工具包。

    Swing是JAVA基础类的一部分。

    Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。

    Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

      以上简介是引用的菜鸟教程里面的介绍,这个教程还是很不错的,比较简洁明了;点此这里查看菜鸟教程

    首先呢,我们既然要实现一个用户注册登录系统基于-Java Swing,就避免不了和数据库打交道,在这里我们选择MySQL数据库,采用的数据库驱动jar是:mysql-connector-java-5.1.22-bin.jar

    1.第一步我们需要建立我们的数据库表,因为只涉及到用户的注册登录行为,我们的表结构很简单,只有用户名(username)和用户密码(password),我们的数据库名为mysql,表名为jdbc_dome 表结构如下图所示:  

    2.第二步我们来创建创建Java project 命名随你意;在这里我起的贪吃鬼(这个案例是我之前做的贪吃蛇小游戏的注册登录哪来的-)

    项目目录如下图所示:

    3.将下来我们就直接贴代码啦,代码里面该有的注释我都写上了,总共就三个包:一个包中是连接数据库的类(里面封装好了数据库连接以及释放资源的静态方法,直接在用的时候用类名调用就可以了)另一个是注册登录的类,还有一个图片资源包(里面放了一下我们所需要的图片)

      1> 创建包com.mooc.login 类Login.java和Register.java

       Login.java类   //用户登录窗体

    package com.mooc.login;
    
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Graphics;
    import java.awt.Label;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.ResultSet;
    
    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    
    import com.mooc.jdbcUtil.jdbcUtil;
    import com.mysql.jdbc.Statement;
    /**
     * 用户登录
     * @author 大南海
     *
     */
    public class Login extends JFrame{
         
    	private JPanel contentPane;
    	private JButton btn1,btn2,btn3;
    	private JTextField userName;
    	private JPasswordField password;
    	private JLabel label1,label2;
    	
    	private int LOGIN_WIDTH=360;
    	private int LOGIN_HEIGTH=350;
    	
    	
    	Connection conn;
    	Statement stam;
    	
    	public Login() {
    		
    	     setTitle("贪吃鬼");  //设置窗体标题
    		 setBounds(100, 50, LOGIN_WIDTH, LOGIN_HEIGTH	);  //设置窗体坐标以及打下
    		 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //设置窗体可关闭
    		 setResizable(false);  //设置窗体大小不可以改变
    		 setVisible(true);    //设置窗体可见
    		 //设置窗体标题图标
    		 setIconImage(
    			Toolkit.getDefaultToolkit().getImage(Login.class.getResource("/images/log.jpg"))	 	 
    				 );
    		 /**
    		  * 添加一个面板容器到窗体中
    		  */
    		 contentPane = new JPanel();
             contentPane.setBackground(Color.WHITE);
    		 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    	   	 setContentPane(contentPane);
    		 contentPane.setLayout(null);	 
    		 //账号标签
    		 label1=new JLabel("");
    		 label1.setBounds(80,76, 54, 28);
    		 label1.setIcon(new ImageIcon(Login.class.getResource("/images/user.png")));
    		 contentPane.add(label1);
    		 
    		 
    		 //密码标签
    		 label2=new JLabel("");
    		 label2.setBounds(80, 135, 54, 28);
    		 label2.setIcon(new ImageIcon(Login.class.getResource("/images/psw.png")));
    		 contentPane.add(label2);
    	
             //账号输入框
    		 userName=new JTextField();
    		 userName.setBounds(139, 80, 161, 25);
    		 contentPane.add(userName);
    		 
    		 //密码输入框
    		 password=new JPasswordField();
    		 password.setBounds(139, 140, 161, 25);
    		 
    	     contentPane.add(password);
    	     
    	     
    	     //按钮—登录
    	     btn1=new JButton("登   录");
    	     btn1.setBounds(95, 210, 80, 23);
    	     btn1.setIcon(new ImageIcon(Login.class.getResource("/images/btn1.png")));
    	     btn1.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				if(e.getSource()==btn1) {	 
    					try {
    						conn=jdbcUtil.getConnection();//获取数据库连接
    						stam= (Statement) conn.createStatement();  //创建sql语句执行对象
    						//编写sql语句
    						String sql="select * from user where username='"+userName.getText()+"'  and password='"+password.getText()+"'     ";
    					    //执行sql语句
    						ResultSet rs=stam.executeQuery(sql);
    						if(rs.next()) {
    					    dispose();//关闭当前窗口							
    						new Main();
    						}		
    					}catch (Exception e0) {
    						e0.printStackTrace();
    					}finally {
    						jdbcUtil.result(conn, stam);
    						
    					}
    				}
    			}
    		});
    	     contentPane.add(btn1);
    	     //按钮—退出
    	     btn2=new JButton("退  出");
    	     btn2.setBounds(210, 210, 80, 23);
    	     btn2.setIcon( new ImageIcon(Login.class.getResource("/images/exit.png")));
    	     btn2.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				if(e.getSource()==btn2) {
    				    dispose();
    				}
    			}
    		});
    	     
    	     
    	     contentPane.add(btn2);     
    	     //按钮-注册
    	     btn3=new JButton("注        册");
    	     btn3.setBounds(95,240,200, 23);
    	     btn3.setIcon(new ImageIcon(Login.class.getResource("/images/regier.png")));
    	     btn3.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    
    				 dispose();//关闭登录窗体
    				new Register().addMan(); // 打开注册窗体
    				
    			}
    		});
    	     contentPane.add(btn3);
    	     
    	}	
    		
    	public static void main(String[] args) {
    		new Login();
    	}	
    		
    	
    }

      Register.java类   //用户注册窗体

    package com.mooc.login;
    
    import java.awt.Color;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    
    import com.mooc.jdbcUtil.jdbcUtil;
    /**
     * 用户注册
     * @author 大南海
     *
     */
    
    public class Register  extends JFrame {
      
    	  private int LOGIN_WIDTH=360;
    	  private int LOGIN_HEIGTH=350;
    	  private JPanel contentPane;
    	  private JTextField userName;
    	  private JPasswordField password;
    	  private JButton btn3,btn4;
    	  private JLabel label3,label4;
    	  Connection conn;
    	  Statement stam;
    	  
    	  
           public void addMan() {
    		
        	   setTitle("注册");
        	   setTitle("增删改查");
      		   setBounds(100, 50, LOGIN_WIDTH, LOGIN_HEIGTH	);
      		   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      		   setResizable(false);
      		   setVisible(true);
      		   //设置窗体标题图标
      		   setIconImage(
      			Toolkit.getDefaultToolkit().getImage(Login.class.getResource("/images/log.jpg"))	 	 
      				 );
      		   /**
      		   * 添加一个面板容器到窗体中
      		   */
      		   contentPane = new JPanel();
               contentPane.setBackground(Color.WHITE);
      		   contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
      	   	   setContentPane(contentPane);
      		   contentPane.setLayout(null);
      		   
      		//账号标签
      		 label3=new JLabel("");
      		 label3.setBounds(80,76, 54, 28);
      		 label3.setIcon(new ImageIcon(Login.class.getResource("/images/user.png")));
      		 contentPane.add(label3);
      		 
      		 
      		 //密码标签
      		 label4=new JLabel("");
      		 label4.setBounds(80, 135, 54, 28);
      		 label4.setIcon(new ImageIcon(Login.class.getResource("/images/psw.png")));
      		 contentPane.add(label4);
      	
               //账号输入框
      		 userName=new JTextField();
      		 userName.setBounds(139, 80, 161, 25);
      		 contentPane.add(userName);
      		 
      		 //密码输入框
      		 password=new JPasswordField();
      		 password.setBounds(139, 140, 161, 25);
      		 
      	     contentPane.add(password);
      		   
      	     btn3=new JButton("登   录");
    	     btn3.setBounds(95, 210, 80, 23);
    	     btn3.setIcon(new ImageIcon(Login.class.getResource("/images/insist.png")));
      		 btn3.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				
    				if(e.getSource()==btn3) {
    					try {
    						
    						//加载数据库驱动
    						conn=jdbcUtil.getConnection();
    						//创建执行sql语句的对象
    						stam=conn.createStatement();
    						//编写sql语句
    						String sql="insert into user values('"+userName.getText()+"','"+password.getText()+"')";
    						//执行sql语句
    						stam.execute(sql);
    						JOptionPane.showMessageDialog(null, "注册成功!");
    						dispose();  //关闭注册窗体
    					    new Login();  //打开登录窗体
    						
    						
    					}catch (Exception e1) {
    						e1.printStackTrace();
    					}finally {
    						jdbcUtil.result(conn, stam);
    					}
    					
    				}
    				
    			}
    		});
    	     
    	     contentPane.add(btn3);
      		  
      		 btn4=new JButton("退  出");
    	     btn4.setBounds(210, 210, 80, 23);
    	     btn4.setIcon( new ImageIcon(Login.class.getResource("/images/exit.png")));
    	     btn4.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    			
    				if(e.getSource()==btn4) {
    				  
    				    dispose();
    				}
    				
    				
    				
    			}
    		});
    	     
    	     
    	     contentPane.add(btn4);
    	     
    	}
    	
    	
    }
    

    另外你可以创建一个登录成功后的窗体:比如Mian.java 

    package com.mooc.login;
    
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Point;
    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import java.util.LinkedList;
    import java.util.WeakHashMap;
    
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JOptionPane;
    
    public class Main extends JFrame {
    
    	private static final int GAME_WIDTH = 1100;
    	private static final int GAME_HEIGTH = 600;
    	
    
    	/**
    	 * 构造方法
    	 */
    	public Main() {
    		setTitle("主界面");
    		setSize(GAME_WIDTH, GAME_HEIGTH);
    		setResizable(false);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setVisible(true);
    		setBackground(Color.darkGray);
    		setLocationRelativeTo(null);// 居中显示
    		
    	
    		
    	}
    
    
    }
    

       2>创建包com.mooc.jdbcUtil  类jdbcUtil,java

        类jdbcUtil,java   //数据库封装操作类

    package com.mooc.jdbcUtil;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    /**
     *      数据库连接类
     * @author 大南海
     *
     */
    public class jdbcUtil {
    
    	private static final String dricerClass;
    	private static final String url;
    	private static final String username;
    	private static final String password;
    
    	static {
    		dricerClass = "com.mysql.jdbc.Driver";
    		url = "jdbc:mysql:///jdbc_dome";
    		username = "root";
    		password = "root";
    	}
    
    	/*
    	 * 加载数据库的方法
    	 */
    
    	public static void locadClass() throws ClassNotFoundException {
    
    		Class.forName(dricerClass);
    	}
    
    	/*
    	 * 获取数据库连接的方法
    	 */
    	public static Connection getConnection() throws Exception {
    
    		Connection conn = DriverManager.getConnection(url, username, password);
    
    		return conn;
    	}
    
    	/*
    	 * 关闭连接并释放资源的方法
    	 */
    	public static void result(Connection conn, Statement stam) {
    
    		if (conn != null) {
    
    			try {
    				conn.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			conn = null;
    		}
    
    		if (stam != null) {
    
    			try {
    				stam.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			stam = null;
    		}
    	}
    
    	/*
    	 * 关闭连接并释放资源的方法
    	 */
    	public static void result(Connection conn, Statement stam, ResultSet rs) {
    
    		if (conn != null) {
    
    			try {
    				conn.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			conn = null;
    		}
    
    		if (stam != null) {
    
    			try {
    				stam.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			stam = null;
    		}
    		if (rs != null) {
    			try {
    				rs.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			rs = null;
    		}
    
    	}
    
    }
    

    运行截图:

      

    截止现在 我们的这个简单小例子-注册登录就算完成了,以上内容功能是不缺少了,可能会缺少图片资源。你也可以自己找一下;你也可以选择下使用我之前上传的这个资源案例,是个小游戏(贪吃蛇),其中也包含这个注册登录;点击这里可以下载:

    https://download.csdn.net/download/u014543872/10780768​​​​​​​

    谢谢你的浏览,以上内容如有错误欢迎在评论区指出或者私信我;

    展开全文
  • JAVA Web实现注册登录系统

    千次阅读 多人点赞 2019-12-02 11:54:29
    最近因为项目需要写一个数据库的展示系统,之前没有接触过java web 的开发也是bijaio头疼。经过一周的辗转终于勉强完成了一个简单的原型系统,话不多说,上干货。(Eclipse!) 一:没有使用过java web的,第一步要...

    最近因为项目需要写一个数据库的展示系统,之前没有接触过java web 的开发也是bijaio头疼。经过一周的辗转终于勉强完成了一个简单的原型系统,话不多说,上干货。(Eclipse!)


    一:没有使用过java web的,第一步要在你的eclipse里面下载web插件。

    (1)在eclipse导航栏找到Help——>Install new software

    (2)查看你的eclipse版本:找到eclipse安装路径下reademe文件夹下的HTML文件打开, 查看版本号

             这里我用的是oxygen版本,大家根据自己的版本号到网上搜查自己对应要下载的版本

    (3)在地址栏如下输入

             稍等一会会自动跳出(拉到最下面选择web、XML、java EE、and OSGI Enterprise Development)

    可以全选或者根据需要选择其中几个(我当时是选择所有下载但是出现问题,最后只选择了几个需要的,大家可以去 查找正常web开发需要的那几个)可能还会有人没有这个选项卡,Emmm自行百度吧,我没遇到。

    (4)然后就是等待下载了,但是我在这个地方卡住了很久,希望读者不要像我一样,如果遇到,站内大佬们也给出了很多解答。下载成功的就可以根据向导的默认来安装。

     

    二:配置Tomcat

    这里我选择的是Tomcat9。配置方法站内大佬们也都有很多文章来帮助大家,读者可以自行查找配置。

    三:新建Dynamic Web Project

    File——> new——>other——>Web——>Dynamic Web Project 

     

    输入项目名称,注意Target runtime 在下拉框选择刚刚安装好的Tomcat9。一路next下去,如果有需要的可以根据提示更改。

    注意:这个Generate web.xml选项一定要勾上!!

    大家可以先展开项目,看看里面的结构。 正常会使用到的就是在java resources下的某个包中新建class、Servlet等后台文件。

    其次就是在WebContent下新建前端jsp、js等文件。

     四:配置JDBC,连接数据库(SQL server)

    因为项目用的是SQL server,因此我使用的是连接SQL server的jdbc,大家根据需要自行下载并配置jdbc。

    前提是先将自己的SQL server数据库配置好啊!!

    可以用SSMS来管理自己的SQL。

    记得要在SQL 中新建一个t_user表来存储注册的用户信息啊!!

     五:下面就是大家最想要的代码啦!!

     

    (1)DbUtil.java:获取数据库连接

    import java.sql.Connection;
    import java.sql.DriverManager;
    
    public class DbUtil{
     
    	//这里更换成自己的数据库和用户密码
    	private String dbUrl="jdbc:sqlserver://localhost:1433;DatabaseName=aaa";
    	private String dbUserName="zxc";
    	private String dbPassword="zxc123456";
    	
    	private String jdbcName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    	
    	//获取数据库
    	public Connection getCon() throws Exception{
    		Class.forName(jdbcName);
    		Connection con=DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
    		return con;
    	}
    	
    	//关闭数据库
    	public void closeCon(Connection con) throws Exception{
    		if(con!=null) {
    			con.close();
    		}
    	}
    	
    	 
    	public static void main (String[] args) {
    		DbUtil dbUtil=new DbUtil();
    		try {
    			dbUtil.getCon();
    			System.out.println("数据库连接成功");
    		}catch(Exception e) {
    			e.printStackTrace();
    		}
    	}
    }
    
     

    (2)Operation.java:

    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    /**
     * 对数据库进行操作的后台程序
     */
     public class Operation{
    	 
    	 public user login(Connection con,user user) throws Exception{
    		  
    		 user resultUser=null;
    		 
    		 String sql="select *from dbo.t_user where userName=? and password=?";
    		 PreparedStatement pstmt=con.prepareStatement(sql);
    		 
    		 pstmt.setString(1, user.getUserName());
    		 pstmt.setString(2, user.getPassword());
    		 ResultSet rs=pstmt.executeQuery();
    		 
    		 if(rs.next()) {
    			 
    			 resultUser=new user();
    			 resultUser.setUserName(rs.getString("userName"));
    			 resultUser.setPassword(rs.getString("password"));
    			 rs.close();
    		 }
    		 return resultUser;
    	 }
    	 
    	 public boolean register(Connection con,user user) throws Exception{
    		 boolean flag=false;
    		 PreparedStatement pstmt=null;
    		 String sql="INSERT INTO dbo.t_user(userName,password)VALUES(?,?)";
    		 pstmt=con.prepareStatement(sql);
    		 pstmt.setString(1, user.getUserName());
    		 pstmt.setString(2, user.getPassword());
    		 if(pstmt.executeUpdate()>0) {
    			 flag=true;
    		 }
    		 return flag;
    	 }
     }

     (3)LoginServlet.java:

    import java.io.IOException;
    import java.sql.Connection;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    @WebServlet("/LoginServlet")
    public class LoginServlet extends HttpServlet{
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    
    	@Override
    	protected void doGet(HttpServletRequest req,HttpServletResponse resp) throws
    	ServletException,IOException{
    		this.doPost(req, resp);
    	}
    	
    	@Override
    	protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws
    	ServletException,IOException{
    		/**
    		 * 接受前台的值 账号和密码
    		 */
    		String userName=req.getParameter("userName");
    		String password=req.getParameter("password");
    		
    		DbUtil db=new DbUtil();
    		user user1=new user(userName,password);
    		Operation dao=new Operation();
    		try {
    			//数据连接
    			Connection con=db.getCon();
    			 
    			if(dao.login(con,user1)!=null) {
    				 
    				resp.sendRedirect("Home.jsp");
    			}
    			else {
    				 
    				resp.sendRedirect("register.jsp");
    			}
    		}catch (Exception e) {
    			e.printStackTrace();
    		}
    		
    	}
    }

    (4)RegisterServlet.java:

    import java.io.IOException;
    import java.sql.Connection;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    @WebServlet("/RegisterServlet")
     public class RegisterServlet extends HttpServlet{
    	
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    	@Override
    	protected void doGet(HttpServletRequest req,HttpServletResponse resp)throws
    	ServletException,IOException{
    		this.doPost(req, resp);
    	}
    	@Override
    	protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws
    	ServletException,IOException{
    		//接受前台传来的值 账号和密码
    		String userName=req.getParameter("username");
    		String password=req.getParameter("password1");
    		
    		DbUtil db=new DbUtil();
    		user user=new user(userName,password);
    		Operation dao=new Operation();
    		try {
    			Connection con=db.getCon();
    			 
    			if(dao.register(con, user)) {
    				resp.sendRedirect("login.jsp");
    			}
    			else {
    				resp.sendRedirect("register.jsp");
    			}
    		}catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    }

     

    (5)user.java:读取用户

    
    public class user {
    
    	public String userName;
    	public String passWord;
    	
    	public user() {}
    	
    	public user(String userName,String password) {
    		this.userName=userName;
    		this.passWord=password;
    	}
    	
    	public String getUserName() {
    		return userName;
    	}
    	
    	public void setUserName(String userName) {
    		this.userName=userName;
    	}
    	
    	public String getPassword() {
    		return passWord;
    	}
    	
    	public void setPassword(String password) {
    		this.passWord=password;
    	}
    }
    

    (6)login.jsp:

    <%@ page language="java" contentType="text/html; charset=utf-8"
        %>
    
    <html lang="zh-CN">
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>装备保障原型系统</title>
    <link href="static/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
    </head>
    <body>
     <nav class="navbar navbar-default">
      <div class="container-fluid">
       <div class="navbar-header">
          <a class="navbar-brand" href="./">装备保障原型系统</a>
     
       </div>
       <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
          <ul class="nav navbar-nav navbar-right">
          <li><a href="login.jsp">登录</a></li>
          </ul>
       </div>
      </div>
    
     </nav>
     <div class="container">
        <div class="row">
            <div class="col-md-4">
    
            </div>
            <div class="col-md-4">
                <form class="form-signin" method="post" action="LoginServlet">
                   <div style="width:100%;text-align:center">
                    <h2 class="form-signin-heading"  >欢迎登录! </h2>
                     </div>
                    <label for="">用户名</label>
                    <input type="text" name="userName" id="userName" class="form-control" placeholder="请输入用户名" required autofocus><br>
                    <label for="">密码</label>
                    <input type="password" name="password" id="password" class="form-control" placeholder="请输入密码" required>
                    <div class="checkbox">
                        <label>
                            <input type="checkbox" value="remember-me" checked="checked"> 记住密码
                        </label>
                    </div>
                    <button type="submit" class="btn btn-primary" id="btn-login">登录</button>
                    <a href="register.jsp" class="btn btn-default">注册</a>
                </form>
            </div>
            <div class="col-md-4">
            </div>
        </div> 
     
     </div>
     
    
    </body>
    </html>

    (7)register.jsp:

    <%@ page contentType="text/html; charset=utf-8" language="java"%>
    <html lang="zh-CN">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>注册</title>
        <link href="static/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
    </head>
    <body>
    <nav class="navbar navbar-default">
        <div class="container-fluid">
            <div class="navbar-header">
                <a class="navbar-brand" href="./">装备保障原型系统</a>
            </div>
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav navbar-right">
                    <li><a href="login.jsp">登录</a></li>
                </ul>
            </div>
        </div>
    </nav>
    <div class="container">
        <div class="row">
            <div class="col-md-4">
            </div>
            <div class="col-md-4">
    
                <form class="form-signin" action="RegisterServlet" method="post">
                    <div style="width:100%;text-align:center">
                     <h2 class="form-signin-heading">欢迎注册!</h2>
                    </div>
                   
                    <div id="info">
    
                    </div>
                    <label for="">用户名</label>
                    <input type="text" name="username" id="username" class="form-control" placeholder="请输入用户名" required autofocus><br>
                    <label for="">密码</label>
                    <input type="password" name="password1" id="password1" class="form-control" placeholder="请输入密码" required><br>
                    <label for="">重复密码</label>
                    <input type="password" name="password2" id="password2" class="form-control" placeholder="请再次输入密码" required maxLength="16"><br>
                    <button type="submit" class="btn btn-primary" id="btn-reg" onclick=submit()>注册</button>
                    <a href="login.jsp" class="btn btn-default" id="btn-reg">返回登录</a>
                </form>
               
                
            </div>
            <div class="col-md-4">
            </div>
        </div>
        </div>
    </body>
    </html>
    

    (8)home.jsp:

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>装备保障原型系统</title>
    </head>
    <body>
     <form class="form-signin" method="post" action="LoginServlet">
                   <div style="width:100%;text-align:center">
                    <h2 class="form-signin-heading"  >装备保障原型系统</h2>
                     </div>
    </form>
    </body>
    </html>

    (9)jsp代码中使用了一些bootstrap来修饰页面,使用前需要先将bootstrap下载并导入项目,同时需要将JQuery包一并导入进去。

    下面给大家看一下项目结构:(static文件夹自己新建,大家可以根据这两个文件名去网上下载,然后把这两个包导入)

     

    六:执行结果图 

    (1)

    (2) 


    新手上车,互进互勉!

    展开全文
  • 根据所学的java皮毛编写的一个简单聊天小程序,使用到了集合,IO,Socket,多线程,GUI等方面的知识,实现了服务器和客户端、登录注册、多人聊天、单独聊天等功能。算是对自己前期学习的小总结。
  • Java用户信息注册登录系统.pdf
  • java用户注册管理系统

    2010-06-14 19:30:50
    这是一个java用户注册管理系统,对于学习java的人非常有用,希望大家多多下载。
  • 基于Java 实现的简易登录-注册系统

    千次阅读 2021-03-13 16:50:00
    原标题:基于Java 实现的简易登录-注册系统 该项目适用于 学习完 基础的编程语法的同学进行进阶学习【1】基于Java实现简易的 注册 + 登录 系统非 数据库 实现!!!一、项目分析基础菜单栏:主界面、登录界面,注册界面...
  • 用户注册登录系统

    2013-12-19 23:06:23
    用户注册登录这两个功能几乎是每一个网站所必需的功能,特别是网站需要识别用户身份。用户注册可以向用户提供在网站中注册其信息的功能;用户注册之后,该用户即可以通过用户登录功能登录到该网站。用户的登录能够...
  • java用户管理系统

    2018-01-30 22:14:48
    用户管理系统分为管理员模块和普通用户模块 管理员: 1.查找用户(1.全部显示2.根据ID查询3.根据用户名查询) 2.添加用户 3.修改用户 4.删除用户 用户: 1.查看自己的信息 2.修改自己的信息 游客: 1.登入 2.注册
  • Java 实现用户注册登陆

    万次阅读 多人点赞 2018-10-24 14:57:19
    一个用户注册登陆的系统,用到了MD5加密处理密码,实现了一个简单的数据库连接池connectionPool, 实现了注册,登陆,登陆之后修改用户信息等功能,非常适合初学者 一.准备工作 数据库:MySQL 5.5.62-log MySQL ...
  • 此文档介绍了基于SSH的用户注册登录系统设计与实现的完整过程,用Java代码编写,SSH为框架,数据库为SQL Server。是Java Web的实战项目。
  • java注册登陆系统

    2018-05-01 10:43:52
    使用SQLserver和JavaSE开发的用户注册管理系统,可以让初学者学习Java工程的创作流程,学习整个框架结构。
  • 客户需求: 制作一个注册登录系统,可以把用户名和密码保存在txt文件里。完成登录、注册等功能。... (1)、设计用户注册界面: 如图: 通过swing类库中的JFrame、JLabel、JText、JButton、Box等组件...
  • 简单实现用户注册登录系统: 包括登录页面、注册页面、主页面; 对前端提交的数据,通过js进行合法性判断(用户名只能使用字母数字下划线组成,密码只能使用数字,注册时,两次输入的密码必须相同),不符合要求,不...
  • 本资源适合JAVA初学者,主要知识点是学会如何写文件读文件方法,理解集合的运用,以及方法的调用,系统还没有进行优化可以进一步优化,希望对所下载者有所帮助。
  • java 连接数据库实现用户登录功能 能运行成功,适合初学者借鉴学习。
  • 注册登录Javaswing

    2018-11-30 09:19:42
    通过swing画出界面,连接数据库,用户通过数据库验证正确之后方可登录
  • 使用JAVA实现图形用户化界面的用户登录系统
  • 首先,建立一个数据库,存储注册成功的账户信息。其SQL的DDL语句如下:示意图以下方法...注册验证用户名唯一性判断是否成功登录Java代码效果图底部的三个按钮分别用于进入登录界面、注册、清除注册信息。Java代码效果图
  • 在控制台中实现用户登录注册和增删改查,分享一下 在控制台中实现用户登录注册和增删改查,分享一下 在控制台中实现用户登录注册和增删改查,分享一下
  • 作业:用户登录注册系统,后台采用jsp + servlet + javabean技术实现,浏览器客户端采用ajax框架之jquery框架! 要求: 不能抄袭,没有分组,面向接口编程,不要迟到! 1、注册的信息: 用户名,密码,性别(下拉...
  • importjava.util.*;publicclassassignment{publicstaticvoidmain(String[]...//是否继续标识符do{//系统主菜单System.out.println("*****欢迎进入系统*****");Sy...import java.util.*;public class assignment {p...
  • java用户登录注册

    万次阅读 多人点赞 2019-08-16 11:03:45
    用户登录注册 案例需求 涉及知识点 面向对象,接口,Java序列化,HashMap,IO流 欢迎界面 public class BootStrap { public static void main(String[] args) { System.out.println("欢迎来到自动售货系统,请...
  • Java实现简单登录界面

    2020-08-09 13:46:43
    最近刚刚学习Java,试着做了一个简单的登录注册界面,只是点击按钮之后输出响应,并没有完成后续的跳转操作。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 313,378
精华内容 125,351
关键字:

java用户注册登录系统