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>   

原文地址:https://www.cnblogs.com/dawn-sky/p/6824723.html