MVC
来源:互联网 发布:学校网络监控方案 编辑:程序博客网 时间:2024/05/29 19:05
1.什么是MVC?
MVC 全名是Model Veiw Controller,是模型(model)——视图(view)——控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑,,数据,界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入,处理和输出功能在一个逻辑的图形化用户界面的结构中。
MVC 编程模式
编辑MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:[1]
- Model(模型)表示应用程序核心(比如数据库记录列表)。
- View(视图)显示数据(数据库记录)。
- Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
优点:耦合性低,重用性高,生命周期成本低,部署快,可维护性高,有利软件工程化管理
缺点:没有明确的定义。
不适合小型,中等规模的应用程序。
视图与控制器间的过于紧密的连接。
视图对模型数据的低效率访问。
一般高级的界面工具或构造器不支持模式。
2.自定义MVC的步骤:
1.定义一个servlet(ActionServlet)控制所有的*.do请求
2.获取请路径(request.getRequestURI()),截取到后面的请求名(cname)
3.在web-inf下创建一个config.properties文件,保存一个键值对,根据不同的请求得到其对应的Class,同时创建好对应的处理列。
4.在servlet的init方法中加载配置文件
Properties config=new Properties();
String path=this.getServletContext.getRealPath();//得到其绝对路径
path=path+"/WEB-INF/config.properties";
config.load(new FileInputStream(path));//加载到内存中来
this.getServletContext.setAttribute("config",config);//存入到application中
5.到dopost方法中取出application中的数据,结合前面取到的请求名得到其对应的类名
Properties config=(Properties)this.getServletContext.getAttribute("config");
String className=config.getProperty(cname);
6、将"/WEB-INF/config.properties"存入到web.xml文件中,并通过代码取出
String sname=this.getServletContext().getInitParameter("config");
7、根据取出来的类名(全路径名),实例化对象
Class.forName(classname).newInstance();
8、新建一个接口(Action),声明方法execute();将所有的实现类继承action接口
9、将Class.forName返回的对象统一为转换为Action,再统一的调用execute()方法(多态)
10、修改接口的方法execute(),让其带参数(request,response),其所有的继承类对应的做修改,保证 能从ActionServlet传送到对应页面
11、将Action存入到一个池中,步骤:先在init方法中建立一个池(Properties),再在dopost方法中判断,以保证每一个类只会 被实例化一次
框架内容
MVC指MVC模式的某种框架,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。
优点:耦合性低,重用性高,生命周期成本低,部署快,可维护性高,有利软件工程化管理
缺点:没有明确的定义。
不适合小型,中等规模的应用程序。
视图与控制器间的过于紧密的连接。
视图对模型数据的低效率访问。
一般高级的界面工具或构造器不支持模式。
2.自定义MVC的步骤:
1.定义一个servlet(ActionServlet)控制所有的*.do请求
2.获取请路径(request.getRequestURI()),截取到后面的请求名(cname)
3.在web-inf下创建一个config.properties文件,保存一个键值对,根据不同的请求得到其对应的Class,同时创建好对应的处理列。
4.在servlet的init方法中加载配置文件
Properties config=new Properties();
String path=this.getServletContext.getRealPath();//得到其绝对路径
path=path+"/WEB-INF/config.properties";
config.load(new FileInputStream(path));//加载到内存中来
this.getServletContext.setAttribute("config",config);//存入到application中
5.到dopost方法中取出application中的数据,结合前面取到的请求名得到其对应的类名
Properties config=(Properties)this.getServletContext.getAttribute("config");
String className=config.getProperty(cname);
6、将"/WEB-INF/config.properties"存入到web.xml文件中,并通过代码取出
String sname=this.getServletContext().getInitParameter("config");
7、根据取出来的类名(全路径名),实例化对象
Class.forName(classname).newInstance();
8、新建一个接口(Action),声明方法execute();将所有的实现类继承action接口
9、将Class.forName返回的对象统一为转换为Action,再统一的调用execute()方法(多态)
10、修改接口的方法execute(),让其带参数(request,response),其所有的继承类对应的做修改,保证 能从ActionServlet传送到对应页面
11、将Action存入到一个池中,步骤:先在init方法中建立一个池(Properties),再在dopost方法中判断,以保证每一个类只会 被实例化一次
阅读全文
0 0
- MVC
- mvc
- MVC
- mvc
- MVC
- MVC
- mvc
- MVC
- MVC
- MVC
- MVC
- MVC
- MVC
- MVC
- MVC
- mvc
- MVC
- MVC
- [乐意黎转载]CentOS6编译安装PHP7+Nginx
- Macro for static allocator 4
- (146)接触阴影
- 杂花生树(四十二)
- CF_415_PA(思维题)
- MVC
- 【LTE】LTE中RNTI介绍
- 单链表
- IntelliJ-IDEA和Git、GitHub、Gitlab的使用(五)
- 将Mysql的一张表导出至Excel格式文件
- 考研数学笔记1~5
- 洛谷1007 独木桥
- 面试题14:调整数组顺序使奇数位于偶数前面
- 不等式$\sum x_i^3(1-x_i)\leq\frac{1}{8}$