如何快速理解Web項(xiàng)目

入職后發(fā)現(xiàn)企業(yè)中的項(xiàng)目往往和自己接觸的稍微不同,需要理解好配置文件,而不是像以往一樣直接上網(wǎng)down一個配置文件,企業(yè)中的項(xiàng)目很多類都是自己書寫的與業(yè)務(wù)十分緊密關(guān)聯(lián)。
企業(yè)中,項(xiàng)目的分離,可能調(diào)用服務(wù)調(diào)用數(shù)據(jù)庫,不同的項(xiàng)目結(jié)構(gòu)大同小異,但是基本原理還是一樣的。
下文將介紹如何快速理解一個基于Spring的JavaWeb項(xiàng)目。

總述

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

web.xml

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

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

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>

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

監(jiān)聽器[listener]
一個Java類用來監(jiān)聽其他的JavaBean的變化,在javaweb中監(jiān)聽器就是監(jiān)聽三個域?qū)ο蟮臓顟B(tài)(request,session,servletContext)。

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

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

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

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

web.xml文件一般位于項(xiàng)目的WEB-INF目錄下。


web.xml位置

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

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

Spring配置文件

不詳細(xì)介紹Spring構(gòu)造Bean的具體參數(shù),以及配置信息。

DispatcherServlet配置

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


DispatcherServlet配置文件

Spring其他配置

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

spring Bean配置詳解:http://www.itdecent.cn/p/b9f450fdd69a

Spring的相關(guān)配置可以讓我們了解系統(tǒng)的裝載類(核心業(yè)務(wù)相關(guān)類),掃描域,攔截器可以看到系統(tǒng)統(tǒng)一的業(yè)務(wù)數(shù)據(jù)處理。

pom.xml

Java項(xiàng)目一般會配合Maven,找到pom.xml文件快速找到項(xiàng)目依賴,可大體了解項(xiàng)目的技術(shù)框架和公司企業(yè)內(nèi)部jar包。


pom.xml文件

Java目錄

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

注:handler可能調(diào)用服務(wù),系統(tǒng)數(shù)據(jù)庫不透明。
同時可以根據(jù)其他參數(shù)類,枚舉類了解系統(tǒng)業(yè)務(wù)和參數(shù)含義。
例子如下:


Java目錄

其他

webapp:視圖相關(guān)文件目錄。
host文件:內(nèi)網(wǎng)相關(guān)服務(wù)器配置,可能需要和公司員工索要。
其他配置文件:證書,服務(wù)器,日志,框架等。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容