[英]Java Mail Change port in Transport without Authentication username and password
[英]authentication — making username and password global in java
我想驗證用戶身份。 為此,我正在使用mysql連接。 以下是代碼:
JTextField txt_Username= new JTextField();
String Username;
txt_Username.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent arg0) {
{
Username= txt_Username.getText();
}
});
同樣,也有密碼代碼。 現在,我希望此用戶名和密碼不在其本地范圍內,以便單擊JButton將觸發sql數據庫並使用上述用戶名和密碼進行身份驗證。
我是Java天真。 有人可以幫忙嗎?
我在這里有完整的代碼。 請我需要了解我要去哪里錯了:
import java.awt.EventQueue;
public class Frame{
private private JFrame frame1;
private JTextField textFieldUserName;
private JTextField txtPassword;
public String textUserValue;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Frame window = new Frame();
window.frame1.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
* @throws SQLException
*/
public multipleFrame() throws SQLException {
initialize();
}
/**
* Initialize the contents of the frame.
* @throws SQLException
*/
private void initialize() throws SQLException {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JLabel lblNewLabel = new JLabel("");
lblNewLabel.setIcon(new ImageIcon("C:\\sad.jpg"));
lblNewLabel.setBounds(10, 36, 196, 187);
frame.getContentPane().add(lblNewLabel);
JLabel lbl_Password = new JLabel("PASSWORD");
lbl_Password.setBackground(new Color(128, 128, 128));
lbl_Password.setOpaque(true);
lbl_Password.setBounds(217, 140, 75, 14);
frame.getContentPane().add(lbl_Password);
final Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/schema","user","pwd");
final JTextField textFieldUserName = new JTextField();
textFieldUserName.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent arg0) {
String textUserValue = textFieldUserName.getText();
System.out.println(textUserValue+" hi");
String textUserValue1 =textUserValue;
}
});
System.out.println(textUserValue+" HI");
textFieldUserName.setBounds(324, 79, 108, 20);
frame.getContentPane().add(textFieldUserName);
textFieldUserName.setColumns(10);
System.out.println();
JLabel label = new JLabel("USERNAME");
label.setOpaque(true);
label.setBackground(Color.GRAY);
label.setBounds(216, 82, 75, 14);
frame.getContentPane().add(label);
txtPassword = new JTextField();
txtPassword.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent arg0) {
String textPasswordValue = txtPassword.getText();
System.out.println(textPasswordValue+" hi");
}
});
txtPassword.setColumns(10);
txtPassword.setBounds(324, 137, 108, 20);
frame.getContentPane().add(txtPassword);
JButton btnLogin = new JButton("LOGIN");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
}
});
btnLogin.setBounds(262, 200, 91, 23);
frame.getContentPane().add(btnLogin);
PreparedStatement stmt1 = null;
try {
stmt1 = con.prepareStatement("select username from LOGIN_TABLE where username='"+textUserValue+"'");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ResultSet result1 = null;
try {
result1 = stmt1.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
while (result1.next()) {
String user_name_db=result1.getString("username");
System.out.println(user_name_db);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
將您的Username變量變成public。 並將其放置在類中,而不是任何方法中。
例:
public String Username;
或者,如果您想保留其隱私,則可以為其創建.getMethod
。
public String getUsername(){
return Username;
}
您可以只使用getter和setter創建模型類 :
類UserModel.java
public String Username;
public String getUserName()
{
return Username;
}
public void setUserName(String USER_NAME)
{
this.Username = USER_NAME;
}
在main.java中,
UserModel userObj = new UserModel();
txt_Username.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent arg0) {
{
userObj.setUserName(txt_Username.getText());
//Username= txt_Username.getText();
}
});
要在main.java中的任何位置檢索它,請使用
String userName = userObj.getUserName();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.