① java web現在流行用什麼框架
主流 Java Web 開發框架有Spring 框架、MyBatis 框架、 Hibernate 框架、 Struts 2 框架等。
1、Spring 框架
Spring 框架是一個輕量級的框架,滲透了 Java EE 技術的方方面面。Spring 框架是由於軟體開發的復雜性而創建的,是一個開源框架。Spring 框架的用途不僅限於伺服器端的開發,從簡單性、可測試性和松耦合性角度而言,絕大部分 Java 應用都可以從 Spring 框架中受益。
2、MyBatis 框架
MyBatis 框架是一個優秀的數據持久層框架,可在實體類和 SQL 語句之間建立映射關系,是一種半自動化的 ORM 實現。Mybatis 的封裝性要低於 Hibernate 框架,且性能優異、簡單易學,因此應用較為廣泛。
3、Hibernate 框架
Hibernate 框架不僅是一個優秀的持久化框架,也是一個開放源代碼的對象關系映射框架。它對 JDBC 進行了輕量級的對象封裝,將 POJO 與資料庫表建立映射關系,形成一個全自動的 ORM 框架。Hibernate 框架可以自動生成 SQL 語句,且自動執行。
4、Struts 2 框架
Struts 2 框架以 WebWork 的優秀設計思想為核心,吸收 Struts 框架的部分優點,提供了一個更加簡潔的基於 MVC 設計模式實現的 Web 應用程序框架,它本質上相當於一個 Servlet。在 MVC 設計模式中,Struts 2 框架作為控制器(Controller)來建立模型與視圖的數據交互。
(1)java網頁框架擴展閱讀:
Java Web 開發框架應用要點:
搭建Java Web應用的開發環境-----部署Tomcat伺服器、用eclipse創建Server服務、構建Java Web項目、建立第一個JSP文件、 運行JSP文件。
第一個要點是掌握tomcat的安裝和部署。在Windows系統上安裝Tomcat相對簡單,下載壓縮包解壓縮到任意目錄即可(目錄名稱不要含有中文字元)。進入tomcat的bin目錄,可以直接運行startup.bat啟動tomcat服務。
第二個要點是在eclipse中添加Server服務。把tomcat與eclipse進行關聯,方便eclipse管理tomcat。
第三個要點是構建Java Web項目。Web項目開發的第一步就是要建立項目。在新建Project項目時,選擇Dynamic Web Project項目類型,即可創建Web項目。
第四個要點是建立的項目如何在Server中運行。選擇要運行的JSP文件,單擊右鍵,在彈出的菜單中選擇Run on Server命令即可,初次運行項目時,需要配置項目在哪個Server中運行(如有多個Server)。
② java web主流框架有哪些 知乎
所謂的JAVAWEB三大框架,1、hibernate,2、struts2,
3、spring。
企業一般是用的是自己的框架。
你可以了解下這三個玩意,看看是如何控制前台頁面和後台之間,數據是如何交互的。
③ 幾種Java的Web框架的對比
自離首次發布 10 多年以來,Spring MVC 框架仍然領先於競爭對手。隨著時間的推移,它擴展成一個完整的MVC框架,並不斷演變成一個全面的Java框架。作為集成特殊應用科學的分層J2EE / Java框架,該框架為軟體工程師提供了用於 Web 應用程序配置,應用程序開發和安全項目的完整工具包。該框架以其發達的生態系統而聞名,它提供了許多附加選項,從SOAP Web服務,REST API到安全加密和授權。
優點:
增強模塊化的輕量級容器
可以跨各種平台進行部署
靈活的依賴注入使用
包括XML,Java和注釋配置的三路配置
通過POJO's緩解了注射測試的數據
缺點:
學習曲線比較陡峭
新手實施比較困難
需要花費時間部署
Oracle 認為 JSF 是一個實用網路 Java 框架,旨在簡化基於Web的UI的集成開發。雖然這個框架在Java開發方面不是很好,但是Oracle提供的文檔很容易使用。這是一種標准化的技術,擁有豐富的工具和庫,可以為你在高度復雜的應用程序中鋪平道路。JSF規范允許啟用標准用戶界面組件的重用和擴展。它減少了創建和維護Java應用程序在伺服器上運行和在目標客戶端上呈現 UI 應用程序的痛苦。不僅如此,它還提供簡單的數據傳輸和可重用的UI組件。
優點
由於它可以創建可重復使用的組件,因此效率更高且一致
支持像EJB這樣的JSF實現的優秀供應商(IBM,Oracle,JBoss等)
准備使用像Apache,Infragistics,Richfaces等組件
方便開發人員,特別是那些使用IDE軟體的人
JSF的缺點
陡峭的學習曲線
沒有考慮書簽工具
不可擴展
原始Ajax支持
缺乏靈活性
Google Web Toolkit(GWT)是一個開源開發工具集,使開發人員能夠構建和優化復雜的JS前端應用程序。它的主要目標是提供高性能Web應用程序的開發,即使開發人員不熟悉 JavaScript,XMLHttpRequest 或瀏覽器等偏冷門的知識。為了讓其可信度高,谷歌自己的許多產品,包括 AdSense,Hotel Finder,Wallet,AdWords 等都使用 GWT。
優點:
更容易學習
內置IDE支持重構Java代碼
可以在客戶端大量構建響應式Web應用程序,並減少伺服器端的瑣事
可以迭代地平滑地從典型的Web應用程序遷移到GWT應用程序
即使在使用AJAX的情況下,也具有內置的瀏覽器後退按鈕支持
缺點:
僅對Java開發人員有利,對PHP或.NET的開發人員沒有太大幫助
由於快速發展的GWT,有許多版本很難獲得所有功能和介面
編譯速度慢,需要使用專有方法來定義結構
Grails 是一個開源的Java Web框架,旨在將開發人員的生產力與默認值和Convention-over-Configuration API相提並論。它與Java虛擬機(JVM)相集成,同時提供強大的功能,包括編譯時元編程,非同步編程和領域特定語言。Grails採用強大的視圖技術,集成的NoSQL / ORM支持,插件和Spring支持的依賴注入進行更新。讓你可以輕松集成並互操作Java,Java EE和JVM容器。
優點:
Grails提供了一個快速的開發周期
非常適合小型和中型項目
各種插件可供選擇
簡單而令人易懂的文檔
可以在不重啟伺服器的情況下更改配置
缺點:
使用運行時語言可能會很困難
開發多線程應用程序,GORM 可能會出現問題
復雜的集成過程
延遲運行時間
5.Struts 2 - Java Web框架
Apache的Struts是一個用於開發現代Java Web應用程序的開源免費MVC框架。它包含一組類和介面,共同協作開發Web應用程序。它適用於許多Java應用程序的網路框架,並且受到了很多社區的支持。為了進一步擴展Struts Java框架,Struts 2 作為後繼者有了很大的改變。這個框架最適合於開發當代 Java EE web 應用程序的工程師,Apache 軟體基金會藉助 Struts 2 為開發人員提供了一個用於開發面向網路的,企業級應用程序,並優化整個開發流程的工具
優點:
沒有線程安全問題
依賴注入使得測試更簡單
它可以使用「對象圖導航語言」(OGNL)
Struts 2框架的Servlet上下文以簡單的地圖形式表示
它支持通過驗證方法進行手動驗證,並且還包含子框架驗證
缺點:
由於它與Struts 1完全不同,難以遷移
Struts 2 文檔非常有限
由於文檔管理不善,新用戶很難發現它的優點
④ Javaweb現在流行用什麼框架
說到java,很多人頭都大成了兩個,因為Java框架很多。但陪悔是比較好的方面是,這些框架都能解決特定的問題,提高開發效率、簡化我們的代碼復雜度,現在除了很多大家通用的一些主流框架外,很多公司針對自己的業務會自定義一些公司內部的框架,當然作為學習者java課程告訴大家首先要清楚Javaweb都有哪些框架需要學習。
回答這個問題首先要看我們的項目規模,對於」體量」較小的單應用項目,和需要處理海量數據、高並發的分布式項目所學習使用的框架還是不同的。
ORM型框架,很多Javaweb程序都需要使用關系資料庫來進行數據的持久化,所以對於這種需要進行資料庫操作的框架,也就是對JDBC進行封裝的ORM框架是需要學習的,目前比較流行的是基於SQL的mybatis框架,這是一個輕量級的ORM框架,學習使用起來比較容易上手,同類型的還有Hibernate框架。輪亂斗
MVC型框架,MVC把程序從邏輯上分為視圖層、控制層、模型層,各層各司其職,之間是相互調用的關系而不是相互依賴的關系,這種模式能很好的適應需求的變化及軟體的升級變更。目前應用較多的MVC框架是springMVC框架,這個框架有清晰的角色劃分,有強大而直接的配置方式,高效的綁定和驗證等很多優勢。較早的Struts2框架也是MVC框架。
Spring框架,其實Java的從業者很多都繞不開Spring,Spring家族有很多「工具」,編程思想從面相過程到面相對象是一個巨大的進步,然而隨著程序越來越復雜,對象越來越多,高效的「管理」及應用這些對象變得越來越重要,Spring的IoC就是把對象的創建、「管理」交由Spring容器來進行,來實現控制反轉,同時提供了各種注入值(DI)的方式,大大提高和簡化了我們的工作,這就是javaweb需要學習的臘磨spring的IoC/DI;我們程序的業務比較復雜時,除了要完成核心功能外,還需要完成注入異常處理、日誌記錄、事務處理等常規功能,這些常規的操作比較耗費精力,springAOP(面向切面編程)就是解決這個問題的。
Javaweb需要學習一些前端框架,尤其是問題中提到的已經寫好了數據介面,或者是已經有了簡單的後台,前端框架jQuery是一定要學習的,如果項目基於效率考慮,需要前後端分離,可以學習vue等框架。
⑤ 當前java web 開發用得一般都是哪些框架
1.S2SH(struts2+spring+hibernate)
基於Struts2+Spring3+Hibernate4開發java Web企業應用開源框架s2jh源碼分享
spring+hibernate+struts2開發OA企業辦公管理系統源碼分享
Struts2+Hibernate3+Spring三大框架技術實現MySQL數據分頁
Spring+struts2+hibernate+easyui基礎許可權管理框架
Spring+Struts2+Hibernate三大框架開發企業人力資源管理系統源代碼下載
Spring mvc+struts2+Hibernate整合實例代碼(註解詳解)
2.S2SM(struts2+spring+mybatis)
Spring+Struts2+mybatis手動配置三大框架整合源代碼下載
Struts2+mybatis開發音樂分享系統
3.SSH(spring mvc+spring+hibernate或struts+spring+hibernate)
Spring MVC+Spring+Hibrenarte實現的簡單的CRUD項目實例
springMVC註解與hibernate完美結合完成基本的增刪改查demo源碼下載
springmvc+hibernate+spring+easyui開發bsalse進銷存後台管理系統源代碼下載
spring 3.0+spring MVC+Hibernate框架搭建教程(附:springMVC文件上傳功能)
spring+struts2+Hibernate三大框架開發某制葯廠管理系統源代碼下載
Spring mvc+struts2+Hibernate整合實例代碼(註解詳解)
4.SSM(spring mvc+spring+mybatis)
SpringMVC+Mybatis整合實現簡單許可權控制系統代碼
⑥ 常用的Java Web框架簡介
Web框架是人們在使用某種語言編寫Web應用服務端時關於架構的最佳實踐
有些Web框架是從實際的Web項目抽取出來的 也就是說 做一個具體的應用項目時 採取的架構比較理想 就把這部分和領域無關 而僅和Web的請求和響應處理有關的設計拿出來 形成一個基礎 在開發別的應用項目的時候則可以從這基礎做起 讓開發者更關注領域問題 而不是Web的請求和響應的控制
也有些Web框架是直接設計出來的 很多Web框架在設計的時候也都借鑒了別的框架 吸取優點 修改不足 並根據自己的框架的定位 在特定方面有自己的發揮 形成了自己的特點 比如有的web框架追求的是松耦合性 層次 結構之間都不密切綁定 有的Web框架則追求敏捷性 強調約定而不是配置
Java 的 Web框架雖然各不相同 但基本也都是遵循特定的路數的 使用Servlet或者Filter攔截請求 使用MVC的思想設計架構 使用約定 XML或 Annotation實現配置 運用Java面向對象的特點 面向抽象實現請求和響應的流程 支持Jsp Freemarker Velocity等桐氏視圖
JSF
優點
Java EE標准 這意味著有很大的市場需求和更多的工作機會
上手快速並且相對容易
有大量可用的組件庫
缺點
大量的JSP標簽
對REST和安全支持不好
沒有一個統一的實現 既有SUN的實現 又有Apache的實現——MyFaces
國內的OperaMasks還支持AJAX 以及有開發工具 支持
Spring MVC
優點
對覆蓋綁定(overriding binding) 驗證(validation)等提供生命周期管理
與許多表示層技術/框架無縫集成 JSP/JSTL Tiles Velocity FreeMarker Excel XSL PDF 等
便於測試——歸功於IoC
缺點
大量的XML配置文件
太過靈活——沒有公共的父控制器
沒有內置的Ajax支持
Stripes
優點
不需要書寫XML配置文件
良好的學習文檔
社區成員很熱心
缺點
社區比告埋較小
不如其他的項目活躍
ActionBean裡面的URL是硬編碼的
Struts
優點
架構簡單——易於擴展
標記庫很容易利用FreeMarker或者Velocity來定製
基於控制器或者基於頁面的導航
缺點
文檔組織得很差
對新特徵過分關注
通過Google搜索到的大多是Struts x的文檔
Tapestry
優點
一旦學會它 將極大地提高生產率
HTML模板——對頁面設計師非常有利
每出一個新版本 都會有大量的創新
缺點
文檔過於概念性 不夠實用
學習曲線陡峭
發行周期長——每年都有較大的升級
Wicket
優點
對Java開發者有利(不是Web開發者)
頁面和顯示綁定緊密
社區活躍——有來自創建者的支持
缺點
HTML模板和Java代碼緊挨著
需要對OO有較好的理解
Wicket邏輯——什麼都用Java搞定
在Java的Web框架中 我使用過Struts Struts 試用過Stripes Wicket 了解過JSF SpringMVC 以我使用的經驗 我覺得看一局友散個Java Web框架應看看下面幾個方面
設計理念
一個框架設計出來應該有一個基本的思路 它為什麼要要被設計出來?有的框架的目標 就是提高效率 有的框架的目標的給用戶充分的選擇 有的框架的目標是充分了解實際需求 給用戶一個盡量合理的默認選擇 有的框架是要給使用者開發桌面程序的感覺 應該說 一個好的框架應該是實現了預期目標 體現出了自己的設計理念的
設計的合理性
設計的合理性表現在框架在一些關鍵問題上的處理 比如靈活性和敏捷性之間的權衡 硬編碼和文本配置之間的權衡 靈活性指的是可以適應用戶多樣的需求 很特殊的要求也能得到支持 有的框架的實現基於太多的約定 使得用戶只能遵循 而敏捷性指的是用戶在解決絕大多數常規問題的時候 能盡量少做工作 提高效率 框架設計者只能在這兩者見達到一個平衡點 權衡的怎麼樣 就很見水平了 硬編碼和文本配置之間的權衡也很有意思 文本配置的意義在於Java是一個編譯語言 強調代碼的封閉 講究擴展而不是修改 這種情況下文本配置信息可以很方便的在不修改程序的情況下改變程序行為 但是隨著一些靈活的腳本語言實現的 Web框架的出現 人們發現在這樣的框架中 腳本語言即做程序編碼語言 也做配置語言 還做視圖上的標記語言 這使我們對Java實現的框架有了一番新的審視 既然配置文件並沒有消除對程序的修改 為什麼不能在應編碼上下下功夫呢?
設計的平衡性
設計的平衡性指的是 框架在設計流程中各階段 各層次的實現方式時 所達到的上述權衡(靈活性和敏捷性之間的權衡等)應該是具有一致的水平 一個在控制上過分靈活 而視圖上具有非常大限制的框架是不能算做一個好的框架的
框架真的解放了開發者嗎
框架的目的是讓開發者把更多的精力放在領域問題 而非Web的請求和響應的處理問題上 而事實上框架都做到這一點了嗎?不可否認 框架的使用提高代碼的可維護性 但是框架在解放開發者這點上就未必了 有時還給開發者帶來了額外的負擔 事實上 直接使用Servlet 只要維持好代碼風格 一樣可以很有效率 當然 直接使用Servlet的靈活性就不用說了
在我接觸的Web框架中 我最推崇的是Struts 設計優雅 偏重靈活 也基本不造成額外的負擔 當然這些評價是和我參與的項目的規模有關的 其他規模的項目Struts 就未必合適了 我希望Struts 能在下面幾個方面有些改善
在提供文本配置方式的基礎上給一個約定配置的方式 讓開發者在大多數情況下可以不配置
配置也支持硬編碼 因為有時候維護可修改的硬編碼是很有效率的
lishixin/Article/program/Java/hx/201311/26313
⑦ 現在java web主要用什麼框架
三大框架:Struts+Hibernate+Spring
Java三大框架主要用來做WEN應用。
Struts主要負責表示層的顯示
Spring利用它的IOC和AOP來處理控制業務(負責對資料庫的操作)
Hibernate主要是數據持久化到資料庫
再用jsp的servlet做網頁開發的時候有個 web.xml的映射文件,裡面有一個mapping的標簽就是用來做文件映射的。當你在瀏覽器上輸入URL得知的時候,文件就會根據你寫的名稱對應到一 個JAVA文件,根據java文件里編寫的內容顯示在瀏覽器上,就是一個網頁。
一 .Struts框架:struts是開源軟體。使用Struts的目的是為了幫助我們減少在運用MVC設計模型來開發Web應用的時間。如果我們想混合使用Servlets和JSP的優點來建立可擴展的應用,struts是一個不錯的選擇。
1.流程:伺服器啟動後,根據web.xml載入ActionServlet讀取struts-config.xml文件內容到內存。
2.架構:Struts對Model,View和Controller都提供了對應的組件。ActionServlet,這個類是Struts的核心控制器,負責攔截來自用戶的請求。
Model部分:由JavaBean組 成,ActionForm用於封裝用戶的請求參數,封裝成ActionForm對象,該對象被ActionServlet轉發給 Action,Action根據ActionFrom裡面的請求參數處理用戶的請求。JavaBean則封裝了底層的業務邏輯,包括資料庫訪問等。
View部分:該部分採用JSP實現。Struts提供了豐富的標簽庫,通過標簽庫可以減少腳本的使用,自定義的標簽庫可以實現與Model的有效交互,並增加了現實功能。對應上圖的JSP部分。
Controller組件:Controller組件有兩個部分組成——系統核心 控制器,業務邏輯控制器。 系統核心控制器,對應上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet 類,因此可以配置成標注的Servlet。該控制器負責攔截所有的HTTP請求,然後根據用戶請求決定是否要轉給業務邏輯控制器。業務邏輯控制器,負責處 理用戶請求,本身不具備處理能力,而是調用Model來完成處理。對應Action部分。
二.Spring框架
Spring是一個解決了許多在J2EE開發中常見的的問題的強大框架。 Springle提供了管理業務對象的一致方法並且鼓勵了注入對介面編程而不是對類變成的好習慣。Spring的架構基礎是基於使用JavaBean屬性 的Inversion of Control 容器。然而Spring在使用IoC容器作為構建玩關注所有架構層層的完整解決方案方面是獨一無二的。Spring提供了唯一的數據管理 抽象包括簡單和有效率的JDBC框架,極大的改進了效率並且減少了可能的錯誤。Spring的數據訪問架構還集成了Hibernate和其他O/R mapping 解決方案。
三.Hibernate框架
Hibernate 是一個開源代碼的對象關系映射框架,對JDBC驚醒了費城輕量級的 的對象封裝,使得Java程序員可以隨心所欲的使用對象變成思維來操作資料庫。Hebernate可以應用在任何使用JDBC的場合,既可以在java的 客戶端程序使用,也可以在Servlet/JSP的Web應用中使用最具革命意義的事,Hibernate可以在應用EJB的J2EE架構中取代CMP, 完成數據持久化的重任
Hibernate的核心介面一共有5個,分別為:Session、 SessionFactory、Transaction、Query和Configuration。這5個核心介面在任何開發中都會用到。通過這些介面, 不僅可以對持久化對象進行存取,還能夠進行事務控制。下面對這五個核心介面分別加以介紹。
1.Session介面:負責執行被持久化對象的CRUD操作(CRUD的任務是完成與 資料庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同於 JSP應用中的HttpSession。這里當使用session這個術語時,其實指的是Hibernate中的session,而以後會將 HttpSession對象稱為用戶session。
2.SessionFactory介面:負責初始化Hibernate。它充當數據存儲 源的代理,並負責創建Session對象。這里用到了工廠模式。需要注意的是SessionFactory並不是輕量級的,因為一般情況下,一個項目通常 只需要一個SessionFactory就夠,當需要操作多個資料庫時,可以為每個資料庫指定一個SessionFactory。
3.Configuration介面:負責配置並啟動Hibernate,創建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然後創建SessionFactory對象。
4.Transaction介面:負責事務相關的操作。它是可選的,開發人員也可以設計編寫自己的底層事務處理代碼。
5.Query和Criteria介面:負責執行各種資料庫查詢。它可以使用HQL語言或SQL語句兩種表達方式。