2014-09-03 77 views
0

我正在學習JAVA和Spring框架。我想知道是否有可能在java中使用url中的值和數據庫中的提取在Spring框架中創建動態URL。來自數據庫的動態URL和JSP中的MVC

我想在Java中製作URL Shortner,我需要在我的數據庫中查找url的短代碼,我們都知道,url縮寫看起來像「url/ShorTCode」,我的腳本會查找「ShorTCode 「數據庫中的關鍵字,並將重定向到關聯的網頁鏈接。

所以我想知道這是甚至可能在JAVA和Spring?還有一件事,如果我做這樣的「url/yt/VIdeoCode」或「url/fb/UserProfile」

所以它會看到yt對象,它將重定向到youtube鏈接和fb對象將重定向到facebook用戶個人資料。

我想澄清一下,我仍然在學習JAVA,JSP和Spring,但我想在我學習的過程中將這件事留在腦海中,這樣我就可以專注於某些特定的事情。

謝謝大家幫助我。

+0

你可以存儲在數據庫而不是整個URL URL'的'某些部分,因爲'控制器details'等將永遠'static'使每'用戶請求的URL將被changed'所以你可以加載該動態數據表單數據庫並使「URL」動態化。 – 2014-09-03 03:06:11

+0

是的,這就是我想了解的,我怎樣才能從數據庫動態調用它。 「yt」和「fb」將是我的控制器,但是當它不從控制器調用時,我將需要直接從數據庫加載並且我想學習。 – JavaLearner 2014-09-03 03:09:29

+0

因爲你需要的服務,將從數據庫中獲取數據,當你不想調用該控制器然後調用服務或呼叫服務的其他特殊控制器,會給你的url數據,然後你可以去那個URL使其變得動態。 – 2014-09-03 03:12:02

回答

0

如果你問你的控制器如何響應動態重定向,答案是: (1)讓控制器返回一個「重定向:」結果而不是視圖名稱。它必須遵循與絕對網址和行爲可能取決於你的春季版本和配置,但基本上它看起來像這樣:

@RequestMapping(...) 
public String myMethod(){ 
    String url=... // database lookup, e.g. "http://myUrl" 
    return "redirect:"+url; 
} 

(2)那麼優雅,但有時​​是有用的:去直接訪問響應。如果你的控制器方法有一個類型爲HttpServletResponse的參數,spring將自動注入它。所以:

@RequestMapping(...) 
public String myMethod(HttpServletResponse resp){ 
    ... 
    response.sendRedirect(...) 
}