2012-02-14 45 views
0

如果我在JSP頁面上有一個表單,並且表單將其數據傳遞給我編寫的一個簡單的java文件(.class),該文件返回某種在新頁面上打印給用戶的數據。該網站的用戶可以訪問該java文件本身嗎?換句話說,用戶可以找到.class文件並下載它嗎?如果是這樣,我該如何防止這種情況發生?JSP頁面使用的類有多安全?

回答

3

不,他們無法下載類文件,運行應用程序的servlet容器將擁有WEB-INF/classes下的所有類文件。 WEB-INF文件夾下的任何內容都不公開。

+0

因此,不需要額外的安全級別來保持WEB-INF下的類不被下載? – Jonathan 2012-02-14 01:48:14

+0

正確。 Web容器不允許您將其作爲資源進行訪問。 – Bill 2012-02-14 01:54:42

+0

我剛剛注意到,在Eclipse中,類正在被添加到「\ build \ classes」而不是「\ WebContent \ WEB-INF \ classes」,這是Tomcat 7.0現在處理類的方式嗎?或者我應該明確地將它們移到您提到的目錄中?再次感謝! – Jonathan 2012-02-14 16:52:39

0

簡短的回答是沒有。

較長的答案,運行在客戶端的任何.class文件,他們將有權訪問但在服務器端運行的任何類,他們將無法訪問。

+0

謝謝!我自己得出了這個結論,但我不確定,這主要是爲什麼我決定使用JSP/Servlet而不是將我的類轉換爲applet。 – Jonathan 2012-02-14 01:49:30

+0

@Jonathan - 你沒有真正獲得Servlet API - 不將類傳遞給applet不是將servlet用於applet的理由。它們都是完全不同的技術,不能互相替代。 – 2012-02-15 03:51:32