如何快速理解Web項目

入職后發現企業中的項目往往和自己接觸的稍微不同,需要理解好配置文件,而不是像以往一樣直接上網down一個配置文件,企業中的項目很多類都是自己書寫的與業務十分緊密關聯。
企業中,項目的分離,可能調用服務調用數據庫,不同的項目結構大同小異,但是基本原理還是一樣的。
下文將介紹如何快速理解一個基于Spring的JavaWeb項目。

總述

公司的項目往往具有測試,開發,生產的等多種環境,項目的運行部署在內網內,大多數人開始接觸的項目都是公司整體項目的一小塊,根據公司大項目的 開發文檔,需求文檔查看整體業務,大的技術框架,再開始進行自己的Web項目研究。
其中我們的web項目設計不會脫離規范,可以根據查看順序去梳理業務細節。
查看順序:配置文件→依賴文件→MVC(配合開發者工具走通 一個邏輯)→配合參數類進行業務熟悉。
最后對于緩存,其他接口的實現,分布式架構等可以先不關注,后期發展,走好第一步。

web.xml

Web.xml文件是項目核心配置文件。
首部:xml書寫規則的Schema文件。
主體配置:基本項目依賴文件,Servlet配置,監聽器,過濾器,session超時,歡迎錯誤頁面等。

上下文[context-param]
作用:該元素用來聲明應用范圍(整個WEB項目)內的上下文初始化參數。
param-name 設定上下文的參數名稱。必須是唯一名稱
param-value 設定的參數名稱的值。

selvert配置,所有URL請求都將被Spring MVC的DispatcherServlet截獲。。

  <servlet>
        <servlet-name>Dispatch</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
  </servlet>
 <!--"/"路徑型配置, 請求是否加后綴都可以 -->
  <servlet-mapping>
        <servlet-name>Dispatch</servlet-name>
        <url-pattern>/</url-pattern>
  </servlet-mapping>

注:命名中默認文件路徑為/WEB-INF/[servlet-name取的名字]-servlet.xml

監聽器[listener]
一個Java類用來監聽其他的JavaBean的變化,在javaweb中監聽器就是監聽三個域對象的狀態(request,session,servletContext)。

過濾器[Filter]
實際上就是對web資源進行攔截,做一些處理后再交給下一個過濾器或servlet處理
通常都是用來攔截request進行處理的,也可以對返回的response進行攔截處理
作用:自動登錄,統一設置編碼格式,訪問權限控制,敏感字符過濾等。

安全限制[security-constraint]
之前未接觸,限制用戶的方法訪問相應的資源。

會話參數[Session]
設置會話()過期時間,其中時間以分鐘為單位,假如設置60分鐘超時:

<session-config> 
<session-timeout>60</session-timeout> 
</session-config>

web.xml文件一般位于項目的WEB-INF目錄下。


web.xml位置

web.xml加載過程:https://blog.csdn.net/ahou2468/article/details/79015251

順序是:<context-param>-><listener>-><filter>-><servlet>。其中,如果web.xml中出現了相同的元素,則按照在配置文件中出現的先后順序來加載。

Spring配置文件

不詳細介紹Spring構造Bean的具體參數,以及配置信息。

DispatcherServlet配置

DispatcherServlet是Spring提供的前置處理器服務,本質是Servlet,集中處理來自用戶的HTTP請求。
一般配置內容:基本掃描Bean,mvc資源處理(攔截器,靜態資源)


DispatcherServlet配置文件

Spring其他配置

一般在resources文件夾下,具有Spring需要裝載的Bean屬性配置,可以多文件設計。

spring Bean配置詳解:http://www.lxweimin.com/p/b9f450fdd69a

Spring的相關配置可以讓我們了解系統的裝載類(核心業務相關類),掃描域,攔截器可以看到系統統一的業務數據處理。

pom.xml

Java項目一般會配合Maven,找到pom.xml文件快速找到項目依賴,可大體了解項目的技術框架和公司企業內部jar包。


pom.xml文件

Java目錄

為企業項目的一個模擬文件路徑,雖然可能和常見的不同,但是本質是一樣的。
企業級項目一般公共部分具有常量定義(constants),配置參數(config),異常處理(exception),攔截器(interceptor),工具類(utils),驗證類(validation),模板引擎(view)。
通過MVC相關文件夾熟悉代碼:
域(domain)/對象(vo/entity):快速了解業務實體。
業務(handler/service/dao/mapper):具體處理業務。
控制器(controller):處理,數據控制業務跳轉。

注:handler可能調用服務,系統數據庫不透明。
同時可以根據其他參數類,枚舉類了解系統業務和參數含義。
例子如下:


Java目錄

其他

webapp:視圖相關文件目錄。
host文件:內網相關服務器配置,可能需要和公司員工索要。
其他配置文件:證書,服務器,日志,框架等。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • IOC 控制反轉容器控制程序對象之間的關系,而不是傳統實現中,有程序代碼之間控制,又名依賴注入。All 類的創建,...
    irckwk1閱讀 970評論 0 0
  • 對于java中的思考的方向,1必須要看前端的頁面,對于前端的頁面基本的邏輯,如果能理解最好,不理解也要知道幾點。 ...
    神尤魯道夫閱讀 829評論 0 0
  • spring官方文檔:http://docs.spring.io/spring/docs/current/spri...
    牛馬風情閱讀 1,721評論 0 3
  • 一. Java基礎部分.................................................
    wy_sure閱讀 3,833評論 0 11
  • 前文 剛剛入職,項目大范圍的使用到了 Spring + SpringMVC + MyBatis 框架,對于一個 J...
    琦小蝦閱讀 11,955評論 0 7