JDBC:找回员工密码

来源:互联网 发布:缓存服务器软件 编辑:程序博客网 时间:2024/05/22 08:07

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

Function:

  • 设计一个找回员工密码的界面(FindPasswordFrame),
  • 在三个文本框中分别输入员工帐号、密码保护问题和密码保护答案
  • 如果输入全部正确,单击“找回密码”按钮,则在一个JLabel中显示员工密码。

UI类

/** * 设计一个找回员工密码的界面(FindPasswordFrame), * 在三个文本框中分别输入员工帐号、密码保护问题和密码保护答案 * 如果输入全部正确,单击“找回密码”按钮,则在一个JLabel中显示员工密码。 */package com.Test.view;import java.awt.Component;import java.awt.Container;import java.awt.FlowLayout;import java.util.List;import java.awt.event.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.ArrayList;import java.util.Vector;import javax.swing.BorderFactory;import javax.swing.ComboBoxModel;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;import javax.swing.plaf.basic.BasicButtonListener;import javax.swing.plaf.basic.BasicOptionPaneUI.ButtonActionListener;import com.Test.dao.UsernameDAO;import com.Test.dto.UsernameDTO;public class UsernameDisplay extends JFrame{    private JLabel accountJlb,questionJlb,answerJlb,displayJlb;    private JTextField tf1,tf2,tf3;    private JButton findBtn;    //构造方法    public UsernameDisplay() {        this.setLayout(null);        Container c = this.getContentPane();        accountJlb = new JLabel("员工帐号:");        accountJlb.setBounds(80,30,70,30);        c.add(accountJlb);        tf1 = new JTextField();        tf1.setBounds(190,30,190,30);        tf1.setBorder(BorderFactory.createLoweredBevelBorder());        c.add(tf1);        questionJlb = new JLabel("密码保护问题:");        questionJlb.setBounds(80,50,100,90);        c.add(questionJlb);        tf2 = new JTextField();        tf2.setBounds(190,80,190,30);        tf2.setBorder(BorderFactory.createLoweredBevelBorder());        c.add(tf2);        answerJlb = new JLabel("密码保护答案:");        answerJlb.setBounds(80,100,100,90);        c.add(answerJlb);        tf3 = new JTextField();        tf3.setBounds(190,130,190,30);        tf3.setBorder(BorderFactory.createLoweredBevelBorder());        c.add(tf3);        findBtn = new JButton("找回密码");        findBtn.setBounds(140,190,90,30);        c.add(findBtn);        displayJlb = new JLabel();        displayJlb.setBounds(250,190,90,30);        c.add(displayJlb);//不能添加到下面        //FindPassword        findBtn.addActionListener(new ActionListener()          {           public void actionPerformed(ActionEvent e)           {             //获取输入              String userID = tf1.getText().trim();              String pw =  tf2.getText().trim();                String pw1 =  tf3.getText().trim();               //String empPassword = null;              JButton tempButton=(JButton)e.getSource();            if(tempButton==findBtn) //按下找回密码按钮后判断输入            {                if(userID.equals(""))                {                    JOptionPane.showMessageDialog(null,"账号不能为空!","错误提示",JOptionPane.ERROR_MESSAGE);                 }                else if(pw.equals(""))                {                    JOptionPane.showMessageDialog(null,"密码保护问题不能为空!","错误提示",JOptionPane.ERROR_MESSAGE);                          }                else if(pw1.equals(""))                {                    JOptionPane.showMessageDialog(null,"密码保护答案不能为空!","错误提示",JOptionPane.ERROR_MESSAGE);                          }                else                {                   UsernameDAO userdao = new UsernameDAO();                   UsernameDTO result = new UsernameDTO();                   result = userdao.findPass(userID, pw, pw1);                   if(result!=null) {    //确认输入账号 密保和答案正确                       displayJlb.setText(result.getEmpPassword());                      //JOptionPane.showMessageDialog(null,"密码是: " + result.getEmpPassword());                       //System.out.println(result.getEmpPassword());                   }                   else {                       JOptionPane.showMessageDialog(null, "账号或密保或密保答案有误!");                   }                }            }          }});         this.setTitle("FindPassword");        this.setSize(500,300);        this.setLocationRelativeTo(null);        int w = Toolkit.getDefaultToolkit().getScreenSize().width;        int h = Toolkit.getDefaultToolkit().getScreenSize().height;        this.setLocation(w/2-250, h/2-180);        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        this.setVisible(true);    }    public static void main(String[] args) {            new UsernameDisplay();    }}

DAO类

/** * 千枝竞秀有天皆丽日,万木争荣无地不春风 * Author: RoniZeng * Time:     17/12/25 */package com.Test.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import com.Test.Util.DBUtil;import com.Test.dto.UsernameDTO;public class UsernameDAO {    private UsernameDTO userdto;    /**     * 显示密码select     * @param empPassword     * @return String     */    public UsernameDTO findPass(String account, String question,String answer){        Connection conn = null;        PreparedStatement statement = null;        ResultSet rs = null;        try{            conn = DBUtil.getConnection();            String sql = "select * from Employee where empAccount=? and empQuestion=? and empAnswer=?";            statement = conn.prepareStatement(sql);            statement.setString(1, account);            statement.setString(2, question);            statement.setString(3, answer);            rs = statement.executeQuery();            UsernameDTO userdto =null;            if(rs.next()) {                userdto = new UsernameDTO();                String password = rs.getString("empPassword");                userdto.setEmpPassword(password);            }        return userdto;        }        catch(Exception e){            e.printStackTrace();        }        finally{            try{                rs.close();                statement.close();                conn.close();            }            catch(Exception e1){                e1.printStackTrace();            }        }        return userdto;    }}

DTO类

package com.Test.dto;public class UsernameDTO {    private String empPassword;    public String getEmpPassword() {        return empPassword;    }    public void setEmpPassword(String empPassword) {        this.empPassword = empPassword;    }}

DBUtil类(工具类)

package com.Test.Util;import java.sql.Connection;import java.sql.DriverManager;public class DBUtil {    public static Connection getConnection(){        try{            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");            Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=HappyDB;user=sa;password=123456");            return conn;        }        catch (Exception e) {        }        return null;    }}

MyQuestion

  1. 单击“找回密码”按钮,无论三个框输入什么,都弹出“账号或密保或密保答案有误!”
  2. 不知道怎么在一个JLabel中显示员工密码
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 天梭prs200 天梭男士表 天梭女表 天梭情侣表 天梭腾智 天梭新款 天梭系列 天梭和浪琴 天梭俊雅 天梭t461 天梭港湾 天梭吧 天梭t17 天梭prs516 天梭专柜 天梭pr100 瑞士天梭 天梭t035 天梭瑞士表 天梭表价格 天梭t063 天梭石英表 天梭正品 天梭tissot 天梭经典 天梭天匠 天梭是什么档次 天梭手表怎么辨别真伪 天梭手表辨别真伪 天梭手表怎么调日期 天梭手表调日期 天梭表序列号查询系统 天梭1853价格及图片 天梭表1853各型号图 天梭手表日期 天梭手表怎么样档次 天梭力洛克真假辨别 天梭1853怎么调日期图解 天梭1853多少钱 天梭正品序列号查询 天梭表调日期