我创建了一个 Java 应用程序,需要登录凭据才能访问。我如何知道登录的用户是哪个?有什么办法可以知道吗?
我不知道他们是否意识到了这个疑问,如果没有我会尽力解释得更好。
----------------代码-----------------
private void jBLoginActionPerformed(java.awt.event.ActionEvent evt) {
String sql="select * from logins where username=? and password=? and idTipoLogin=?";
try{
pst=(PreparedStatement) conexao.prepareStatement(sql);
pst.setString(1, jTUser.getText());
pst.setString(2, jPass.getText());
pst.setString(3, jComboBoxTipoLogin.getSelectedItem().toString());
rs=pst.executeQuery();
if(rs.next()){
String idTipoLogin = rs.getString("idTipoLogin");
if (idTipoLogin.equals("Administrador")) {
jTTarefasAdmin ah = new jTTarefasAdmin();
ah.setVisible(true);
}
else {
jTTarefasTecnico eh = new jTTarefasTecnico();
eh.setVisible(true);
}
this.setVisible(false);
}
else{
JOptionPane.showMessageDialog(null, "User Invalid");
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
这个想法是为了知道登录系统的用户是什么。 由于有多个用户,我想具体了解登录时访问的内容。
最佳答案
您可以维护登录用户的集合,我认为 HashMap 足以满足您的目的。
// This should be a class member
Map<String, String> loggedInUsers = new HashMap<String, String>();
// Now when user logs in add it to the HashMap
loggedInUser.put(jTUser.getText(), jTUser.getText());
// When a user logs out remove the user from the Map
loggedInUser.remove(jTUser.getText());
如果您只想要一个简单的用户列表,那么您可以将它们存储在 ArrayList 中。
List<String> loggedInUsers = new ArrayList<String>();
loggedInUser.add(jTUser.getText());
关于java - 如何知道哪个用户正在登录java应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23136662/