java登陸,java登陸界面代碼

本文目錄一覽:

怎麼用JAVA寫一個用戶登入程序

同意樓上的說法,具體點可以這樣:創建一個用戶表,裡邊包括LoginName(登錄名),UserName(用戶名),Password(密碼),Age(年齡),Address(地址)。然後編寫Java程序(用MVC架構)模型層(M):DBConnection.java(負責連接數據庫)

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.*;

public class DBConnection {

private static final String DRIVER_CLASS = “sun.jdbc.odbc.JdbcOdbcDriver”;

private static final String DB_URL = “jdbc:odbc:text”;

public DBConnection() {

}

public static Connection getConnection() {

Connection conn = null;

try {

Class.forName(DRIVER_CLASS);

conn = DriverManager.getConnection(DB_URL);

} catch (SQLException ex) {

System.out.println(ex.getMessage());

} catch (ClassNotFoundException ex) {

System.out.println(ex.getMessage());

}

return conn;

}

}

第2個負責數據庫查詢操作的類:DBUserManager.java

import edu.systop.text.model.entity.User;

import edu.systop.text.model.dao.DBConnection;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.DriverManager;

import java.sql.*;

public class DBUserManager {

private static final String SQL_SELECT =

“SELECT LoginName,UserName,PassWord,Age,Address FROM UserInfo WHERE LoginName = ? AND PassWord = ?”;

public DBUserManager() {

}

public boolean checkDB(User u) {

boolean b = false;

Connection conn = null;

PreparedStatement psmt = null;

ResultSet rs = null;

conn = DBConnection.getConnection();

try {

psmt = conn.prepareStatement(SQL_SELECT);

psmt.setString(1, u.getLoginName());

psmt.setString(2, u.getPassWord());

rs = psmt.executeQuery();

b = rs.next();

if (rs.next()) {

b = true;

}

} catch (SQLException ex) {

System.out.println(ex.getMessage());

} finally {

cleanDB(rs, psmt, conn);

}

return b;

}

public User checkBC(User u) {

Connection conn = null;

PreparedStatement psmt = null;

ResultSet rs = null;

User tmp = new User();

conn = DBConnection.getConnection();

try {

psmt = conn.prepareStatement(SQL_SELECT);

psmt.setString(1, u.getLoginName());

psmt.setString(2, u.getPassWord());

rs = psmt.executeQuery();

if (rs.next()) {

tmp.setLoginName(rs.getString(1));

tmp.setUserName(rs.getString(2));

tmp.setAge(rs.getInt(4));

tmp.setAddress(rs.getString(5));

}

} catch (SQLException ex) {

System.out.println(ex.getMessage());

} finally {

cleanDB(rs, psmt, conn);

}

return tmp;

}

public void cleanDB(ResultSet rs, PreparedStatement psmt, Connection conn) {

try {

if (rs != null) {

rs.close();

}

if (psmt != null) {

psmt.close();

}

if (conn != null) {

conn.close();

}

} catch (SQLException ex) {

System.out.println(ex.getMessage());

}

}

第3個實體用戶類:User.java

package edu.systop.text.model.entity;

public class User {

private String loginName;

private String userName;

private String passWord;

private int age;

private String address;

public User() {

}

public void setLoginName(String loginName) {

this.loginName = loginName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public void setPassWord(String passWord) {

this.passWord = passWord;

}

public void setAge(int age) {

this.age = age;

}

public void setAddress(String address) {

this.address = address;

}

public String getLoginName() {

return loginName;

}

public String getUserName() {

return userName;

}

public String getPassWord() {

return passWord;

}

public int getAge() {

return age;

}

public String getAddress() {

return address;

}

}

然後編寫控制層(C):GetInfoServlet.java

package edu.systop.text.control;

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

import edu.systop.text.model.entity.User;

import edu.systop.text.model.service.UserManager;

public class GetInfoServlet extends HttpServlet {

private static final String CONTENT_TYPE = “text/html; charset=GBK”;

//Initialize global variables

public void init() throws ServletException {

}

//Process the HTTP Get request

public void doGet(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

}

//Process the HTTP Post request

public void doPost(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

String loginName = request.getParameter(“loginName”);

String passWord = request.getParameter(“passWord”);

User u = new User();

u.setLoginName(loginName);

u.setPassWord(passWord);

UserManager m = new UserManager();

RequestDispatcher d;

if (m.checkUser(u)) {

User o = m.checkBC(u);

request.setAttribute(“JavaBEAN”,o);

d = request.getRequestDispatcher(“GetInfoUser.jsp”);

} else {

d = request.getRequestDispatcher(“GetInfoFinale.jsp”);

}

d.forward(request, response);

}

//Clean up resources

public void destroy() {

}

}

最後,創建表示層(V):包括3個Jsp(登錄頁面GetInfo.jsp、登錄成功頁面GetInfoUser.jsp、登錄失敗頁面GetInfoFinale.jsp)

上面的就是Jsp結合Servlet用MVC架構寫的用戶登錄程序。

java怎樣實現登錄驗證

1.打開編程工具:

打開java編程的界面,採用的是eclipse軟件;

2

2.建立一個java工程:

簡潔操作如下:單擊「file」-「new」-「java project」;

然後,在工程菜單中選中工程,單擊鼠標右鍵出出來菜單,依次選中「new」-「class」;

具體查看「 eclipse如何建立一個java工程」;

0eclipse如何建立一個java工程

END

2.代碼實現步驟

1.建立輸入掃描:

採用java中的Scanner類實現輸入數據的獲取,具體代碼如下;

Scanner scan = new Scanner(System.in);

2.接收用戶名:

建立一個提示信息,提示輸入用戶名,並儲存輸入的用戶名,代碼如下:

System.out.println(“請輸入登陸用戶名:”);

String usename=scan.nextLine();

3.接收密碼:

建立一個提示信息,提示輸入密碼,並存儲輸入的密碼,代碼如下:

System.out.println(“請輸入登陸的密碼:”);

String password=scan.nextLine();

4.驗證信息:

採用if else語句來實現對用戶名和密碼的驗證,並打印提示信息,代碼如下:

if(!usename.equals(“me”)){

System.out.println(“用戶名非法。”);

}else if(!password.equals(“123456”)){

System.out.println(“登陸密碼錯誤。”);

}else{

System.out.println(“恭喜您,登陸信息通過驗證。”);

}

用java怎麼實現QQ登錄界面?

用java做QQ登錄界面的寫法如下:

package ch10;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

1、//定義該類繼承自JFrame,實現ActionListener接口

public class LoginTest extends JFrame implements ActionListener

{

2、//創建JPanel對象

private JPanel jp=new JPanel();

3、//創建3個標並加入數組

JLabel name = new JLabel(“請輸入用戶名”);

JLabel password = new JLabel(“請輸入密碼”);

JLabel show = new JLabel(“”);

private JLabel[] jl={name,password,show};

4、//創建登陸和重置按扭並加入數組

JButton login = new JButton(“登陸”);

JButton reset = new JButton(“重置”);

private JButton[] jb={login,reset};

5、//創建文本框以及密碼框

private JTextField jName=new JTextField();

private JPasswordField jPassword =new JPasswordField();

public LoginTest()

{

6、//設置布局管理器為空布局,這裡自己擺放按鈕、標籤和文本框

jp.setLayout(null);

for(int i=0;i2;i++)

{

7、//設置標籤和按扭的位置與大小

jl[i].setBounds(30,20+40*i,180,20);

jb[i].setBounds(30+110*i,100,80,20);

8、//添加標籤和按扭到JPanel容器中

jp.add(jl[i]);

jp.add(jb[i]);

//為2個按鈕註冊動作事件監聽器

jb[i].addActionListener(this);

}

9、//設置文本框的位置和大小,注意滿足美觀並足夠用戶名的長度

jName.setBounds(130,15,100,20);

10、//添加文本框到JPanel容器中

jp.add(jName);

11、//為文本框註冊動作事件監聽器

jName.addActionListener(this);

12、//設置密碼框的位置和大小,注意滿足美觀和足夠密碼的長度

jPassword.setBounds(130,60,100,20);

13、//添加密碼框到JPanel容器中

jp.add(jPassword);

14、//設置密碼框中的回顯字符,這裡設置美元符號

jPassword.setEchoChar(‘$’);

15、//為密碼框註冊動作事件監聽器

jPassword.addActionListener(this);

16、//設置用於顯示登陸狀態的標籤大小位置,並將其添加進JPanel容器

jl[2].setBounds(10,180,270,20);

jp.add(jl[2]);

17、//添加JPanel容器到窗體中

this.add(jp);

18、//設置窗體的標題、位置、大小、可見性及關閉動作

this.setTitle(“登陸窗口”);

this.setBounds(200,200,270,250);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

19、//實現動作監聽器接口中的方法actionPerformed

public void actionPerformed(ActionEvent e)

{

20、//如果事件源為文本框

if(e.getSource()==jName)

{

21、//切換輸入焦點到密碼框

jPassword.requestFocus();

}

22、//如果事件源為重置按扭

else if(e.getSource()==jb[1])

{

23、//清空姓名文本框、密碼框和show標籤中的所有信息

jl[2].setText(“”);

jName.setText(“”);

jPassword.setText(“”);

24、//讓輸入焦點回到文本框

jName.requestFocus();

}

25、//如果事件源為登陸按鈕,則判斷登錄名和密碼是否正確

else

{

26、//判斷用戶名和密碼是否匹配

if(jName.getText().equals(“lixiangguo”)

String.valueOf(jPassword.getPassword()).equals(“19801001”))

{

27、jl[2].setText(“登陸成功,歡迎您的到來!”);

}

else

{

28、jl[2].setText(“對不起,您的用戶名或密碼錯誤!”);

}

}

}

public static void main(String[] args)

{

29、//創建LoginTest窗體對象

new LoginTest();

}

}

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登陸器:通過用戶名將密碼注釋,比如:admin’–,或者傳說的萬能密碼等等,不過現在打都是用的框架處理,或者防SQL注入很到位。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/242764.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:52
下一篇 2024-12-12 12:52

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29

發表回復

登錄後才能評論