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