總結那些導致阻礙開發進度的小bug,小細節


細節決定成敗!


(一).一個大小寫字母引發的一場調試

inStream = BeanFactory.class.getClassLoader().getResourceAsStream("BeanFactory.properties");
這段代碼一直空指針、junit單元測試都沒有問題的通過了、發佈到tomcat中就over了、鬱悶的不行了、

難道是路徑錯了、不會吧、路徑沒有問題啊、就是.classpath的位置。

然後無意間看了眼配置文件、

好像那個P寫成大寫了、莫非就是這個問題、改過來測試通過、(之前也未曾去考慮tomcat的大小寫區分問題。)

思考:

1.junit單元測試用的是jre、那麼類加載器就是jvm中的。tomcat中又重新設計了幾個類加載器、tomcat中的東東都有他自己設計的

類加載器加載、那麼我們可以得之、tomcat的類加載器是區分大小寫的、再比如在我們配置映射路徑的時候、如果xml中配置的是大寫、

那麼用戶訪問的鏈接也必須是大寫、jvm是跟平臺相關的我現在使用的是windows,jvm不會區分大小寫、

在linux、java加載文件jvm是區分大小寫、當然這也是java的跨平臺性了、從這點看、以後如果要寫發佈在linux服務器中的東西、大小寫也要注意了、

下面就是linux中我剛測試的大小寫是否區分、


tomcat:在任意平臺都區分大小寫

java:適應平臺的法則

其實由此可以發散想下:IE區分大小寫麼?哈哈、這個不用試了、肯定不區分了、他是windows傑作、必須的、這個小道理也是很有用的、

比如:你先開發頁面然後你把圖片都寫成大寫的了、然後html你引用竟然使用了小寫、ok、靜態頁面沒問題、

但是當開發修改成jsp,後、發佈到tomcat中時就over了、圖片顯示不出來了。改吧。

2..tomcat的大小寫區分是可以配置下的。

 可以在其<Context >元素中增加“caseSensitive="false"”來使其不區分大小寫。 只是這樣設置只能保證該Context定義的路徑下的內容不區分大小寫。其他Context定義的路徑仍然區分大小寫,除非也加上 caseSensitive="false"的選項。
不知道可否有辦法使得Tomcat下的完整從根目錄下就全部不區分大小寫

 當然這樣設置只能是對鏈接地址有效,至於jsp和Servlet中的語法還是區分大小寫的,不是說做個該設置就全部是不區分大小寫了


(二):......待續...


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