java簡單用戶注冊代碼 java注冊功能怎么實現(xiàn)

用java寫一個手機商城注冊界面代碼

這篇文章主要介紹了java通過JFrame做一個登錄系統(tǒng)的界面完整代碼示例,具有一定借鑒價值,需要的朋友可以參考下。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、旅順口網(wǎng)站維護、網(wǎng)站推廣。

在java的JFrame內(nèi)通過創(chuàng)建匿名對象的方式做登錄界面

package com.sxt;

import java.awt.Container;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

public class LoginFrame extends JFrame{

JTextField txtname=new JTextField();

JPasswordField txtpass=new JPasswordField();

JButton bl=new JButton("登錄");

JButton bg=new JButton("關(guān)閉");

//構(gòu)造無參構(gòu)造器把主要的方法放在構(gòu)造器里,然后在main方法里面調(diào)

public LoginFrame(){

setBounds(25,25,250,250);

Container c = getContentPane();

c.setLayout(new GridLayout(4,2,10,10));

c.add(new JLabel("用戶名"));

c.add(txtname);

c.add(new JLabel("密碼"));

c.add(txtpass);

c.add(bl);

c.add(bg);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);

//注意:此處是匿名內(nèi)部類

bg.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

System.exit(0);

}

}

);

//注意:此處是匿名內(nèi)部類

bl.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

java注冊用戶名不能重復(fù)代碼

首先,我們得明白用戶登錄使用什么登陸的,即用戶在線的原理。這只是將用戶的對象存放在了session中而已,然后再frame中進行調(diào)用,其他特定頁面也進行直接引用就行。那么實現(xiàn)“擠下來”的功能就是讓新生成的session有效,讓原來存放用戶的session失效就行。到此,大體思路已經(jīng)有了。那怎么實現(xiàn)呢?

想要知道怎么實現(xiàn),就必須要明白session存放用戶對象的過程了。在用戶登錄之后,我們可以得到用戶的對象user,而存放到session中需要執(zhí)行session.setAttribute(key,value); 我們將用戶的userId或是其他的唯一標識存為key,將用戶對象存為值。這樣就能隨時隨地調(diào)用唯一用戶了。user存放的問題解決了,那相同 登錄 時session廢除的問題呢?

?

這個其實也不難,我們可以更具session的特性一樣,用map進行存貯,將用戶的標識存為key,而將其所對應(yīng)的session存為value,那么當重復(fù)用戶登錄時,只需要取出對應(yīng)的session,將其invalidate就行了。

至此,實現(xiàn)思路已經(jīng)明了,聒噪了這么久,大家都急不可耐地想看代碼了吧?以下是代碼:

前置準備,jsp界面

界面很簡單,只是一個簡單的登錄界面

form action ="%=request.getContextPath()%/UserWXPServlet" method = "post"

用戶名?input type = "text" name = "username"/br/

密碼?input type = "text" name = "password"/br/

input type = "submit" value ="提交"/

/form

成功后跳轉(zhuǎn)頁面

歡迎:${sessionScope.user.username}登陸!br/

我這沒有寫失敗頁面,大家可以自己寫,失敗頁面也沒什么好說的了

entity和登錄的實現(xiàn)

user的javabean

private String username;

private String password;

public User() {

}

public User(String user, String password) {

super();

this.username = user;

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;

}

登錄user的service實現(xiàn)方法,這里就不寫dao和接口了,一切以簡單為

public boolean dologin(User user){

Properties pro = new Properties();

InputStream is = UserWXPServlet.class.getClassLoader().getResourceAsStream("user_wxp.properties");

String password = null;

System.out.println(is+"---------"+pro);

if(user==null){

return false;

}

try {

pro.load(is);

password = pro.getProperty(user.getUsername());

if(user.getPassword()!=nulluser.getPassword().equals(password)){

System.out.println("登陸成功");

return true;

}

} catch (IOException e) {

e.printStackTrace();

}finally{

if(is!=null){

try {

is.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

return false;

}

登錄成功返回true,失敗則返回false。

java編寫登陸注冊頁面(簡單一點的,連接數(shù)據(jù)庫)

這是我自己做的一個管理系統(tǒng)的登錄界面,代碼雖然有點繁瑣,不過簡單易懂,你根據(jù)自己的需要進行修改吧。

import java.awt.Dimension;

import java.awt.GridLayout;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.swing.JDialog;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

/**

*

* @author mzhe

*

*/

class Loginfrm extends JDialog implements ActionListener

{

JLabel l_name,l_pass,l_error;

JTextField t_name;

JButton b_enter,b_cancle,b_clear;

JPanel pan1,pan2,pan3,pan4;

JPasswordField t_pass;

String sname,spass;

int sunit;

NetConn sql;

Statement sqll;

ResultSet rs;

Librarybox lbox;

int until=0;

Loginfrm(JFrame f,String s)

{

//界面布局

super(f,s);

l_name=new JLabel("名字:");

l_pass=new JLabel("密碼:");

l_error=new JLabel("請輸入用戶名和密碼登錄");

t_name=new JTextField("",10);

t_pass=new JPasswordField("",10);

t_pass.setEchoChar('*');

b_enter=new JButton("確定");

b_enter.addActionListener(this);

b_cancle=new JButton("取消");

b_cancle.addActionListener(this);

b_clear=new JButton("清除");

b_clear.addActionListener(this);

pan1=new JPanel();

pan2=new JPanel();

pan3=new JPanel();

pan4=new JPanel();

pan1.add(l_name);pan1.add(t_name);

pan2.add(l_pass);pan2.add(t_pass);

pan3.add(l_error);

pan4.add(b_enter);pan4.add(b_cancle);pan4.add(b_clear);

setLayout(new GridLayout(4,1));

add(pan1);add(pan2);add(pan3);add(pan4);

//建立數(shù)據(jù)庫連接

sql=new NetConn();

//設(shè)置窗口大小

setSize(300,300);

setVisible(false);

//得到屏幕信息以便使框架居中顯示

Dimension screeSize = Toolkit.getDefaultToolkit().getScreenSize();

int screeWidth=screeSize.width;

int screeHeight=screeSize.height;

//得到框架的大小信息

Dimension frameSize=this.getSize();

int x=(screeWidth-frameSize.width)/2;

int y=(screeHeight-frameSize.height)/2;

this.setLocation(x, y);

}

public void actionPerformed(ActionEvent e)

{

//單擊確定按鈕的事件處理程序

if(e.getSource()==b_enter)

{

//如果連續(xù)登錄次數(shù)小于4

if(until=4)

{

//如果用戶名或者密碼為空,將顯示提示信息

if(t_name.getText().equals("")||t_pass.getText().equals(""))

{

l_error.setText("用戶名和密碼不能為空");

}

else

{

try

{

sqll=sql.connect();

//根據(jù)用戶名查詢

rs=sqll.executeQuery("SELECT * FROM users where username="+"'"+t_name.getText()+"'");

//遍歷查詢得到的結(jié)果集

while(rs.next())

{

sname=rs.getString(2);

spass=rs.getString(3);

//得到登錄用戶的級別

sunit=Integer.parseInt(rs.getString(4));

//如果密碼正確

if(t_pass.getText().equals(spass))

{

//判斷用戶的級別,根據(jù)不同的級別,顯示不同的菜單

switch(sunit)

{

case 1:

{

l_error.setText("登錄成功");

t_name.setText("");

t_pass.setText("");

lbox=new Librarybox();

lbox.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

lbox.setResizable(false);

lbox.bookfi.setEnabled(true);

lbox.bookse.setEnabled(true);

lbox.bookth.setEnabled(true);

lbox.bookfo.setEnabled(true);

lbox.mi_system_manger.setEnabled(true);

lbox.mi_system_login.setEnabled(false);

lbox.setVisible(true);

this.dispose();

break;

}

case 2:

{

l_error.setText("登錄成功");

t_name.setText("");

t_pass.setText("");

lbox=new Librarybox();

lbox.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

lbox.setResizable(false);

lbox.bookfi.setEnabled(false);

lbox.bookse.setEnabled(false);

lbox.bookth.setEnabled(true);

lbox.bookfo.setEnabled(false);

lbox.mi_system_manger.setEnabled(false);

lbox.mi_system_login.setEnabled(false);

lbox.setVisible(true);

this.dispose();

break;

}

case 3:

{

l_error.setText("登錄成功");

t_name.setText("");

t_pass.setText("");

lbox=new Librarybox();

lbox.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

lbox.setResizable(false);

lbox.bookfi.setEnabled(true);

lbox.bookse.setEnabled(false);

lbox.bookth.setEnabled(false);

lbox.bookfo.setEnabled(true);

lbox.mi_system_manger.setEnabled(false);

lbox.mi_system_login.setEnabled(false);

lbox.fi_msglabel_user.setEnabled(false);

lbox.setVisible(true);

this.dispose();

break;

}

}

}

else

{

l_error.setText("用戶名或密碼錯誤!");

until++;

}

}

}

catch(SQLException e2)

{

e2.printStackTrace();

}

}

}

//超出登錄次數(shù)

else

{

l_error.setText("你已經(jīng)超出登錄次數(shù)");

t_name.setEnabled(false);

t_pass.setEnabled(false);

b_enter.setEnabled(false);

b_clear.setEnabled(false);

}

}

//單擊清除按鈕的事件處理程序

else if(e.getSource()==b_clear)

{

t_name.setText("");

t_pass.setText("");

l_error.setText("請輸入用戶名和密碼登錄");

}

//單擊取消按鈕的事件處理程序

else if(e.getSource()==b_cancle)

{

dispose();

}

}

}

如果你比較認可的話,請采納吧,不給分也沒關(guān)系。只希望對你有用。

如何用Java編寫用戶注冊界面?

界面建議用可視化來做,美觀且便捷。下面這個是完全用代碼寫的,僅供參考。

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

import java.sql.*;

public class Register extends JFrame {

JLabel jl1 = new JLabel("用戶名");

JTextField jt1 = new JTextField();

JLabel jl2 = new JLabel("郵箱");

JTextField jt2 = new JTextField();

JLabel jl3 = new JLabel("密碼");

JPasswordField jpw1 = new JPasswordField();

JLabel jl4 = new JLabel("密碼確認");

JPasswordField jpw2 = new JPasswordField();

JButton register = new JButton("注冊");

JButton clean = new JButton("清空");

public Register(){

setLayout(new GridLayout(5,2));

add(jl1);

add(jt1);

add(jl2);

add(jt2);

add(jl3);

add(jpw1);

add(jl4);

add(jpw2);

add(register);

add(clean);

String name = jt1.getText();

String email = jt2.getText();

String pw = jpw1.getText();

register.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

try{

Class.forName("com.mysql.jdbc.Driver");

Connection con = DriverManager.getConnection("jdbc:mysql://localhost/db","root","");

Statement sta = con.createStatement();

sta.executeUpdate("INSERT INTO register VALUES(name,email,pw)");

JOptionPane.showMessageDialog(null,"注冊成功","提示",JOptionPane.INFORMATION_MESSAGE);

}

catch(Exception ex){

ex.getStackTrace();

}

}

});

clean.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

jt1.setText("");

jt2.setText("");

jpw1.setText("");

jpw2.setText("");

}

});

}

