2013-07-09 70 views
3

您好我是Spring MVC的新手我在跟蹤Spring參考文檔我對視圖解析器有疑問。這是我的示例代碼。在Spring MVC3.0中重定向:前綴和前向:前綴之間的區別

@Controller 
@RequestMapping("/form") 
public class MyController { 

    @RequestMapping(method = RequestMethod.GET) 
    public String setupForm() { 
     // do my stuff 
     return "myform"; 
    } 

    @RequestMapping(method = RequestMethod.POST) 
    public String processForm(ModelMap model) {    
     // process form data 

     model.addAttribute("notification", "Successfully did it!"); 
     return "redirect:/form"; 
    } 
} 

這裏我使用兩個控制器,第一個返回"myform"和第二個返回"redirect:/form"。我的問題是,這兩者有什麼區別,以及它是如何工作的?

回答

-1

如果您熟悉jsp servlet,我認爲您可以知道重定向和轉發的區別,或者您可以從google獲得大量答案。那麼我想解釋一下Spring是如何做到這一點的。在setupForm方法,它返回myForm的,然後根據你的看法resovler的配置,它會試圖找到一個myform.jsp或其他喜歡這一點,如果你的觀點resovler是internalresourceviewresovler,Spring會自動做正向並嘗試在web-inf目錄中找到這個jsp,如果沒有,你必須指定一個前綴前綴。和processForm方法,即後返回重定向:/形式,這將迫使瀏覽器到一個新的請求/形式發送到可以由Spring MVC的可以得到服務器,它會與相關的方法處理它。