關於tomcat中集成的jar包問題


在tomcat中集成了一些jar包,就放在tomcat的lib文件夾下。初學tomcat時可能知道有這么個東西,但並沒有去多考慮這些jar包的作用

 

我為什么開始關注這些jar包呢

我在復習jsp時遇到一個問題,就是在jsp文件中寫out.println()時,println()這個方法它報錯了,

 

 

但我是按着書上面敲得代碼,為什么我這個就報錯了呢,於是我就先運行了,結果頁面上能夠正常顯示!!!

 

 

奇怪了,我當時就納悶了,為什么idea都爆紅了,他還能正常顯示呢?然后我就找到jsp編譯的.class文件,我發現out這個對象對應的JspWriter 類無法查看

 

 

然后我就想到了沒有導入jsp的jar包,導如jar包后果然就不報紅了。

 

 

報紅的問題解決后,再來解決在報紅(沒有導jsp的jar包)的狀態下還能正常顯示的問題

聰明的同學應該想到了,沒錯,就是我此篇博客的標題,tomcat中集成了大量的jar包,包括jsp的,所以在運行這個jsp文件時,發現WEB-INF目錄中沒有jar包,會使用tomcat中集成的jar包

 

同樣的思想,我又試了試將servlet的jar包去掉,結果也是可以運行

 

jar包沖突問題

就是你在寫代碼時導入的jar包會和tomcat中集成的jar包產生沖突

到目前為止我寫代碼時導入的jar包還沒有產生過沖突,不放心的話,可以在導包的時候設置一下

使用Maven的話就在導入依賴時加一個<scope>標簽,標簽內部設置為provided,表示只能作用在編譯和測試時,具體作用我就不在這贅述了,感興趣的可以自己百度

 <dependency>
     <groupId>javax.servlet.jsp</groupId>e
     <artifactId>jsp-api</artifactId>
     <version>2.2</version>
     <scope>provided</scope>
 </dependency>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM