MVC實例應用模式css
MVC英文即Model-View-Controller,即把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應用被分紅三個層——模型層、視圖層、控制層。html
視圖(View)層apache
視圖是用戶看到並與之交互的界面。jsp
對於Web應用來講,能夠歸納爲HTML界面,但有可能爲XHTML、XML、Flash,等等。ide
模型(Model)層函數
就是業務流程/狀態的處理以及業務規則的制定。post
業務流程的處理過程對其它層來講是黑箱操做,模型接受視圖請求的數據,並返回最終的處理結果。ui
業務模型還有一個很重要的模型那就是數據模型。數據模型主要指實體對象的數據保存。this
控制(Controller)層:spa
能夠理解爲從用戶接收請求, 將模型與視圖匹配在一塊兒,共同完成用戶的請求。
劃分控制層的做用也很明顯,它清楚地告訴你,它就是一個分發器,選擇什麼樣的模型,選擇什麼樣的視圖,能夠完成什麼樣的用戶請求。
控制層並不作任何的數據處理
簡單代碼示例:
視圖層:
<!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>