MVC模式在編程中能夠提供能很大的好處,所以很多的項目中一般都採用這種方法。
下面我們將以javabean來進行MVC的學習,之前我每一篇文章都截圖,以便於能夠更加清楚執行效果,幫助大家理解,但是我剛纔發現,這些圖片在編輯文章的時候可以直接粘貼,我排版好之後發佈出去,點開之後一張圖片都沒有了,真是傷心。所以接下來的文章中,我都儘量不配圖了。大家如果有什麼不懂的地方,評論區我會回答。
- 首先我們需要建立一個javabean的類,該類中一定要包含無構造參數的構造函數(相當於M)。
package com;
public class Customer {
private String username;
private String password;
public Customer(){};//不帶參數的構造函數
//帶參數的構造函數
public Customer(String username,String password){
this.username = username;
this.password = password;
}
//getter方法
public String getusername(){return this.username;};
public String getpassword(){return this.password;};
//setter方法
public void setusername(String username){this.username = username;};
public void setpassworde(String password){this.password = password;};
}
-
然後編寫登陸頁面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>login</title> </head> <!-- 頁面的樣式文件 --> <style type="text/css"> body{ background-color : #eee; } #first{ width:500px; margin:30px auto; } </style> <body> <div id="first"> ${sessionScope.message}<br><br> <form action="login" method="post" > <table> <tr> <td>用戶名:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>密 碼:</td> <td><input type="password" name="password"></td> </tr> <tr> <td><input type="checkbox" name="check" value="check"/>自動登錄<br></td> </tr> <tr> <td><input type="submit" value="確認"></td> <td><input type="reset" value="取消"></td> </tr> </table> </form> </div> </body> </html>
- 在login.java 中使用javabean的實例customer來進行參數傳遞(相當於C):
package com;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;;
@WebServlet(name="/Login",urlPatterns={"/login"})
public class Login extends HttpServlet {
private static final long serialVersionUID = 1L;
public Login() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
//構建類對象
Customer customer = new Customer(username,password);
HttpSession session = request.getSession();
synchronized(session){
session.setAttribute("customer", customer);
}
RequestDispatcher rd = request.getRequestDispatcher("/show.jsp");
// RequestDispatcher rd = request.getRequestDispatcher("/ELshow.jsp");
rd.forward(request, response);
}
}
- 最後編寫一個顯示界面的jsp文件實現顯示功能(相當於V):
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="customer" class="com.Customer" scope="session">
<jsp:setProperty name="customer" property="*"/>
</jsp:useBean>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>show</title>
</head>
<body>
<h2>用戶信息如下:</h2>
<table boder="1">
<tr>
<td>用戶名:</td>
<td><jsp:getProperty name="customer" property="username"/></td>
</tr>
<tr>
<td>密碼:</td>
<td><jsp:getProperty name="customer" property="password"/></td>
</tr>
</table>
</body>
</html>
然後在頁面上進行URL訪問,就會得到用戶的信息。這裏不進行圖片顯示(希望CSDN能夠解決快速圖片的問題)。
這樣的MVC的模式進行代碼編寫的時候有極大的好處,每一個功能塊都分開,能夠讓不同的人進行不同的代碼編寫更高效的完成任務。