如何模块化/组织java web应用程序

如何模块化/组织java web应用程序,java,jsp,servlets,Java,Jsp,Servlets,我正在创建一个J2EEWebAppp,并创建了以下包 com.cms.controller(用于容纳servlet) com.cms.business(保存业务逻辑) com.cms.dao(用于保存数据访问对象) com.cms.beans(用于保存bean) 现在我想写一个函数。因此,我编写了一个index.jsp页面,其中包含action=/logincorroller 现在我应该在loginController中进行过滤吗 Authentication authentication

我正在创建一个J2EEWebAppp,并创建了以下包

  • com.cms.controller(用于容纳servlet)
  • com.cms.business(保存业务逻辑)
  • com.cms.dao(用于保存数据访问对象)
  • com.cms.beans(用于保存bean)
现在我想写一个函数。因此,我编写了一个
index.jsp
页面,其中包含action=
/logincorroller

现在我应该在
loginController
中进行过滤吗

Authentication authentication = new Authentication();
boolean flag = authentication.chekLoginCredentials(username, passwd)
Authentication
类是否只包含一个函数?
这种方法正确吗?

是的,这很好,但您仍然可以添加一些将来可以获得的与数据库相关的功能,如 1) 关闭连接
2) 获取连接等

是的,这很好,但您仍然可以添加一些将来可以获得的与数据库相关的功能,如 1) 关闭连接
2) 获取连接等

通常,您希望从DAO获取
用户
模型,并检查它是否为
null
。如果为
null
,则显示错误。如果它不是
null
,则将其置于会话中并继续

例如


或者类似的。仅使用
布尔标志
无法真正登录用户,如果希望在会话期间获取/显示登录用户的详细信息,则必须每次查询数据库。

通常,您希望从DAO获取
用户
模型,并检查其是否为
null
。如果为
null
,则显示错误。如果它不是
null
,则将其置于会话中并继续

例如


或者类似的。仅使用
布尔标志
无法真正登录用户,如果您想在会话期间获取/显示登录用户的详细信息,则必须每次查询数据库。

您计划将身份验证保留在哪个包中?inside businesss package您计划将身份验证保留在哪个包中?inside businesss package包裹
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = userDAO.find(username, password);
if (user != null) {
    request.getSession().setAttribute("user", user);
    response.sendRedirect("home");
} else {
    request.setAttribute("error", "Unknown login, please try again.");
    request.getRequestDispatcher("login").forward(request, response);
}