- 实现自定义MVC的体系结构图
1、Model I模式开发Web应用时,分两种情况:
*纯JSP技术方式开发
*JSP+JavaBean方式开发
2、Model I模式开发的不足:
*JSP页面中嵌入大量的Java代码,可读性差。
*大量代码在JSP中难以复用。
*后期维护及扩展的难度大。
3、为了克服Model I模式的缺陷,引入了Model II的模式开发
*Model II模式体现了基于MVC(Model-View-Controller,模型-视图-控制器)的设计模式,简单的说,Model II模式就是将数据显示、流程控制和业务逻辑处理分离,使之相互独立。
4、MVC设计模式由3个部分组成各部分的作用。
*Model:模型,主要用于数据和业务的处理。
*View:视图,用于数据显示。
*Controller:控制器,用于流程控制。
5、MVC设计模式的特点
*一个模型可以对应多个视图。
*显示与逻辑控制分离。
*分层控制,减低了代码间的耦合。
- 我们如何创建一个自己的MVC框架??
(一)我们要在lib里面准备一个夹包
dom4j-1.6.1.jar 主要作用:解析xml文件
(二)准备配置文档(在src下)
<!DOCTYPE myframework[
<!ELEMENT myframework (actions) >
<!ELEMENT actions (action*)>
<!ELEMENT action (result*)>
<!ATTLIST action name CDATA #REQUIRED
class CDATA #REQUIRED
>
<!ATTLIST result name CDATA #IMPLIED
redirect (true|false) "false"
>
]>
解释:
解释:根据上述约束完成的“*”代表该节点可以出现多次
<myframework>
<actions>
<action name="LoginAction" class="cn.action.LoginAction">
<result name="success">success.jsp</result>
<result name="login">login.jsp</result>
</action>
</actions>
</myframework>
(三)自己准备一个Action接口,用于放入结果集和执行方法
package cn.framework;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public interface Action {
public final String SUCCESS = "success";
public final String ERROR = "error";
public final String LOGIN = "login";
public final String INPUT = "input";
public String execute(HttpServletRequest request,
HttpServletResponse response);
}
(四)定义一个ResultMapping用来存放result节点
package cn.framework;
public class ResultMapping {
//result节点名字