java web在linux環境下上傳文件出現的一些問題

昨天做了一個文件的上傳和下載功能,在win環境下測試沒有問題,但是項目打包發佈到linux時就出現了各種問題。記錄一下出現的問題和解決方案。

使用的server服務器是tomcat,數據庫是mysql。


首先,我在win環境下上傳路徑設置的是request.getSession().getServletContext().getRealPath("\\")+File.separator;這樣設置在win環境下是沒有問題的,但是一旦放到linux時,getRealPath()是不起作用的,調用它返回的是null。應該改用 getResource(),而我選擇在linux裏新建一個目錄,專門存放這些上傳的文件,所以也可以直接將上傳路徑改爲絕對路徑,比如:/usr/local/File,同時需要注意的是,win環境下使用的分隔符是\,而linux使用的是/,所以應該使用File.separator,避免出現因爲環境改變而出現的問題。


然後在讀取數據庫時又遇到了麻煩,提示我找不到對應的數據表,看了一下,發現是因爲mysql數據庫在win裏默認是不區分大小寫的,而在linux裏是默認區分大小寫的(但是列明和列的別名又不區分大小寫 ),就是說區分大小寫的有:

1.數據庫名

2.表名

3.變量名

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