2012-07-24 115 views
2

我想知道是否有任何方法創建只能在Web應用程序中訪問的servlet映射。例如,這個應用程序中的文件調用另一個文件,但它不應該從web-app外部訪問。內部Servlet映射 - web.xml

謝謝,

+0

你在哪裏放置在您的網頁文件?如果你將它們放在web-inf文件夾中,它將無法被外界訪問。 – JProgrammer 2012-07-24 18:00:44

+1

你在web.xml中所做的映射是全球性的,所以我不認爲你可以像你問的那樣限制。一種方法可能是編寫一個Filter來檢查請求頭(或)某些參數,以區分瀏覽器調用(或)內部調用,然後決定是否轉發到servlet(或)返回錯誤頁面。 – kosa 2012-07-24 18:05:34

+0

感謝您的過濾器通知。我已經實現了這一點,工作正常。 – Fox 2012-07-25 21:41:34

回答

2

是的,有一種方法。將受限制的jsp文件放入web-inf目錄中。然後在其他jsp中導入這些jsp是完全合法的,並且不會導致任何問題。

見下面的例子JSP:

<%@page import="admin.*"%> 
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %> 
<tiles:insert template='myTemplate.jsp'> 
    <tiles:put name='top' content='/WEB-INF/templates/top.jsp''/> 
    <tiles:put name='main' content='/WEB-INF/templates/main.jsp''/> 
    <tiles:put name='footer' content='/WEB-INF/templates/footer.jsp'/> 
</tiles:insert>