2013-01-03 151 views
3

我有一個web應用程序 - 但是,當我從菜單和其他鏈接導航時,地址欄會顯示文件夾和文件名。 我想什麼有什麼是導航用戶做,地址裸只顯示如何隱藏應用程序中的jsp文件夾路徑和文件名

http://domain:port/daswebapp 

而不是

http://domain:port/daswebapp/admin/index.jsp 

任何人可以在這方面的幫助。我沒有使用任何其他framework.Its一個純粹的MVC模式。 感謝ñ問候 Noufal

+0

我想你可以使用框架集,或使用Ajax/DHTML來加載所有頁面。但爲什麼?這對你(和你的用戶)有多重要? – Thilo

+0

嗨吉寶,Thanx迴應。原因是在地址欄中,servlet名稱將顯示爲http:// domain:port/daswebapp/servletname,不帶擴展名。如果用戶輸入地址欄,則會顯示異常。 – Noufal

回答

0

使用URL重寫過濾器,如urlrewritefilter,基於JSF應用程序去Pretty faces

它被用於主要的事情是:

  • URL Tidyness/URL抽象 - 不管底層技術或框架(JSP,Servlet,Struts等)如何保持URL整潔)。

  • 瀏覽器檢測 - 允許您根據請求HTTP標頭(如用戶代理或字符集)重寫URL。基於

  • 日期改寫 - 允許轉發或重定向到基於該

    日期/時間(良好的計劃內停機)其他的URL。

  • 移動內容 - 啓用優美的內容移動甚至更改CMS。

  • 微小/友好的URL(即blah.com/latest可以被重定向到blah.com/download/ver1.2.46.2/setup.exe)

  • 一個Servlet映射引擎(見方法調用)

+0

但是,它仍然會顯示一些網頁特有的網址(只是一個不同的網址)。不過,我認爲這不會有所幫助。 – Thilo

+0

@Thilo _我希望擁有的是用戶所做的任何導航,地址裸露應僅顯示「http:// domain:port/daswebapp」而不是「http:// domain:port/daswebapp/admin/index」。jsp「_基於此,它顯然似乎OP正在尋找重寫過濾器 –

+0

如果你這樣說。我對重寫過濾器的理解是導航到不同的頁面仍然是不同的URL,所以地址欄會顯示不同的東西取決於關於用戶做什麼導航。 – Thilo

0

可以使用的RequestDispatcher,

RequestDispatcher dispatcher = getRequestDispatcher("daswebapp/admin/index.jsp"); 
    dispatcher.forward(request, response); 
0

你可以使用這樣的嘗試,讓我知道

RequestDispatcher reqDisp = getServletContext().getRequestDispatcher("/index.jsp"); 
      reqDisp.forward(request, response); 
相關問題