當前位置:首頁 » 網頁前端 » javaweb工程結構詳解
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

javaweb工程結構詳解

發布時間: 2022-08-29 09:08:47

1. JavaWeb學習路線

JavaWeb核心框架

  1. 持久層框架:Hibernate、iBATIS

  2. 表現層框架:Struts1、Struts2

  3. 業務層框架:Spring

  4. java學習路線圖:

    1、Hibernate:ORM

    Hibernate是一個Java ORM開發框架

    ORM是Object Relation Mapping的縮寫,顧名思義,即對象關系映射。

    ORM是一種以面向對象的方式來進行資料庫操作的技術。Web開發中常用的語言,都會有對應的ORM框架。而Hibernate就是Java開發中一種常用ORM框架,另一個現在流行的ORM框架是Mybatis。

    為什麼需要ORM框架?

    簡單地理解,通過Java進行資料庫訪問的正常流程可以分為以下幾步:

    准備好sql語句

    調用JDBC的API傳入SQL語句,設置參數

    解析JDBC返回的結果

    這個過程實際上非常麻煩,比如:

    在Java代碼中拼接SQL非常麻煩,而且易於出錯

    JDBC的代碼調用有很多重復性的代碼

    從JDBC返回的結果轉換成領域模型的Java對象很繁瑣

    而使用ORM框架,則可以讓我們用面向對象的方式來操作資料庫,比如通過一個簡單的函數調用就完成上面整個流程,直接返回映射為Java對象的結果。這個流程中很大一部分工作其實可以交給ORM自動化地幫我們執行。對,類似MVC框架,ORM框架會幫你處理好相關的繁瑣事情!

    2. Struts:MVC

    Struts是一個Java Web MVC開發框架。MVC早在1978年就作為Smalltalk的一種設計模式被提出來了,引用到Web應用中來時:

    模型Model用於封裝與業務邏輯相關的數據和數據處理方法

    視圖View是數據的HTML展現

    控制器Controller負責響應請求,協調Model和View

    Model,View和Controller的分開,是一種典型的關注點分離的思想,不僅使得代碼復用性和組織性更好,使得Web應用的配置性和靈活性更好。

    MVC開發模式下,Java Web開發會遇到URL路由、模板渲染、表單綁定/提交/驗證、Session封裝、許可權驗證、國際化等一系列通用的問題,而MVC框架會將這些通用問題都封裝進框架中,你在應用中根據自己的場景進行簡單的配置和編碼即可,MVC框架就能幫你處理好一切,可以極大地簡化代碼。

    3.Spring:DI/AOP

    Spring對應的關鍵詞是DI(依賴注入)與AOP(面向切面編程),可以認為是一個以DI和AOP為核心Java Web一站式的集成(粘合)框架。

    其中DI也稱為IoC(控制發轉)用於管理Java對象之間的依賴關系(一定要說DI是IoC實現方式的童鞋們見評論區),AOP用於解耦業務代碼和公共服務代碼(如日誌,安全,事務等)。DI和AOP能夠讓代碼更加簡單,具有良好的松耦合特性和可測試性,極大地簡化開發。理解這兩者是使用Spring框架的基礎。

    Spring框架對Java企業應用開發中的各類通用問題都進行了良好的抽象,因此也能夠把應用各個層次所涉及的特定的功能和開發框架(如接下來要說的MVC框架、ORM框架)方便得組合到一起(這也得益於依賴注入和面向切面編程帶來的強大功能)。Spring是一個極其優秀的一站式的Full-Stack集成框架,因此基於Spring核心,對Java應用開發中的各類通用問題幾乎都提供了針對性的開發框架,比如你耳熟能詳(如果你對這個問題感興趣的話)的Spring MVC,Spring Data。

    Java曾經有另外一個類似的一站式框架粘合框架Seam,這是Hibernate的作者、脾氣火爆的大神Gavin King的作品,核心是基於依賴注入來黏合JSF和EJB,不過推出時Spring已經大殺四方,Seam基本已經退出歷史舞台了。記得Seam提過一個我認為很不錯的概念:「雙向注入」,類似現在前端框架中的雙向綁定,當時來說還是很超前的。

2. java web項目 目錄結構問題

貌似.project裡面存著這個項目的具體信息,是否是web
項目,需要在文件裡面查找然後載入一些數據。
大概是這樣子的,具體沒深入過。

3. java 和javaWeb的區別 關系

java:一種編程語言

java web(JSP):網頁代碼