public static void main(String[] args){

Register frame = new Register();

frame.setTitle("用戶注冊");

frame.setLocationRelativeTo(null);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(400,400);

frame.setVisible(true);

}

}

求用java實現(xiàn)簡單的登錄和注冊功能,主要是為了了解怎樣對數(shù)據(jù)庫進行增刪改查。和各種請求處理,

//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()+"登陸");

}

}

}

//注冊界面,要判斷 登陸名是否有重復(fù),有重復(fù)則注冊失敗。有點小疑問,已用注釋標出來

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;

//判斷登陸名是否已經(jīng)存在

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());

//判斷登陸名是否已經(jīng)存在

s =

conn.createStatement();

rs =

s.executeQuery(sql_ck);

while(rs.next()){//為什么用 rs.getString(2)會提示

無效的索引呢

if( rs.getString("LOGINNAME").equals(u.getLoginname())

){

System.out.println("登陸名已經(jīng)存在,注冊失敗");

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界面//

//數(shù)據(jù)庫中表的結(jié)構(gòu)式這樣

//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簡單用戶注冊代碼 java注冊功能怎么實現(xiàn)
當前網(wǎng)址:http://muchs.cn/article4/dossioe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗網(wǎng)站維護、微信小程序定制開發(fā)、網(wǎng)站收錄、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)