MVC实例应用模式
MVC实例应用模式
MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
视图(View)层
视图是用户看到并与之交互的界面。
对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML、Flash,等等。
模型(Model)层
就是业务流程/状态的处理以及业务规则的制定。
业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。
业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存。
控制(Controller)层:
可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。
划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。
控制层并不做任何的数据处理
简单代码示例:
视图层:
<!DOCTYPE html>
<html>
<head>
<title>Login.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<form id="form1" name="form1" action="action/Login.action" method="post">
登录<br>
用户名:<input name="username" type="text"><br>
密码:<input name="password" type="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
模型层:
package bao.shiyan;
import com.opensymphony.xwork2.ActionSupport;
public class Login extends ActionSupport {
//变量*************************************************************************************
private String username = "";
private String password = "";
//函数*************************************************************************************
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String execute() throws Exception {
String u,p;
u = getUsername();
p = getPassword();
if(u.equals("1")&&p.equals("1")){
return "Success";
}
else{
return "Error";
}
}
}
控制层:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" namespace="/action" extends="struts-default">
<action name="Login" class="bao.shiyan.Login">
<result name="Success">../Success.jsp</result>
<result name="Error">../Error.jsp</result>A
</action>
</package>
</struts>