我們平常說的Java一般指Java SE,也就是Java Standard Edition,Java的標准版,一般用來開發桌面應用程序,但是在開發桌面應用程序上相對VB,Delphi,VC++並沒有什麼優勢。


JavaWeb則到了Java EE領域了,也就是Java Enterprise Edition,Java的企業版,看那個web就應該想到是與Internet有關的,其實開發JavaWeb應用程序,初級的一般是用JSP(Java Server Pages)+servlet+Javabean來開發的,對大型的網站一般是使用框架來開發的,例如struts,hibernate,spring,例如校內,你在登陸的時候會在地址欄看見Login.do,登陸以後會看見Home.do這樣的請求,典型的struts框架結構。


Java還有一個版本是JavaME,Java Micro Edition,Java的微型版,諾基亞手機上運行的Java程序就是指用這個版本開發的程序。

希望對您有所幫助!~

4. 請問java web項目+tomcat服務 的運作流程是怎麼樣的,像怎麼部署到伺服器,tomcat怎麼找到java項目的等

tomcat是一個web容器,java web項目相當與容器中的一個元素 ,當把java web項目部署到伺服器的時候 就相當於在容器裡面加入了一個元素
tomcat啟動的時候 tomcat容器會獲得裡面元素的相關信息 比如web項目的名稱

當用戶請求伺服器的時候 首先根據請求的一級域名找到你啟動的tomcat容器,容器在分析一級域名後面的請求字元竄截取請求的項目名字 ,根據項目名字 把請求信息發給 容器裡面與項目名字對應的web項目 然後web項目處理請求 處理完了 將響應信息 發給容器 容器在返回給用戶

在詳細一點
為什麼請求能夠找到開啟的tomcat伺服器?
首先你請求的地址是本機的ip地址 ,這樣請求能夠發送到本機上 , 那麼怎麼給本機的tomcat能 這關鍵點就是 埠了 請求會根據本機上所有開啟的程序的埠信息 給相應的程序
tomcat的默認埠是8080 所以你的請求地址需要加上:8080 當然你可以更改tomcat的埠比如80 這樣你就不用去在請求地址上加:8080 因為100以內的埠 會自動匹配

5. javaweb工程目錄結構是怎麼樣

│ └── model
│ │ └── Person.java
│ ├── resources
│ │ ├── db.properties
│ │ ├── log4j.xml
│ │ └── META-INF
│ │ └── persistence.xml
│ └── webapp
│ ├── index.html
│ ├── META-INF

6. web前端和javaweb有什麼區別

javaweb是java開發中的一個方向 java有搞安卓的,搞web的,搞嵌入式的,等等。

javaweb就是指搞web方向的,javaweb分兩塊一塊是伺服器端叫後端,另一塊叫前端,也就是web前端。

前端就是用戶能看到的部分,比如淘寶網,qq空間,網頁上你能看到的都是web前端做的。後端做的就是為前端的展示業務邏輯功能做處理。

7. 採用SSM框架的javaweb工程目錄結構是怎麼樣

借鑒github某項目的目錄
├── SSM-API // common API
│ ├── src/main
│ ├── ├──java/com/crossoverJie // specific code。
│ ├── ├──resources
├── SSM-BOOT // Available for internal use of bbo dependencies
│ ├── ├──resources/spring // bbo consumer configuration
├── SSM-SERVICE // The service implementation of the bbo application
│ ├── src/main
│ ├── ├──java/com/crossoverJie/api // specific code
│ ├── ├──├──controller // Heartbeat detection interface
│ ├── ├──├──bbo // Dubbo related code
│ ├── ├──├──├── // package
│ ├── ├──├──├──pojo // pojo package
│ ├── ├──├──├──service // service package
│ ├── ├──├──├──util // Toolkit
│ ├── ├──├──impl // implement bbo API
│ ├── ├──resources // configuration file
│ ├── ├──├──mapping // *.mapper configuration file
│ ├── ├──├──spring // Spring related configuration file
├── SSM-WEB // web application
│ ├── src/main
│ ├── ├──java/com/crossoverJie // specific code
│ ├── ├──├──controller // controller package
│ ├── ├──├──cxf // CXF related code
│ ├── ├──├── // package
│ ├── ├──├──enums // enum package
│ ├── ├──├──intercept // Interceptor
│ ├── ├──├──lucene // Lucene related code
│ ├── ├──├──pojo // pojo package
│ ├── ├──├──req // request package
│ ├── ├──├──res // response package
│ ├── ├──├──service // service pachage
│ ├── ├──├──shiro // shiro related code
│ ├── ├──├──util // Toolkit
│ ├── ├──├──vo // vo package
│ ├── ├──resources
│ ├── ├──├──mapping // *.mapper configuration file
│ ├── ├──webapp // front code
├── doc
│ ├──lucene // lucene related code
│ ├──sql // sql scripts
├── .gitignore // gitignore
├── pom.xml // parent pom
├── LICENSE
├── README.md

