2010-08-04 99 views
2

我寫了一個servlet,它將圖像寫入我的應用程序的根目錄,然後在獲取GET請求時將其傳遞給客戶端。一切正常,當我用jetty在Eclipse中測試它(帶有GWT插件)。 但是當我將它移動到Tomcat時,我得到了filenotfound異常(因爲圖像根本沒有寫入,因此無法返回到客戶端)。 這是寫權限文件的問題嗎?在tomcat上部署的Servlet中寫入文件的問題

我說這catalina.policy裏的文件,但它不會幫助或者(WebUI中是我的應用程序的文件夾):

grant { 
    permission java.io.FilePermission "${catalina.home}/webapps/webui/","read,write,delete"; 
    permission java.io.FilePermission "${catalina.home}/webapps/webui/*","read,write,delete"; 
    }; 
+0

檢查tomcat/webapps中Web應用程序文件夾的權限。如果允許寫入,可能還有其他原因。 – 2010-08-04 10:07:30

回答

4

修改安全政策不會在這方面幫助;如果這是一個政策問題,你會得到一個SecurityException而不是FileNotFoundException

後者表示Java進程正試圖以適當的模式打開文件句柄,但被操作系統拒絕。導致這種情況的最可能原因是文件(或父目錄)不能由Java進程正在執行的用戶寫入。

查看您要寫入的文件夾的權限,特別是查看您正在運行Tomcat的用戶以及他們將擁有的有效權限。