這是12年前我在校創新中心寫的代碼(見下圖,紅框中一個Java類文件最后編輯時間為 2012/4/28 21:24)。

記得這是一個SE構建的學生信息管理系統,其中登陸模塊的部分代碼,我摘錄如下,現在看來漏洞百出,哈哈,表噴啊,這也是我的過去:
package com.global.xxl.studentinfo.control;
import java.awt.event.*;
import com.global.xxl.studentinfo.db.DbLogin;
import com.global.xxl.studentinfo.ui.UiLogin;
import com.global.xxl.studentinfo.ui.UiRegister;
/**
*
* 控制登陸界面(UiLOGIN)的操作
*
*/
public class ControlLogin implements ActionListener
{
public static UiRegister register;
public void actionPerformed(ActionEvent e)
{
//登陸按鈕對應的方法
if(e.getActionCommand().equals("登陸"))
{
System.out.println("登陸");
new DbLogin();
//UI_01 ui=new UI_01();
}
//取消按鈕對應的方法
if(e.getActionCommand().equals("取消"))
{
System.out.println("取消");
//清空文本框
UiLogin.jtf.setText("");
UiLogin.jpf.setText("");
}
//注冊按鈕對應的方法
if(e.getActionCommand().equals("注冊"))
{
System.out.println("注冊");
register =new UiRegister();
}
//退出按鈕對應的方法
if(e.getActionCommand().equals("退出"))
{
System.out.println("退出");
//關閉窗口
System.exit(0);
}
}
}
package com.global.xxl.studentinfo.ui;
import java.awt.*;
import javax.swing.*;
import com.global.xxl.studentinfo.control.ControlLogin;
/**
*
* 顯示《學生信息管理系統——登陸界面》
*/
public class UiLogin extends JFrame
{
/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel jp1,jp2,jp3;
private JLabel jlb1,jlb2;
public static JTextField jtf;
public static JPasswordField jpf;
private JButton jb1,jb2,jb3,jb4;
private ControlLogin bh; //調用控制(監聽)類
public static UiLogin login;
public static void main(String[] args)
{
login=new UiLogin();
}
public UiLogin(){
jp1=new JPanel();
jp2=new JPanel();
jp3=new JPanel();
jlb1=new JLabel("用戶名");
jlb2=new JLabel("密 碼");
jtf=new JTextField(10);
jpf=new JPasswordField(10);
jb1=new JButton("登陸");
jb2=new JButton("取消");
jb3=new JButton("注冊");
jb4=new JButton("退出");
bh=new ControlLogin(); //監聽
jb1.addActionListener(bh);
jb2.addActionListener(bh);
jb3.addActionListener(bh);
jb4.addActionListener(bh);
this.setLayout(new GridLayout(3,1,10,10));
jp1.add(jlb1);
jp1.add(jtf);
jp2.add(jlb2);
jp2.add(jpf);
jp3.add(jb1);
jp3.add(jb2);
jp3.add(jb3);
jp3.add(jb4);
this.add(jp1);
this.add(jp2);
this.add(jp3);
this.setTitle("用戶登錄");
this.setBounds(900,300,300,175);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
package com.global.xxl.studentinfo.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.global.xxl.studentinfo.ui.UiLogin;
import com.global.xxl.studentinfo.ui.UiLoginFailure;
import com.global.xxl.studentinfo.ui.UiFunction;
/**
*
* 登陸界面(UiLOGIN)連接數據庫的類
*
*/
public class DbLogin
{
public DbLogin()
{
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost;databaseName=person";
String username = "sa";
String password = "111111";
Connection cn = null; //創建連接
Statement st = null; //創建Statement用來發送語句
String sql; //sql語句
ResultSet rs = null; //返回結果集
//用戶名和密碼對比數據庫
try{
Class.forName(driver); //加載驅動
System.out.println("加載驅動成功");
cn = DriverManager.getConnection(url,username,password); //創建連接
System.out.println("連接成功。");
}catch(Exception e1)
{
e1.printStackTrace();
}
//對比數據庫
try{
st = cn.createStatement(); //創建Statement用來發送語句
sql = "select * from login where id='"+UiLogin.jtf.getText()+"'";
System.out.println(sql);
rs = st.executeQuery(sql);
while (rs.next())
{
String getid=rs.getString("id");
String getpass=rs.getString("password");
String text=UiLogin.jtf.getText();
@SuppressWarnings("deprecation")
String pass=UiLogin.jpf.getText();
if(text.equals(getid) &&pass.equals(getpass)) //登陸成功
{
UiLogin.login.dispose();
new UiFunction();
}
else
{
UiLogin.login.dispose();
new UiLoginFailure();
}
}
}catch(Exception e2)
{
e2.printStackTrace();
}
try //關閉資源
{
rs.close();
st.close();
cn.close();
System.out.println("關閉資源成功");
} catch (SQLException e1)
{
e1.printStackTrace();
}
}
public void main(String args[])
{
}
}
編輯於:2016-05-13 20:14