8. 兩個javaweb系統的交互以及怎麼架構

你可以使用 webseriver 進行交互,就可以不用考慮改架構的問題. 不同系統之間進行數據傳輸.
如果你是很大,像淘寶,騰訊等 這種高並發量就要採用分布式架構工程. 中間可以使用中間介進行管理傳輸. 知名的有 dobbo(阿里開發)...
如果只是小用戶, 小項目 , 其實直接使用 CXF等 webseriver框架就可以了

9. java web初學者 如何將一個javaWeb工程分為前台和後台兩個工程

首先 你得了解mvc 模式 模型 視圖 控制器
src 裡麵包含了 模型 控制器 也就是你說的後台
WebRoot 裡面的html 或者jsp 可以作為 視圖 也就是前台
你的這個程序 應該是個spring +mybatis 框架為基礎的

10. 幾種Java的Web框架的對比

  1. Spring MVC - Java Web 框架

自離首次發布 10 多年以來,Spring MVC 框架仍然領先於競爭對手。隨著時間的推移,它擴展成一個完整的MVC框架,並不斷演變成一個全面的Java框架。作為集成特殊應用科學的分層J2EE / Java框架,該框架為軟體工程師提供了用於 Web 應用程序配置,應用程序開發和安全項目的完整工具包。該框架以其發達的生態系統而聞名,它提供了許多附加選項,從SOAP Web服務,REST API到安全加密和授權。

優點:

  • 增強模塊化的輕量級容器

  • 可以跨各種平台進行部署

  • 靈活的依賴注入使用

  • 包括XML,Java和注釋配置的三路配置

  • 通過POJO's緩解了注射測試的數據

  • 缺點:

  • 學習曲線比較陡峭

  • 新手實施比較困難

  • 需要花費時間部署

2.JSF - Java Web 框架

Oracle 認為 JSF 是一個實用網路 Java 框架,旨在簡化基於Web的UI的集成開發。雖然這個框架在Java開發方面不是很好,但是Oracle提供的文檔很容易使用。這是一種標准化的技術,擁有豐富的工具和庫,可以為你在高度復雜的應用程序中鋪平道路。JSF規范允許啟用標准用戶界面組件的重用和擴展。它減少了創建和維護Java應用程序在伺服器上運行和在目標客戶端上呈現 UI 應用程序的痛苦。不僅如此,它還提供簡單的數據傳輸和可重用的UI組件。

優點

  • 由於它可以創建可重復使用的組件,因此效率更高且一致

  • 支持像EJB這樣的JSF實現的優秀供應商(IBM,Oracle,JBoss等)

  • 准備使用像Apache,Infragistics,Richfaces等組件

  • 方便開發人員,特別是那些使用IDE軟體的人

JSF的缺點

  • 陡峭的學習曲線

  • 沒有考慮書簽工具

  • 不可擴展

  • 原始Ajax支持

  • 缺乏靈活性

3.Google Web Toolkit - Java Web 框架

Google Web Toolkit(GWT)是一個開源開發工具集,使開發人員能夠構建和優化復雜的JS前端應用程序。它的主要目標是提供高性能Web應用程序的開發,即使開發人員不熟悉 JavaScript,XMLHttpRequest 或瀏覽器等偏冷門的知識。為了讓其可信度高,谷歌自己的許多產品,包括 AdSense,Hotel Finder,Wallet,AdWords 等都使用 GWT。

優點:

  • 更容易學習

  • 內置IDE支持重構Java代碼

  • 可以在客戶端大量構建響應式Web應用程序,並減少伺服器端的瑣事

  • 可以迭代地平滑地從典型的Web應用程序遷移到GWT應用程序

  • 即使在使用AJAX的情況下,也具有內置的瀏覽器後退按鈕支持

缺點:

  • 僅對Java開發人員有利,對PHP或.NET的開發人員沒有太大幫助

  • 由於快速發展的GWT,有許多版本很難獲得所有功能和介面

  • 編譯速度慢,需要使用專有方法來定義結構


4.Grails - Java Web 框架

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 文檔非常有限

  • 由於文檔管理不善,新用戶很難發現它的優點