日期:2014-05-20  浏览次数:20715 次

Java程序做登录时不区分大小写问题
程序如下,运行没有问题,只是在登录时不会区分大小写,请各位大神帮忙解决下,不甚感激



Java code

import javax.swing.*;
import javax.swing.text.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;

public class TestFrame extends JFrame {
    // 添加类成员变量
    JLabel user = new JLabel("用户名");
    JTextField _user = new JTextField(8);
    JLabel pwd = new JLabel("密  码");
    JPasswordField _pwd = new JPasswordField(8);
    JButton login_bt = new JButton("登录");
    JButton cancel_bt = new JButton("重置");
    JFrame jf = this;
    
    Container c = getContentPane(); // JFrame的容器,用于放置JPanel
    JPanel jp = new JPanel(); // JPanel容器,用于放置普通组件
    
    GridBagLayout gbLayoutObj; 
    GridBagConstraints gbcObj;
    
    // TestFrame类的构造函数
    public TestFrame() {
        // 设置右上角关闭按钮可用
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        // 设置各组件的布局
        gbLayoutObj   = new GridBagLayout();
        gbcObj        = new GridBagConstraints();
        jp.setLayout(gbLayoutObj);
        
        gbcObj.anchor = GridBagConstraints.EAST;
        gbcObj.gridx  = 1;
        gbcObj.gridy  = 1;
        gbLayoutObj.setConstraints(user,gbcObj);
        gbcObj.gridy  = 2;
        gbLayoutObj.setConstraints(pwd,gbcObj);
        
        gbcObj.anchor = GridBagConstraints.WEST;
        gbcObj.gridx  = 2;
        gbcObj.gridy  = 1;
        gbLayoutObj.setConstraints(_user,gbcObj);
        gbcObj.gridy  = 2;
        gbLayoutObj.setConstraints(_pwd,gbcObj);
        
        gbcObj.anchor = GridBagConstraints.SOUTH;
        gbcObj.gridx  = 1;
        gbcObj.gridy  = 3;
        gbLayoutObj.setConstraints(login_bt,gbcObj);
        gbcObj.gridx  = 2;
        gbLayoutObj.setConstraints(cancel_bt,gbcObj);
        
        // 给用户名文本框添加事件,并设置登录按钮的状态
        login_bt.setEnabled(false);
        _user.addCaretListener(
            new CaretListener() {
                public void caretUpdate(CaretEvent e) {
                    login_bt.setEnabled(!_user.getText().trim().equals(""));
                }
            }    
        );
        
        // 给重置按钮添加事件
        cancel_bt.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event) {
                _user.setText("");
                _pwd.setText("");
            }
        });
        
        // 给登录按钮添加事件
        login_bt.addActionListener(
            new ActionListener() {
                public void actionPerformed(ActionEvent event) {
                    // 连接数据库
                    DBcon dbcon = new DBcon();
                    Connection con = dbcon.getConnection();
                    String sql = "";
                    
                    
                    // 在数据库中检索用户是否合法
                    sql = "select * from user where user = ? and pwd = ?;";
                    try {
                        PreparedStatement ps = con.prepareStatement(sql);
                        ps.setString(1, _user.getText().trim());
                        ps.setString(2, _pwd.getText().trim());
                        
                        ResultSet rs = ps.executeQuery();
                        
                        if(rs.next()) {
                            // 生成菜单
                            JMenuBar msgBar = new JMenuBar();
                            // 生成通讯录管理菜单
                            JMenu msgMenu = new JMenu("联系人管理");
                            
                            JMenuItem selectMsg = new JMenuItem("查询联系人");
                            JMenuItem addMsg = new JMenuItem("增加联系人");
                            JMenuItem delMsg = new JMenuItem("删除联系人");
                            JMenuItem altMsg = new JMenuItem("修改联系人信息");
                            
                            msgMenu.add(selectMsg);
                            msgMenu.add(addMsg);
                            msgMenu.add(delMsg);
                            msgMenu.add(altMsg);
                            
                            JMenu userMenu = new JMenu("用户管理");
                            
                            JMenuItem selectUser = new JMenuItem("查询用户");
                            JMenuItem addUser = new JMenuItem("增加用户");
                            JMenuItem delUser = new JMenuItem("删除用户");
                            JMenuItem altUser = new JMenuItem("修改用户");
                            
                            userMenu.add(selectUser);
                            userMenu.add(addUser);
                            userMenu.add(delUser);
                            userMenu.add(altUser);
                            
                            msgBar.add(msgMenu);
                            msgBar.add(userMenu);
                            
                            /* 给菜单添加事件 */
                            selectMsg.addActionListener(new SelectMsg(jf)); // 查询联系人信息
                            selectUser.addActionListener(new SelectUser(jf)); // 查询用户
                            
                            addMsg.addActionListener(new AddMsg(jf)); // 增加联系人信息
                            addUser.addActionListener(new AddUser(jf));// 增加用户
                            
                            altUser.addActionListener(new ModifyUser(jf)); // 修改用户密码
                            altMsg.addActionListener(new ModifyMsg(jf)); // 修改联系人信息
                            
                            delUser.addActionListener(new DelUser(jf)); // 删除用户
                            delMsg.addActionListener(new DelMsg(jf)); // 删除联系人信息
                            
                            // 在JFrame中设置菜单
                            setJMenuBar(msgBar);
                            jp = new JPanel();
                            setContentPane(jp);
                            setVisible(true);
                        }
                        else {
                            JOptionPane.showMessageDialog(null,"用户名或密码输入错误,再确认后再次输入!");
                            _pwd.setText("");
                        }
                    }
                    catch(SQLException e) {
                        System.out.println("error:" + e.getMessage());
                    }
                }
            }    
        );
        
        // 将各普通组件加入JPanel面板中
        jp.add(user);
        jp.add(_user);
        jp.add(pwd);
        jp.add(_pwd);
        jp.add(login_bt);
        jp.add(cancel_bt);
        
        // 将JPanel放入JFrame中
        setContentPane(jp);
        setVisible(true);
        
    }
    
    public static void main(String[] args) {
        new TestFrame();
    }
    
}