「java用户登录功能」java登录功能的原理

博主:adminadmin 2023-03-22 02:15:08 813

本篇文章给大家谈谈java用户登录功能,以及java登录功能的原理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

求用java实现简单的登录和注册功能,主要是为了了解怎样对数据库进行增删改查。和各种请求处理,

//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;

}

}

}

如何用JAVA编写一个简单用户登陆界面?

什么都不说了 直接给你代码吧\x0d\x0apackage com.moliying.ui;\x0d\x0aimport java.awt.BorderLayout;\x0d\x0aimport java.awt.Container;\x0d\x0aimport java.awt.FlowLayout;\x0d\x0aimport java.awt.List;\x0d\x0aimport java.awt.event.ActionEvent;\x0d\x0aimport java.awt.event.ActionListener;\x0d\x0aimport java.io.BufferedWriter;\x0d\x0aimport java.io.FileOutputStream;\x0d\x0aimport java.io.OutputStreamWriter;\x0d\x0aimport java.util.ArrayList;\x0d\x0aimport java.util.Arrays;\x0d\x0aimport javax.swing.JButton;\x0d\x0aimport javax.swing.JFrame;\x0d\x0aimport javax.swing.JLabel;\x0d\x0aimport javax.swing.JPanel;\x0d\x0aimport javax.swing.JPasswordField;\x0d\x0aimport javax.swing.JTextField;\x0d\x0apublic class Login {\x0d\x0aprivate JFrame frame = new JFrame("登录");\x0d\x0aprivate Container c = frame.getContentPane();\x0d\x0aprivate JTextField username = new JTextField();\x0d\x0aprivate JPasswordField password = new JPasswordField();\x0d\x0aprivate JButton ok = new JButton("确定");\x0d\x0aprivate JButton cancel = new JButton("取消");\x0d\x0apublic Login() {\x0d\x0aframe.setSize(300, 200);\x0d\x0aframe.setBounds(450, 300, 300, 200);\x0d\x0ac.setLayout(new BorderLayout());\x0d\x0ainitFrame();\x0d\x0aframe.setVisible(true);\x0d\x0a}\x0d\x0aprivate void initFrame() {\x0d\x0a// 顶部\x0d\x0aJPanel titlePanel = new JPanel();\x0d\x0atitlePanel.setLayout(new FlowLayout());\x0d\x0atitlePanel.add(new JLabel("系统管理员登录"));\x0d\x0ac.add(titlePanel, "North");\x0d\x0a// 中部表单\x0d\x0aJPanel fieldPanel = new JPanel();\x0d\x0afieldPanel.setLayout(null);\x0d\x0aJLabel a1 = new JLabel("用户名:");\x0d\x0aa1.setBounds(50, 20, 50, 20);\x0d\x0aJLabel a2 = new JLabel("密 码:");\x0d\x0aa2.setBounds(50, 60, 50, 20);\x0d\x0afieldPanel.add(a1);\x0d\x0afieldPanel.add(a2);\x0d\x0ausername.setBounds(110, 20, 120, 20);\x0d\x0apassword.setBounds(110, 60, 120, 20);\x0d\x0afieldPanel.add(username);\x0d\x0afieldPanel.add(password);\x0d\x0ac.add(fieldPanel, "Center");\x0d\x0a// 底部按钮\x0d\x0aJPanel buttonPanel = new JPanel();\x0d\x0abuttonPanel.setLayout(new FlowLayout());\x0d\x0abuttonPanel.add(ok);\x0d\x0abuttonPanel.add(cancel);\x0d\x0ac.add(buttonPanel, "South");\x0d\x0a\x0d\x0aok.addActionListener(new ActionListener() {\x0d\x0a\x0d\x0a@Override\x0d\x0apublic void actionPerformed(ActionEvent e) {\x0d\x0aSystem.out.println(username.getText().toString());\x0d\x0a}\x0d\x0a});\x0d\x0a\x0d\x0acancel.addActionListener(new ActionListener() {\x0d\x0a\x0d\x0a@Override\x0d\x0apublic void actionPerformed(ActionEvent e) {\x0d\x0aframe.setVisible(false);\x0d\x0a}\x0d\x0a});\x0d\x0a}\x0d\x0apublic static void main(String[] args) {\x0d\x0a//new Login();\x0d\x0a\x0d\x0aString ss = "abbabbbaabbbccba";\x0d\x0a\x0d\x0aSystem.out.println(ss.split("b").length);\x0d\x0a\x0d\x0a}\x0d\x0a}

JAVA问题:实现用户登录身份验证功能拜托了各位 谢谢

这是问题1后台的,我实在不愿意从头到尾都帮你写了,希望这段代码能给你启发,有问题可以问,可是你这样把所有问题都抛出来,实在对你的学习不利,希望你明白这个道理 package com.long1; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class MyJdbc { private Connection con = null; private PreparedStatement ps = null; private Statement st = null; private ResultSet rs = null; private String url = "jdbc:mysql://localhost:3306/snake_db1"; private String name = "root"; private String pass = "123456789"; private String driver = "com.mysql.jdbc.Driver"; public MyJdbc() { try { Class.forName(driver); } catch (Exception e) { e.printStackTrace(); } } private void open() { try { con = DriverManager.getConnection(url, name, pass); } catch (Exception e) { e.printStackTrace(); } } public ListLogin query() { ArrayListLogin arr = null; try { open(); st = con.createStatement(); rs = st.executeQuery("select * from login where flag!=0"); Login l = null; arr = new ArrayListLogin(); while (rs.next()) { l = new Login(); l.setId(rs.getInt(1)); l.setName(rs.getString(2)); l.setPass(rs.getString(3)); l.setFlag(rs.getString(4)); arr.add(l); } } catch (Exception e) { e.printStackTrace(); } finally { close(); } return arr; } public boolean check(String name, String pass) { boolean flag = false; try { open(); ps = con.prepareStatement("select id from login where name=? and pass=? and flag!=0"); ps.setString(1, name); ps.setString(2, pass); rs = ps.executeQuery(); if (rs.next()) { flag = true; } } catch (Exception e) { e.printStackTrace(); } finally { close(); } return flag; } private void close() { try { if (rs != null) { rs.close(); rs = null; } if (ps != null) { ps.close(); ps = null; } if (con != null) { con.close(); con = null; } } catch (Exception e) { e.printStackTrace(); } } }

JAVA中基于C/S的登录功能怎样实现

1,客户端发送LoginRequestKeyMessage,告诉服务器准备登陆,并期望得到公钥。

2,服务器收到LoginRequestKeyMessage后,发送公钥key给客户端。

3,客户端保存公钥key后随机生成一个大整数,并将hash后的值clientNonce发给服务端。

4,服务端收到clientNonce,并随机生成一个大整数,然后照样将它hash后的值serverNonce发给客户端。

5,客户端收到serverNonce,此时此刻,客户端和服务端都有了一致的【clientNonce,serverNonce】且这对值每次登陆都不一样,因为都是由随机大整数hash而来。

6,服务器收到cryptedPassword.....然后就是查询数据库验证。

java语言实现用户注册和登录

//这个是我写的,里面有连接数据库的部分。你可以拿去参考一下

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.sql.*;

class LoginFrm extends JFrame implements ActionListener// throws Exception

{

JLabel lbl1 = new JLabel("用户名:");

JLabel lbl2 = new JLabel("密码:");

JTextField txt = new JTextField(5);

JPasswordField pf = new JPasswordField();

JButton btn1 = new JButton("确定");

JButton btn2 = new JButton("取消");

public LoginFrm() {

this.setTitle("登陆");

JPanel jp = (JPanel) this.getContentPane();

jp.setLayout(new GridLayout(3, 2, 5, 5));

jp.add(lbl1);

jp.add(txt);

jp.add(lbl2);

jp.add(pf);

jp.add(btn1);

jp.add(btn2);

btn1.addActionListener(this);

btn2.addActionListener(this);

}

public void actionPerformed(ActionEvent ae) {

if (ae.getSource() == btn1) {

try {

Class.forName("com.mysql.jdbc.Driver");// mysql数据库

Connection con = DriverManager.getConnection(

"jdbc:mysql://localhost/Car_zl", "root", "1");// 数据库名为Car_zl,密码为1

System.out.println("com : "+ con);

Statement cmd = con.createStatement();

String sql = "select * from user where User_ID='"

+ txt.getText() + "' and User_ps='"

+ pf.getText() + "'" ;

ResultSet rs = cmd

.executeQuery(sql);// 表名为user,user_ID和User_ps是存放用户名和密码的字段名

if (rs.next()) {

JOptionPane.showMessageDialog(null, "登陆成功!");

} else

JOptionPane.showMessageDialog(null, "用户名或密码错误!");

} catch (Exception ex) {

}

if (ae.getSource() == btn2) {

System.out.println("1111111111111");

//txt.setText("");

//pf.setText("");

System.exit(0);

}

}

}

public static void main(String arg[]) {

JFrame.setDefaultLookAndFeelDecorated(true);

LoginFrm frm = new LoginFrm();

frm.setSize(400, 200);

frm.setVisible(true);

}

}

关于java用户登录功能和java登录功能的原理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。