2013-12-20 100 views
0

我正在研究一個包含一些JSP,Servlet和靜態HTML頁面的小型Web應用程序。還有一些過濾器來實現小型認證/授權機制。我的問題是:Web應用程序目錄映射

  • 如何將一個完整的JSP目錄映射到另一個目錄?以下是一個示例:我想將所有網址(例如localhost:8080/WebAppName/pages/*.jsp)映射到localhost:8080/WebAppName/*.jsp。我怎麼能做到這一點,而無需在目錄'網頁'中的每個JSP頁面的web.xml中寫入條目?

  • 在將這些URL映射到新的URL後,我需要在web.xml的標記中寫入什麼?映射的網址(WebAppName/*.jsp)或真實網址(WebAppName/pages/*.jsp)?

在此先感謝。

+0

你甚至需要嗎?我只添加了servlets的映射,而不是JSP。只需將它們放入戰爭中的正確子目錄中即可自動使用JSP。 – Gimby

回答

2

您可以製作一個映射爲*.xhtml(其他擴展名)的servlet或JSP。使用請求URI,它可以動態包含來自pages的相應JSP。

在servlet的:

String pagesPath = "pages/" + ...; 
request.getServletContext(pagesPath).getRequestDispatcher().include(request, 
                    response); 

我懷疑這是一個好主意,因爲它不添加的東西:你甚至可能需要適應所有JSP(其它擴展名)。或者將JSP重命名爲.jspf

一般我在WEB-INF/jsp下使用JSP,所以他們不能公開訪問。並使用類似的技術:在servlet中創建模型,然後以JSP的形式創建視圖。

相關問題