MVC開發模式

來源:互聯網
上載者:User

標籤:

MVC簡單介紹

  Java Web應用的結構一個經曆了兩種開發模式,分別為Model1和Model2。Model1由大量的JSP頁面以及少量的JavaBean組成,頁面和Java代碼結合在一起無論是開發、擴充還是維護都有極大的不便,所以基於MVC開發模式的Model2應運而生。

  MVC是一種開發模式,它可以將我們的代碼解耦,讓視圖代碼,和我們的邏輯代碼分開編寫,為我們後期的維護帶來了極大的便利。MVC將我們的項目結構分為三個部分視圖層(View)、控制層(Controller)、模型層(Model),View專職於視圖的顯示,也就是我們在一個應用的可以看到的頁面,Model專職於和資料庫的增刪改查的操作,Controller負責把View和Controller串連起來,是兩者之間的一個橋樑。

  展示了MVC開發模式是如何工作的:

            mvc簡圖

  我們在頁面(View)上產生的請求(點擊一個超連結產生一個location或者是圖片的src請求)會由控制器(Controller)進行處理,控制器(Controller)根據使用者的請求作出相應的操作,如果需要資料的互動則調用模型層(Model)的方法來完成資料的互動,模型層(Model)主要處理資料的增刪該查的操作。這樣一套流程跑通之後就完成了我們的一次請求和響應。

  假如我們現在有一個使用者註冊的功能來實現。

  View層如下:

<form method="post" action="demo!register.action">    使用者名稱<input type="text" name="username"><br/>    密  碼<input type="text" name="password"><br/>    郵  箱<input type="text" name="email"><br/>    <input type="submit" value="註冊"></form>

  Controller層如下:

private String username;private String password;private String email;public String register() throws Exception{    HandlerService service = new HandlerService();    if(service.HandlerRegister(username, password, email)){        return "success";    }else{        return "fail";    }}

  Model層如下:

public boolean HandlerRegister(String username,String password,String email){    try {        /*        * 這裡執行資料庫的操作        * */        System.out.println(username);        System.out.println(password);        System.out.println(email);        return true;    } catch (Exception e) {        return false;    }}

  現在我們把焦點放在處理流程上,上面代碼的具體實現請忽略。

  首先我們在頁面上產生一個請求:demo!register.action

  這個請求會由控制器(Controller)來進行處理:擷取使用者輸入的資訊,然後作為實參傳給模型層方法由模型層來完成對使用者輸入資料的操作,然後將結果反饋給使用者

  模型層主要實現資料處理的邏輯,我們可以把模型層方法看做我們平時封裝的方法,預留出參數,然後這個方法由控制器(Controller)來調用

  (上面的請求demo!register.action和控制器返回的"success"、"fail"顯示的頁面都是由struts2來控制的)

MVC開發模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.