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 結果如下:
