Servlets 如何在与Servlet分离的类中实现MVC的业务逻辑?

Servlets 如何在与Servlet分离的类中实现MVC的业务逻辑?,servlets,Servlets,我曾尝试将该类放入servlet控制器中,但在构造函数和设置方法访问方面遇到了问题。我读到它提高了业务逻辑分离的效率,我甚至尝试将其放入JavaBean中,但我还不知道如何将参数从控制器发送到它。我还有很多东西要学,只是在做一个项目。您可以在JavaEE平台中使用EJB将业务逻辑与表示层(即servlet和JSP)分离。如果您的项目没有太多的业务逻辑代码,那么只需使用JavaPOJO类即可

我曾尝试将该类放入servlet控制器中,但在构造函数和设置方法访问方面遇到了问题。我读到它提高了业务逻辑分离的效率,我甚至尝试将其放入JavaBean中,但我还不知道如何将参数从控制器发送到它。我还有很多东西要学,只是在做一个项目。

您可以在JavaEE平台中使用EJB将业务逻辑与表示层(即servlet和JSP)分离。如果您的项目没有太多的业务逻辑代码,那么只需使用JavaPOJO类即可<这个例子给出了非常原始的想法。您可以使用内置MVC设计的web框架。

控制器:
使用servlet控制导航或针对
HTTP
请求执行其他任务

@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;


    public LoginServlet() {
        super();
    }



    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        LoginManager loginManager=new LoginManager();
        if(loginManager.isValidUser("getUserID from request Params","password from request params")){
            //initialize user session and redirect to dashboard
            //response.sendRedirect("/userhome.jsp");
        }else{
            //display failure messages. etc...
            //response.sendRedirect("/login.jsp");
        }
    }

}
型号
: POJO,其中包含一组用于登录相关操作的方法

 public class LoginManager {

    private Connection con;

    public LoginManager() {

    }

    private void initConnection(){
        //register driver class and create a new connection
        //you can create separate DBUtils class to get new connections
        //to prevent boilerplate code.

        //make new connection to database
//      con=..
    }

    private void closeConnection() throws SQLException{
        con.close();
    }

    public boolean isValidUser(String user,String password) throws SQLException{
        initConnection();
        PreparedStatement pstm=con.prepareStatement("select 1 from users where userID = ? and password=?");
//设置用户ID和密码参数 结果集rs=pstm.executeQuery()

查看


login.jsp
userhome.jsp
这样的页面都是视图

我建议看一下SpringMVC。所有的管道都已经为您处理好了,您只需编写控制器方法和HTML模板。谢谢您,Chryslis。我会调查的谢谢你,阿西德,克丽利斯。我正在阅读Murach的servlet和JSP第二版。我将在阅读列表中添加一个web框架。
        if (rs.next()){
            if(checkpassword.....)
            return true;
        }
        closeConnection();
        return false;
    }
}