使用IDEA開發JavaWeb中的需要注意的地方

IDEA是很成熟的集成開發工具,十分智能,但是用過程中也有需要注意的地方。

我們知道Web項目最終是需要打包成war包進行發佈的,而且Tomcat會將war包的名稱加入到訪問的URL中,這就給開發過程中不怎麼仔細的人造成了困擾。

在Tomcat的配置中有一個Application context,這是使用IDEA運行項目後的訪問路徑,默認爲空,就是我們只需要輸入localhost:8080就可以直接訪問項目的默認首頁了,像下圖這樣配置了的需要輸入localhost:8080/meetinglicense才能訪問項目首頁。

在JSP中我們配置訪問URL是需要加上${pageContext.request.contextPath},包括引用JS、CSS、Font、Image都需要在src中加上這段代碼,這本來沒什麼事的,哪怕項目發佈了也沒什麼問題。

但是,IDEA可以這麼做:

是的,因爲IDEA很智能,用起來很爽,你不加${pageContext.request.contextPath},IDEA都可以識別,並且在IDEA中運行是不會有任何問題的。如何你的Application context配置爲空,那麼在JSP中配置URL的時候你不會加上額外的字段,而且IDEA會提示你使用下面那一種配置方式,哎呀,你一看IDEA有提示,想都沒想就選了,才懶得寫${pageContext.request.contextPath}這一大長串的內容。然後項目打包發佈,問題來了,它會報錯。

因爲項目部署到Tomcat後在訪問項目需要加上war包的包名,那麼URL請求路徑就變成了localhost:8080/meetinglicense/webController/loginAdmin,但是因爲你在開發過程中未配置Application context,且沒有加上${pageContext.request.contextPath},那麼你的請求路徑就會變成localhost:8080/webController/loginAdmin,你的靜態資源也因爲此問題而出現找不到資源的問題。

所以你要麼在Application context中就配置以後的war包包名,這樣你的請求url就變爲/meetinglicense/webController/loginAdmin;要麼你就直接加上${pageContext.request.contextPath}。靜態資源還是加上${pageContext.request.contextPath}吧。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章