gpt4 book ai didi

java - 无法使用基本的java web登录

转载 作者:行者123 更新时间:2023-12-02 04:13:54 25 4
gpt4 key购买 nike

我是java初学者,正在练习基本的java web。在这个例子中,我无法使用其他用户名登录,只能接受“admin”的用户名。错误在哪里??

//admin.jsp 
<%
MemberDAO member = new MemberDAO();
%>
<h1>Welcome ${member.getUsername()} to the system</h1>
<a href="ControllerServlet?action=logout">Log out</a>


//login.jsp
<form action="ControllerServlet" method="post">
<input type="hidden" value="login" name="action"/>
Username:
<input type="text" name="username" placeholder="Username"/>
<input type="submit" value="login"/>
</form>

// ControllerServlet.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String action = request.getParameter("action");
RequestDispatcher dispatcher = null;
if (action == null || action.equals("logout")){
dispatcher = request.getRequestDispatcher("login.jsp");
}
else if(action.equals("login")){

MemberDAO dao = new MemberDAO();
String username = request.getParameter("username");
if(dao.checklogin(username)){
dispatcher = request.getRequestDispatcher("admin.jsp");
}
else{
dispatcher = request.getRequestDispatcher("login.jsp");
}
}
dispatcher.forward(request, response);
}

// MemberDAO.java
public boolean checklogin(String username){
if (username != null && username.equals("admin"))
return true;
return false;
}

我有 Member.java,它有构造函数和用户名。

最佳答案

你真的看过你的代码吗?:

public boolean checklogin(String username){
if (username != null && username.equals("admin"))
return true;
return false;
}

期望这个方法做什么?您已经硬编码了逻辑,即用户名必须“admin”,而不是其他任何内容。因此,在这种情况下,唯一有效的用户名是“admin”

如果您希望代码表现不同,则必须以某种方式对其进行更改。

关于java - 无法使用基本的java web登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33522033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com