MVC(Model-View-Controller)是一种软件架构模式,用于将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。
-
Model(模型):负责处理应用程序的业务逻辑和数据。模型通常表示应用程序中的数据结构,以及对数据的操作方法。在Java中,模型通常是POJO类或JavaBean,用于封装数据和业务逻辑。
-
View(视图):负责展示用户界面和接收用户输入。视图将模型中的数据呈现给用户,并将用户的操作传递给控制器。在Java Web应用中,视图通常是JSP页面或HTML文件。
-
Controller(控制器):负责接收用户的输入,调用模型处理业务逻辑,最后将结果传递给视图展示给用户。控制器充当模型和视图之间的中介,处理用户请求并决定如何响应。在Java Web应用中,控制器通常是Servlet或Spring MVC中的Controller。
代码如下:
模型(Model):
public class User {
private String username;
private String email;
// 省略构造方法和getter/setter方法
}
视图(View)(JSP页面):
<!DOCTYPE html>
<html>
<head>
<title>User Profile</title>
</head>
<body>
<h1>User Profile</h1>
<p>Username: ${user.username}</p>
<p>Email: ${user.email}</p>
</body>
</html>
控制器(Controller)(Servlet):
@WebServlet("/UserProfileServlet")
public class UserProfileServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
User user = new User();
user.setUsername("test");
user.setEmail("test@example.com");
request.setAttribute("user", user);
request.getRequestDispatcher("userProfile.jsp").forward(request, response);
}
}
在上面代码中,模型类 User 封装了用户数据,视图 userProfile.jsp 展示用户信息,控制器 UserProfileServlet 接收请求、处理业务逻辑并将结果传递给视图展示给用户。
通过MVC模式,实现了代码的分层和解耦,提高了代码的可维护性和可扩展性。