servlet中调用的Java EE类方法每次都返回null

时间:2018-04-18 14:50:05

标签: java class java-ee methods

我在一个小项目上工作,我需要做一个'登录'rediriction,但没有数据库只需要测试用户名/密码字符串。

我做了一个index.jsp文件,其中我有一个表单,其中包含用于登录的输入文本字段以及用于密码的表单。该方法是post:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    String login = request.getParameter("login");
    String password = request.getParameter("password");
    boolean result = Authentication.checklogin(login,password);
    request.setAttribute("result",result);
    request.setAttribute("login",login);
    request.setAttribute("password",password);
    if (result) {
        RequestDispatcher dispatcher=getServletContext().getRequestDispatcher("/view/welcome.jsp");
        dispatcher.include(request, response);
    } else {
        RequestDispatcher dispatcher=getServletContext().getRequestDispatcher("/view/error.jsp");
        dispatcher.include(request, response);
    }


    doGet(request, response);
}

然后我有一个带有像这样定义的dopost方法的servlet:

public class Authentication {

    public String login;
    public String password; 

    public static boolean checklogin( String login ,String password ) {
        if (login == "username" && password=="password") {
            return true;
        } else {
            return false;
        }
    }

}

我有一个像这样定义的身份验证类(我删除了我的帖子的setter和getters,但它们存在于类中):

import package.model.Authentication;

提交表单,我从“请求参数”获得的登录/密码字符串是正常的,方法是静态的,我返回true或false但是当我这样做时,我总是在servlet中有一个result = null但是我应该得到一个结果=真或假...我不明白为什么

我尝试使用int,string但我没有返回。认证类在servlet中导入,如下所示:

{{1}}

如果有人能解释我为什么这种方法不起作用,那将是完美的,谢谢:D

0 个答案:

没有答案