日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

MVC模式 在Java Web应用程序中的实现

發布時間:2024/7/19 java 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MVC模式 在Java Web应用程序中的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、MVC簡介

MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。

MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設計創建 Web 應用程序的模式。

Model(模型)表示應用程序核心(比如數據庫記錄列表)。

View(視圖)顯示數據(數據庫記錄)。

Controller(控制器)處理輸入(寫入數據庫記錄)。

Model(模型)是應用程序中用于處理應用程序數據邏輯的部分。通常模型對象負責在數據庫中存取數據。

View(視圖)是應用程序中處理數據顯示的部分。通常視圖是依據模型數據創建的。

Controller(控制器)是應用程序中處理用戶交互的部分。通常控制器負責從視圖讀取數據,控制用戶輸入,并向模型發送數據。

?

二、Java web應用程序的主要組件

a)?Servlet

  • Servlet運行于Web容器中,如Tomcat,它可以被Web容器動態加載,接收瀏覽器請求,調用其他組件處理請求,然后把處理結果返回。
  • 當瀏覽器訪問某個Servlet時,Web容器將會創建一個ServletRequest對象和ServletResponse對象,并且把用戶的請求信息封裝在ServletRequest對象中。然后把這兩個對象作為參數傳輸給Servlet的特定方法中。在該方法中處理請求,把處理結果封裝在ServletResponse對象中,返回給Web容器。最后Web容器把結果返回到瀏覽器去解析、顯示。
  • ?

    b)?EJB

    Enterprise?Java?Bean(EJB)組件是服務器端的Java組件。該組件基于標準分布式對象技術、CORBA和RMI等技術,用于實現企業級應用的額業務邏輯。

    c)?JSP

    ???JSP是一種動態網頁技術。它把HTML頁面中加入Java腳本, 以及JSP標簽構成JSP文件。當瀏覽器請求某個JSP頁面時, Tomcat會把JSP頁面翻譯為Java文件。然后將它編譯為class 文件,接著執行它,把生成的HTML頁面返回到客戶端顯示。

    d)?JavaBean

    JavaBean組件是一種符合特定規范的Java對象。在JavaBean組件中定義一系列的屬性,并且每個屬性都提供setter和getter方法,這樣就可以使用該組件存儲一些中間數據。例如ServletRequest的請求信息、從數據庫中查詢出來的信息等。

    e)?XML語言

    XML(Extensible Markup Language)是一種用來創建自定義標記的標記語言。

    ?

    ?

    三、Java Web解決方案(開發方法)

    a)?JSP+Servlet+JavaBean

  • 特點:JSP作為視圖,來表現頁面;Servlet作為控制器,控制程序的流程并調用業務進行處理;JavaBean封裝了業務邏輯。遵循了MVC設計模式。
  • 缺點:沒有統一的開發框架導致開發周期長。
  • b)?JSP+JavaBean

  • 特點:該模式將業務邏輯與頁面表現進行分離,在一定程度上增加了程序的可調試性和維護性。
  • 缺點:頁面將控制與顯示集于一身。
  • 結論:簡單,適合小型項目的快速構建與運行。
  • c)?Struts

  • 特點:成熟的MVC開發框架。
  • 構成:
  • 控制器:
  • a)?ActionServlet 組件:Struts框架的中央控制器。

    b)?RequestProcessor 組件:每個子模塊都具有的請求處理器。

    c)?Action組件:業務代理,它將調用模型進行一項具體的業務邏輯處理。

  • 模式:通常在Structs中使用其他模型組建來實現業務邏輯。如:JavaBean技術、EJB技術、Hibernates設計模式。
  • 視圖:主要由JSP頁面構成;
  • a)?還包括HTML文檔;

    b)?標準標簽庫(JSTL)和Struts標庫;

    c)?JavaScript腳本和CSS樣式;

    d)?多媒體文件;

    e)?消息資源文件;

    f)?ActionForm類。

  • 結論:對于一些大型的項目,Struts框架會提高開發效率,并對后期的維護有很大好處。
  • ?

    d)?Spring

  • 特點:擁有IOC和AOP兩種先進的技術為基礎,完美的簡化了企業級開發的復雜度,是一個理想的Web程序框架。
  • 構成:
  • 核心模塊:實現了IOC模式,包含BeanFactory類負責對JavaBean的配置與管理。
  • 上下文模塊:繼承BeanFactory類,添加了事件處理、國際化、資源裝載、透明裝載以及數據校驗等功能,提供了框架式的Bean訪問方式和很多企業級功能。?如:JNDI訪問、支持EJB、遠程調用、繼承模板框架、E-mail和定時任務調度等。
  • AOP模塊:提供了用標準Java語言編寫的AOP框架,使應用程序拋開EJB的復雜性,但擁有傳統EJB的關鍵功能。
  • DAO模塊:提供了JDBC的抽象層,并且提供了對聲明式事物和編程式事務的支持。
  • Web模塊:建立在上下文模塊基礎之上,提供了Servlet監聽器的Context和Web應用的上下文。對現有的Web框架如:JSF、Tapestry、Struts等提供了集成。
  • O/R映射模塊:提供了對現有ORM框架的支持如Hibernate
  • Spring MVC框架:建立在核心模塊之上,嫩夠適應于多種多視圖、模板技術、國際化和驗證服務,實現控制邏輯和業務邏輯清晰的分離。
  • e)?Struts+Hibernate

  • 特點:利用Struts的MVC設計模式,與Hibernate持久化對象組成的開發方案。
  • 結論:對于一些大型的項目,這種方式會提高開發效率,并對后期的維護有很大好處。
  • ?

    f)?Struts+Spring+Hibernate

  • 特點:
  • Struts負責表示層,
  • Spring負責邏輯層的業務,
  • Hibernate持久層中數據庫的操作,組成的開發方案。
  • 結論:對于一些大型的項目,這種方式會提高開發效率,并對后期的維護有很大好處。
  • ?

    四、常用的Java Web的MVC框架

    a)?Struts

    Struts是一個基于Sun J2EE平臺的MVC框架,主要是采用Servlet和JSP技術來實現的。由于Struts能充分滿足應用開發的需求,簡單易用,敏捷迅速,在過去的一年中頗受關注。Struts把Servlet、JSP、自定義標簽和信息資源(message resources)整合到一個統一的框架中,開發人員利用其進行開發時不用再自己編碼實現全套MVC模式,極大的節省了時間。

    b)?SpringMVC

    Spring MVC屬于SpringFrameWork的后續產品,已經融合在Spring Web Flow里面。Spring 框架提供了構建 Web 應用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構,從而在使用Spring進行WEB開發時,可以選擇使用Spring的SpringMVC框架或集成其他MVC開發框架,如Struts1,Struts2等。

    ?

    c)?Model 2

    Model 2是基于MVC(Model-View-Controller,模型-視圖-控制)架構模式的,通常將小服務(Servlet)或過濾器(Filter)作為控制器,其作用是接受用戶請求并獲得模型數據然后跳轉到視圖;將JSP頁面作為視圖,用來顯示用戶操作的結果;模型當然是POJO(Plain Old Java Object),它是區別于EJB(Enterprise JavaBean)的普通Java對象,不實現任何其他框架的接口也不扮演其他的角色,而是負責承載數據,可以作為VO(Value Object)或DTO(Data Transfer Object)來使用。

    轉載于:https://www.cnblogs.com/hehejeson/articles/6754638.html

    總結

    以上是生活随笔為你收集整理的MVC模式 在Java Web应用程序中的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。