不知不觉我已经写了四年代码,贴一下四年前的代码,表喷哈

这是四年前我在校创新中心写的代码(见下图,红框中一个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

时间: 2024-10-30 12:59:22

不知不觉我已经写了四年代码,贴一下四年前的代码,表喷哈的相关文章

排序算法分析【四】:冒泡排序(附Python&C++代码)

基本原理 冒泡排序(Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端. 这样说还不是很明白,先看张图: 算法步骤: 1)比较相邻的元素.如果第一个比第二个大,就交换他们两个: 2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.

编译原理实战入门:用 JavaScript 写一个简单的四则运算编译器(四)结语

四则运算编译器,虽然说功能很简单,只能编译四则运算表达式.但是编译原理前端部分几乎都有涉及,词法分析,语法分析,还有代码生成. 再复杂的编译器.再简单的编译器,功能上是差不多的,只是复杂的编译器实现上会更困难. 这个系列的文章是为了帮助你入门,在这个基础上再去看编译原理相关书籍,不至于打瞌睡. 如果你对编译原理很有兴趣,并且想更深一步的学习,在这里强烈推荐你看一本书--我心目中的神书--<计算机系统要素-从零开始构建现代计算机>. 这本书神在哪? 神在它通俗易懂,对小白足够友好,但又不过分肤浅

(转)花20分钟写的-大白话讲解如何给github上项目贡献代码

本文献给对git很迷茫的新手,注意是新手,但至少会点基本操作,有点基本概念的新手,我不会从怎么用github和git是什么开始讲的.如果作为新手你看书又看不进去,原理又太复杂,有没有直接了当告诉我们怎么给项目贡献代码,并和项目同步代码的大体流程.于是我快速写了这么个东西.一来整理下自己混乱的思路,二来想号召大家一起用git开发点东西,可是好几个同鞋只会寂寞的给自己push. 我先说下 我之前对github操作的一些迷茫历程,然后之后是怎么解惑的. 1. 最最开始,我以为git clone [项目

写的一个段落标签文字内容两端对齐的代码

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="

freemarker写select组件报错总结(四)

1.错误描述 <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>freemarker 下拉框</title> </head> <body> Error parsing imported template inc/select.ftl The problema

大神手把手教你写一个页面模板引擎,只需20行Javascript代码!

只用20行Javascript代码就写出一个页面模板引擎的大神是AbsurdJS的作者,下面是他分享的全文,转需. 不知道你有木有听说过一个基于Javascript的Web页面预处理器,叫做AbsurdJS.我是它的作者,目前我还在不断地完善它.最初我只是打算写一个CSS的预处理器,不过后来扩展到了CSS和HTML,可以用来把Javascript代码转成CSS和HTML代码.当然,由于可以生成HTML代码,你也可以把它当成一个模板引擎,用于在标记语言中填充数据. 于是我又想着能不能写一些简单的代

写代码的指导思想:如何写出易测、清晰、健壮的牢固代码

背景 写出 BUG 不算糟糕,给人埋坑,让别人写出 BUG ,耗时耗力才更令人讨厌.要想不写出 BUG, 不埋坑,需要用心写出 "易测.清晰.健壮" 的牢固的代码.95% 的代码,能做到这一点,就可以保证几乎无问题了:3%的代码能做到"可复用.可扩展",善莫大焉! 本文结合之前的经历和案例,探讨如何写出"易测.清晰.健壮"的代码. 代码三性 代码的基本标准是:易测.清晰.健壮. 易测 易测,是说代码容易测试.写代码的第一思想是:不要对代码过于自信

初识mac,写给mac新手的入门指南(四)Mac小白装机必备

花了好几天的时间翻了各种帖子,发现大多都是各种高大上,不太适合新手,所以打算自己写篇,尽量详细一点,希望对大家有用.此次推荐都是适合mac新手,适合大多数人平时会使用的apps,欢迎补充! https://www.macdown.com 此次推荐的有以下app: 网易云音乐 小编也是网易云忠实粉,多少个辗转反侧又无眠的夜都是和网易云音乐的各类评论一起度过,人家都说在网易云听歌,听的是故事!! IINA(视频播放器) 这款app应用商店没有,但是看很多人推荐所以小编也下下来用了,是免费哒.目看来还

关于是否要有代码规范的四种观点的看法

1.这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 答:代码规范是为了统一代码的风格和形式,方便所有人理解,这实际上降低了维护和更新软件的时间好成本. 2.我是个艺术家,手艺人,我有自己的规范和原则. 答:就算自认为是艺术家,编程的艺术也不是通过一些小的规范和形式表现出来的.服从一种代码规范并不会限制一个程序员的创造力. 3.规范不能强求一律,应该允许很多例外. 答:根据某些项目的特别需要,可以有一些针对这些项目优化过的代码规范,但大部分项目应该仍然通用一种