javaweb中MVC模式

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的模式進行代碼編寫的時候有極大的好處,每一個功能塊都分開,能夠讓不同的人進行不同的代碼編寫更高效的完成任務。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章