<mvc:view-controller path=""/>標簽的作用
對應WEB-INF目錄下面的JSP頁面,我們知道是不能直接使用URL訪問到。需要通過轉發的方式,而我們一般都是在控制器中做轉發映射,對應一些我們不需要其他操作的JSP頁面,我們可以使用<mvc:view-controller path=""/>來配置,這樣就可以不用再控制器中再去做轉發映射
沒有使用<mvc:view-controller path=""/>
看看success.jsp頁面的目錄結果
一般我們需要配置一個spring配置文件中配置一個視圖解析器
1 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 2 <property name="prefix" value="/WEB-INF/"/> 3 <property name="suffix" value=".jsp"></property> 4 </bean>
然后在配置一個控制器
1 @Controller 2 public class UserController { 3 4 @RequestMapping("/toSuccess") 5 public String update(){ 6 return "success"; 7 } 8 9 }
這里使用http://localhost:8080/springmvc-1/toSuccess 可以正確得到頁面
使用<mvc:view-controller path=""/>
在springmvc配置文件中配置
1 <mvc:view-controller path="/login/success"/>
path是JSP頁面相對WEB-INF的路徑
下面我們使用http://localhost:8080/springmvc-1/login/success來訪問,同樣可以得到正確頁面
下面我們再次訪問之前的那個url:http://localhost:8080/springmvc-1/toSuccess。結果出現404錯誤
也就是說我們配置了<mvc:view-controller path="/login/success"/>后原來通過控制器來映射的url無法訪問到頁面了。
其實還用一種辦法。我們實際開發中通常要在spring配置文件中添加一句代碼
1 <mvc:annotation-driven></mvc:annotation-driven>
添加后我們在才訪問http://localhost:8080/springmvc-1/toSuccess
頁面就正常。
對應<mvc:annotation-driven>標簽我們后面再講解