[英]Java How to use an object in a different Class?
I have a people class.我有一个人class。 It has people job inside the class.
它在 class 中有人员工作。
And I have filter class.我有过滤器 class。 In this class, I create an object.
在这个 class 中,我创建了一个 object。
People people = new People();
And set their job, people.setjob="doctor";
并设置他们的工作,
people.setjob="doctor";
Now, how can I use this object in another class?现在,我如何在另一个 class 中使用这个 object? For example, in checkjob class I write
people.getJob
and nothing happens.例如,在 checkjob class 我写
people.getJob
并没有任何反应。
I draw my question for you to understand easily.我把我的问题画出来让你很容易理解。
By the way, I'm doing this to get user role.顺便说一句,我这样做是为了获得用户角色。 I minimalized the question.
我最小化了这个问题。
Here is the code:这是代码:
Login.Java登录.Java
if(dao.check(uname, pass)) {
UserAccount user = new UserAccount();
user.setUsername(uname);
Filter2 loginbean = new Filter2();
String userValidate = loginbean.authenticateUser(user);
if(userValidate.equals("Admin_Role")) {
HttpSession session = request.getSession();
session.setAttribute("username", uname);
user.setRole("Admin");
response.sendRedirect("welcome.jsp");
}
else if (userValidate.equals("Editor_Role")) {
HttpSession session = request.getSession();
session.setAttribute("username", uname);
user.setRole("Editör");
response.sendRedirect("gorevler.jsp");
}
UserAccount.Java UserAccount.Java
public class UserAccount {
private String username;
private String role;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
Filter2.Java过滤器2.Java
public String authenticateUser(UserAccount loginBean)
{
String userName = loginBean.getUsername();
Connection con = null;
Statement statement = null;
ResultSet resultSet = null;
String userNameDB = "";
String passwordDB = "";
String roleDB = "";
try
{
con= (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/covid","root","fbfbfb333*");
statement = con.createStatement();
resultSet = statement.executeQuery("select username,role from users");
while(resultSet.next())
{
userNameDB = resultSet.getString("username");
roleDB = resultSet.getString("role");
if(userName.equals("emre") && roleDB.equals("admin")) {
return "Admin_Role";}
else if(userName.equals(userNameDB) && roleDB.equals("editor"))
return "Editor_Role";
else if(userName.equals(userNameDB) && roleDB.equals("user"))
return "User_Role";
}
}
Welcome.Java欢迎光临。Java
<body>
<jsp:include page="menu.jsp"></jsp:include>
<%
if(session.getAttribute("username")==null){
response.sendRedirect("login.jsp");
}
UserAccount user = new UserAccount();
String rol = user.getRole();
pageContext.setAttribute("rol", rol);
%>
WELCOME ${username}
${rol }
You need to reinitialize it in the other class.您需要在其他 class 中重新初始化它。 And give it the same properties.
并赋予它相同的属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.