MVC是三個(gè)單詞的縮寫,分別為: 模型(Model),視圖(View)和控制Control)。 MVC模式的目的就是實(shí)現(xiàn)Web系統(tǒng)的職能分工。 Model層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通常可以用JavaBean或EJB來(lái)實(shí)現(xiàn)。 View層用于與用戶的交互,通常用JSP來(lái)實(shí)現(xiàn)。 Control層是Model與View之間溝通的橋梁,它可以分派用戶的請(qǐng)求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時(shí)它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。
MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開(kāi)。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。
MVC的架構(gòu):

視圖是用戶看到并與之交互的界面。作為視圖來(lái)講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。
模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。
控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。
下面是應(yīng)用MVC的小例子:
封裝一個(gè)實(shí)體類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>
創(chuàng)建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中,啟動(dòng)Tomcat,打開(kāi)瀏覽器,輸入網(wǎng)址http://127.0.0.1:8080/JSP_JSTL_Project/mvc 結(jié)果如下: