MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Control) MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBeanEJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Control层是ModelView之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

MVC的架构:

  视图是用户看到并与之交互的界面。作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

模型表示企业数据和业务规则。

控制器接受用户的输入并调用模型和视图去完成用户的需求。

下面是应用MVC的小例子:

封装一个实体类User,即模型M

package com.dr.vo;

 

public class User {

    private int id;

    private String name;

    public int getId() {

       return id;

    }

    public void setId(int id) {

       this.id = id;

    }

    public String getName() {

       return name;

    }

    public void setName(String name) {

       this.name = name;

    }

 

}

新建名为c_forEachJSP文件,即为视图V

body中如下配置:

<body>

    <%

    List list=new ArrayList();

    for(int i=0;i<8;i++){

    User u=new User();

    u.setId(i);

    u.setName("name"+i);

    list.add(u);

    }

    request.setAttribute("UserList",list);

     %>

     <table>

     <tr><th>ID</th><th>Name</th><th>index</th><th>count</th><th>isFirst?</th><th>isLast?</th></tr>

    

     <c:forEach var="user" items="${UserList }" varStatus="status">

     <tr>

         <td>

            ${user.id}

         </td>

         <td>

            ${user.name}

        </td>

        <td>

            ${status.index}

        </td>

        <td>

            ${status.count}

        </td>

        <td>

            ${status.first}

        </td>

        <td>

            ${status.last}

        </td>

     </tr>

       

     </c:forEach>

     </table>

  </body>

创建MvcServlet类,即为控制器C

package com.dr.servlet;

 

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import com.dr.jstl.User;

 

public class MvcServlet extends HttpServlet{

 

    public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{

      

       List<User> list=new ArrayList<User>();

        for(int i=0;i<8;i++){

        User u=new User();

        u.setId(i);

        u.setName("name"+i);

        list.add(u);

        }

        request.setAttribute("UserList", list);

        request.getRequestDispatcher("/c_forEach.jsp").forward(request, response);

    }

}

web.xml中配置如下:

<servlet>

    <servlet-name>MvcServlet</servlet-name>

    <servlet-class>com.dr.servlet.MvcServlet</servlet-class>

    </servlet>

   

    <servlet-mapping>

    <servlet-name>MvcServlet</servlet-name>

    <url-pattern>/mvc</url-pattern>

    </servlet-mapping>

 

将目录加入到Tomcat中,启动Tomcat,打开浏览器,输入网址http//127.0.0.1:8080/JSP_JSTL_Project/mvc  结果如下: