一、<mvc:view-controller path=""/>標簽的作用
工程WEB-INF目錄下面的JSP頁面,我們知道是不能直接使用URL訪問到。需要通過控制器轉發映射的方式進行訪問,對應一些我們不需要其他操作的JSP頁面,我們可以使用<mvc:view-controller path=""/>來配置,這樣就可以不用再控制器中再去做轉發映射,從而減輕我們的部分開發工作量。

二、 沒有使用<mvc:view-controller path=""/>
一般我們需要配置一個spring配置文件中配置一個視圖解析器
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"/>
<property name="suffix" value=".jsp"></property>
</bean>
然后在配置一個控制器
@Controller
public class UserController {
@RequestMapping("/toSuccess")
public String update(){
return "success";
}
}
使用http://localhost:8080/springmvc-1/toSuccess 可以正確得到頁面

三、使用<mvc:view-controller path=""/>
在springmvc配置文件中配置:
<mvc:view-controller path="/login/success"/>
注:
path是JSP頁面相對WEB-INF的路徑。
我們使用http://localhost:8080/springmvc-1/login/success來訪問,同樣可以得到正確頁面

也就是說當我們配置了<mvc:view-controller path="/login/success"/>后,原來通過控制器來轉發映射的url就無法訪問到頁面了。通常我們在實際開發中會在配置文件中增加如下配置,解決這個問題。配置后就也可以通過控制器進行轉發映射訪問,這樣就保證我們在開發過程中對出現的各種情況頁面進行正常跳轉。

原文來自 上海尚學堂java學員,轉載請注明出處
