1. 程式人生 > >SpringMVC配置檔案 中 mvc:view-controller 標籤的使用

SpringMVC配置檔案 中 mvc:view-controller 標籤的使用

原文轉載自:https://www.cnblogs.com/caoyc/p/5637894.html <mvc:view-controller path=""/>標籤的作用

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

示例:

 success.jsp頁面的目錄結構


一、 沒有使用<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來訪問,同樣可以得到正確頁面


我們再次訪問之前的那個url:http://localhost:8080/springmvc-1/toSuccess  進行訪問。結果出現404錯誤

也就是說當我們配置了<mvc:view-controller path="/login/success"/>後,原來通過控制器來轉發對映的url就無法訪問到頁面了。通常我們在實際開發中會在配置檔案中增加如下配置,解決這個問題。配置後就也可以通過控制器進行轉發對映訪問,這樣就保證我們在開發過程中對出現的各種情況頁面進行正常跳轉。
<mvc:annotation-driven></mvc:annotation-driven>
新增後,我們再次才訪問 http://localhost:8080/springmvc-1/toSuccess,這時,頁面就顯示正常了。