2013-11-14 95 views
0

我正在使用Java Servlets 3.1.0構建一個簡單的Web應用程序。
有沒有一種方法可以阻止我通過URL直接訪問我的WEB-INF中的頁面?通過Java Servlet中的URL阻止文件訪問Webapp

例如:
我在WEB-INF文件夾中有文件dashboard.jsp。我也有一個叫DashboardServlet的servlet可訪問使用/dashbboard中,我使用RequestDispatcher轉發dashboard.jsp

所以現在,當我訪問localhost:8080/dashboarddashboard.jsp所示。 然而,也顯示儀表盤,當我嘗試訪問localhost:8080/dashboard.jsp

我怎樣才能防止localhost:8080/dashboard.jsp訪問,同時還在做對localhost:8080/dashboard可能在盼着。

謝謝!

+2

如果您的jsp文件放在WEB-INF中,那麼如果您嘗試查找'localhost:8080/dashboard',它將不會提供jsp文件,除非您的servlet只讀取原始jsp文件並輸出它 –

+0

Check http://stackoverflow.com/a/7282575/643500 –

+0

什麼在'web.xml'中? –

回答

1

WEB-INF目錄包含一個heirarcy,您可以在其中找到Web應用程序的必要配置信息,以及由JSP(Java Server Pages)調用的servlet和類的所有類文件。 WEB-INF目錄是您的Web應用程序的重要組件,如果沒有它,它將不會運行!

這基本上意味着WEB-INF意味着隱藏Jsp文件。

因此,如果您將JSP文件複製到WEB-INF,它們將無法以localhost:8080/dashboard.jsp格式訪問。

還要檢查您的Web.xml是否有正確的servlet映射條目。