MVC是三個單詞的縮寫:M,Model(模型);V,View( 視圖 ),C,Control(控制)。
MVC模式的目的就是實作Web系統的職能分工
Model層:實作系統的業務邏輯(javaBean)
View層:負責與使用者互動,即在界面上展示資料對象給使用者(html,jsp)
Control層:Model與View之間溝通的橋梁,它可以分派使用者的請求并選擇恰當的視圖以用于顯示,同時它也可以解釋使用者的輸入并将它們映射為模型層可執行的操作(Servlet)
下面通過一個登入的執行個體展現MVC:
項目結構如下:
其中,login.jsp為登入頁面;succes.jsp為登陸成功頁面;unsuccessful.jsp為登入失敗頁面
login.jsp:
<body>
<center>
<form action="UserServlet" method="post">
<h4>登入</h4>
<hr/>
姓名:<input type="text" name="username"/><br/>
密碼:<input type="password" name="password"/><br/>
<input type="submit" value="送出"/>
</form>
</center>
</body>
success.jsp:
<body>
<center>
<h3>登陸成功</h3>
<a href="<%=path %>/login.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >後退</a>
</center>
</body>
unsuccessful.jsp:
<body>
<center>
<h3>登陸失敗</h3>
<a href="<%=path %>/login.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >後退</a>
</center>
</body>
UserServlet.java(擷取視圖層傳過來的參數,并傳給模型層,待模型層判斷後調轉到相應的頁面)
package com.mvc.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mvc.javaBean.User;
public class UserServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
this.doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
String userName = request.getParameter("username");
String password = request.getParameter("password");
User user = new User();
if(user.validatorUser(userName, password)){
response.sendRedirect("success.jsp");
}
else{
response.sendRedirect("unsuccessful.jsp");
}
}
}
User.java(實作業務邏輯,即驗證使用者名與密碼是否正确,在這裡僅僅是驗證字元串是否相等,姓名與密碼都為“admin”時,登陸成功,也可以加上資料庫連接配接代碼)
package com.mvc.javaBean;
public class User {
public boolean validatorUser(String username, String password){
if(username.equals("admin") && password.equals("admin")){
return true;
}
else{
return false;
}
}
}
下面是web.xml的配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>MVC</display-name>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>UserServlet</servlet-name>
<servlet-class>com.mvc.servlet.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserServlet</servlet-name>
<url-pattern>/UserServlet</url-pattern>
</servlet-mapping>
</web-app>
下面是具體示範:
在該執行個體中
Model層:User.java
View層:ogin.jsp;succes.jsp;unsuccessful.jsp
Control層:UserServlet.java
具體代碼下載下傳猛點下方
http://download.csdn.net/detail/yezis/6937651