Java HttpServletRequest#login()做什么

Java HttpServletRequest#login()做什么,java,servlets,jakarta-ee,Java,Servlets,Jakarta Ee,我读过。我有两个问题,主要是关于 问题1:如果userDAO.find()返回的user不为空,这是否意味着 用户名和密码正确,用户应登录? 问题2:HttpServletRequest#登录对验证用户有什么作用 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generat

我读过。我有两个问题,主要是关于

问题1:如果
userDAO.find()
返回的
user
不为空,这是否意味着 用户名和密码正确,用户应登录?
问题2:HttpServletRequest#登录对验证用户有什么作用

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    User user = userDAO.find(username, password); 
    if (user != null) { // If true , does it prove the username and password is correct?
        try {
            /* Why call request.login() here? I think the client has been
             * validated if user!=null. What's the use of this line?
             */
            request.login(username, password); 
            System.out.println.("successfully log in");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

HttpServletRequest#login
的javadoc提供了极好的解释。您必须在servlet上下文中配置身份验证领域(可以由应用程序服务器提供)@maress我已经在META-INF/context.xml中配置了它。我对
userDAO.find()
request.login(用户名、密码)
的功能非常困惑。是否使用
userDAO.find()
搜索数据库中与表单user匹配的行(用户字段和密码都匹配)?@maress“提供了很好的解释”-完全不是这样。“在为ServletContext配置的web容器登录机制使用的密码验证域中验证提供的用户名和密码。”未回答以下问题:什么是“密码验证域”,“web容器登录机制”,什么是ServletContext,以及如何配置逻辑机制。请不要说“查找”,因为这正是问题所在——该方法的javadoc本身甚至在基本层面上都没有解释这些事情。HttpServletRequest登录的javadoc提供了极好的解释。您必须在servlet上下文中配置身份验证领域(可以由应用程序服务器提供)@maress我已经在META-INF/context.xml中配置了它。我对
userDAO.find()
request.login(用户名、密码)
的功能非常困惑。是否使用
userDAO.find()
搜索数据库中与表单user匹配的行(用户字段和密码都匹配)?@maress“提供了很好的解释”-完全不是这样。“在为ServletContext配置的web容器登录机制使用的密码验证域中验证提供的用户名和密码。”未回答以下问题:什么是“密码验证域”,“web容器登录机制”,什么是ServletContext,以及如何配置逻辑机制。请不要说“查找”,因为这正是问题所在——该方法的javadoc本身甚至在基本层面上也没有解释这些事情。