什么是MVC
m:Model模型
(负责在数据库中存取数据相当于我们之前用的entity和dao)
v:View视图
(负责处理数据显示相当于之前的JSP,HTML)
c:Controller控制
(负责处理用户交互相当于Servlet,Action)
调用顺序:
View -> Controller -> Model
注:不能跨层调用,只能由上向下进行调用
目的
主要用于将业务逻辑处理代码,数据代码,界面分离,让html和业务逻辑分开,实现低耦合,各司其职的作用。
加减乘除案例
效果
结果:
步骤
1、创建所有控制器的父类抽象类Action,定义一个方法:execute完成具体的业务逻辑,后面除了中央控制器,每一个都要继承Action,重写execute方法。
代码如下:
package com.wangjuanxia.mvc.framework;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public abstract class Action {
public abstract String execute(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException;
}
2、创建子控制器继承Action,重写execute方法进行逻辑处理(这里以加法为例,其他减乘除就只是修改符号)
代码如下:
package com.wangjuanxia.mvc.framework;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AddAction extends Action{
@