浅谈MVC设计模式(示例)

Elizabeth ·
更新时间:2024-09-21
· 807 次阅读

目录什么是MVC?MVC模式组成ModelViewController示例M层DAO数据访问接口V层login.jsplogin_success.jspC层com.servlet.LoginServlet小结 什么是MVC?

(官方定义出门右转)
MVC(Model View Controller)模型-视图-控制器。典型的MVC就是javabean(M)+JSP(V) + servlet(C )的模式,是对DAO模式的进一步解耦合,姑且可以简单认为就是在DAO基础上多了一个servlet(充当控制器),其目的就是为了实现M和V的分离,便于前后并行开发

MVC模式组成 Model 模型表示数据处理和业务规则:封装应用程序状态,响应状态查询,包含应用程序相关功能,通知视图改变。 View 视图是指用户看到并与之交互的界面:解释模型,模型更新请求,发送用户数据给控制器,允许控制器选择视图。 Controller 控制器接收请求并决定调用哪个模型去处理请求,然后再确定用哪个视图来显示返回的数据:定义应用程序行为,将用户动作映射为模型更新,选择相应的视图。 示例

实现登录
在这里插入图片描述

M层 DAO数据访问接口

     代码详见点这里

V层 login.jsp 登陆页面

用户ID:
密码:
login_success.jsp 登录成功

登陆成功

欢迎 光临

您还未登陆,请先登陆!!!
三秒后跳转到登陆页面!!!
如果没有跳转,请点这里
C层 com.servlet.LoginServlet package com.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.factory.DAOFactory; import com.vo.Person; public class LoginServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String path = "login.jsp"; // 1、接收传递的参数 String id = request.getParameter("id"); String password = request.getParameter("password"); // 2、将请求的内容赋值给VO类 Person person = new Person(); person.setId(id); person.setPassword(password); try { // 进行数据库验证 if (DAOFactory.getPersonDAOInstance().login(person)) { // 如果为真,则表示用户ID和密码合法 // 设置用户姓名到session范围之中 request.getSession().setAttribute("uname", person.getName()); // 修改跳转路径 path = "login_success.jsp"; } else { // 登陆失败 // 设置错误信息 request.setAttribute("err", "错误的用户ID及密码!!!"); } } catch (Exception e) { } // 进行跳转 request.getRequestDispatcher(path).forward(request, response); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { this.doPost(request, response); } } 小结

优点:MVC代码重用性高耦合性低,彻底把视图层和业务层分离,可以前后端并行开发。

你的点赞将会是我最大的动力


作者:唔仄lo咚锵



示例 MVC mvc设计模式

需要 登录 后方可回复, 如果你还没有账号请 注册新账号