⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userlogin.java

📁 是Eclipse web开发从入门到精通的源码
💻 JAVA
字号:
package library.user;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import library.hibernate.UserTable;
import library.main.HibernateUtil;
import library.main.LibraryWindow;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

/**
 * 用户登录类,根据用户名和密码查询用户相应的权限
 * 
 * @author lianhw
 * 
 */
public class UserLogin extends JFrame implements ActionListener {

	LibraryWindow libraryWindow;

	JPanel panel1, panel2;

	JLabel userNameLabel, passwordLabel;

	JTextField userNameText;

	JPasswordField passwordText;

	JButton yesButton, cancelButton;

	Container container;

	ResultSet rs;

	public UserLogin(LibraryWindow mainFrame) {
		super("用户登录");
		this.libraryWindow = mainFrame;
		// “用户名”标签
		userNameLabel = new JLabel("用户名", JLabel.CENTER);
		// “密码”标签
		passwordLabel = new JLabel("密码", JLabel.CENTER);
		// 用户名输入框
		userNameText = new JTextField(10);
		// 密码输入框
		passwordText = new JPasswordField(10);
		// “确定”按钮
		yesButton = new JButton("确定");
		// “取消”按钮
		cancelButton = new JButton("取消");
		// 为“确定”按钮增加事件监听者
		yesButton.addActionListener(this);
		// 为“取消”按钮增加事件监听者
		cancelButton.addActionListener(this);
		panel1 = new JPanel();
		panel1.setLayout(new GridLayout(2, 2));
		panel2 = new JPanel();
		container = getContentPane();
		container.setLayout(new BorderLayout());
		panel1.add(userNameLabel);
		panel1.add(userNameText);
		panel1.add(passwordLabel);
		panel1.add(passwordText);
		container.add(panel1, BorderLayout.CENTER);
		panel2.add(yesButton);
		panel2.add(cancelButton);
		container.add(panel2, BorderLayout.SOUTH);
		// 设置窗口大小
		setSize(300, 300);
	}

	/**
	 * 动作响应方法,完成数据库的查询和权限的设置功能
	 * 
	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
	 */
	public void actionPerformed(ActionEvent action) {

		if (action.getSource() == cancelButton) {
			// 如果单击“取消”按钮后执行的动作
			libraryWindow.setEnable("else");
			this.dispose();
		} else {
			// 如果单击“确定”按钮后执行的动作
			char[] password = passwordText.getPassword();
			// 将用户输入的密码有字符数组转换成字符串
			String passwordStr = new String(password);
			// 判断用户输入的用户名是否为空
			if (userNameText.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null, "用户名不可为空!");
				return;
			}
			// 判断用户输入的密码是否为空
			if (passwordStr.equals("")) {
				JOptionPane.showMessageDialog(null, "密码不可为空!");
				return;
			}
			// 取得SessionFactory
			SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
			// 打开session
			Session session = sessionFactory.openSession();
			// 创建一个事务
			Transaction tx = session.beginTransaction();
			// hsql执行语句
			String hql = "from UserTable where UserName='"
					+ userNameText.getText().trim() + "' and Password='"
					+ passwordStr + "'";
			// 执行查询
			Query userList = session.createQuery(hql);
			// 将查询结果放置到一个list链表中
			List list = userList.list();
			// 标记该用户是否存在
			boolean isExist = false;
			// 如果list的长度为0,表示该用户不存在
			if (list.size() > 0)
				isExist = true;
			if (!isExist) {
				// 提示用户名和密码不正确
				JOptionPane.showMessageDialog(null, "用户名不存在或者密码不正确!");
				libraryWindow.setEnable("else");
			} else {
				// 取得该用户的权限级别
				UserTable user = (UserTable) list.get(0);
				// 设置权限
				libraryWindow.setEnable(user.getPower().trim());
				// 事务提交
				tx.commit();
				// 关闭session
				session.close();
				this.dispose();

			}

		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -