mvc:view-controller

This tag is a shorcut for defining a ParameterizableViewController that immediately forwards to a view when invoked.
這個標籤是爲了簡化ParameterizableViewController映射到視圖的配置html

Use it in static cases when there is no Java Controller logic to execute before the view generates the response.
當響應視圖是不須要執行控制器邏輯時使用web

An example of view-controller that forwards to a home page is shown below:
一個跳轉到主頁的配置例子spring

<mvc:view-controller path="/" view-name="home"/>
apache


兩種用法
一、重定向
<mvc:view-controller path="/" view-name="redirect:/admin/index"/>
即若是當前路徑是/ 則重定向到/admin/index
二、view name
<mvc:view-controller path="/" view-name=admin/index"/>
若是當前路徑是/ 則交給相應的視圖解析器直接解析爲視圖

<bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:order="2">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="contentType" value="text/html"/>
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
則獲得的視圖時 /WEB-INF/jsp/admin/index.jspspring-mvc

 

jsp的默認會交給 如tomcat/conf/web.xml中的 jsp servlet處理
   <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jspx</url-pattern>
    </servlet-mapping>
除非你的spring也攔截*.jsp 但這樣全部jsp都交給spring處理了 tomcat

 

不想進controller,能夠在spring-mvc.xml中配置靜態訪問路徑mvc

Xml代碼 收藏代碼app

  1. <!-- 訪問靜態資源文件  -->
  2. <mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/>

像這樣,jsp文件若放在靜態路徑/images下,能夠直接訪問,而不通過controller。jsp

本站公眾號
   歡迎關注本站公眾號,獲取更多信息