2014-03-12 112 views
2

在一個網站我有一個導航欄這樣隱藏servlet名稱的URL

<li><a href="?page=pagename">PAGE</a></li> 

一些鏈接,我在JSP頁面與JAVA加載鏈接的頁面,然後我通過GET通過表單提交的數據,這是我的網址後成爲

www.sitename.com/Servlet 

那麼我不能夠通過

?page=pagename 

,因爲我在URL中的Servlet的名字來加載頁面。

如何隱藏或刪除servlet名稱?

+0

如果你可以提供更多的代碼來理解 – Arjit

+2

@Arjit,那麼這裏就不會有相關的代碼顯示在這裏。 –

回答

0

使用servlet-mappingweb.xml

<servlet-mapping> 
    <servlet-name>Servlet</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 
0

它更容易,如果所有這些JSP是在一個共同的路徑。例如。 /應用/ *。

<servlet> 
    <servlet-name>app</servlet-name> 
    <servlet-class>com.example.FriendlyURLServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>app</servlet-name> 
    <url-pattern>/app/*</url-pattern> 
</servlet-mapping> 

request.getRequestDispatcher("/WEB-INF" + request.getPathInfo() + ".jsp").forward(request, response); 

這是假設的JSP是在/ WEB-INF文件夾,使他們不能直接要求。這將在http://example.com/app/search上顯示/WEB-INF/search.jsp