大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 配置SpringMVC的講解

配置SpringMVC的講解

更新時間:2021-06-11 15:47:33 來源:動力節(jié)點 瀏覽1195次

SpringMVC默認(rèn)就是以轉(zhuǎn)發(fā)的形式響應(yīng)JSP,也就是說直接返回視圖名稱的方式就是轉(zhuǎn)發(fā)

重定向:需要使用redirect:+視圖路徑,當(dāng)然也可以重定向到指定url再次進(jìn)行處理,比如:redirect:/user/list

需要注意的是業(yè)務(wù)方法中,設(shè)置重定向不能像轉(zhuǎn)發(fā)一樣寫邏輯視圖,必須寫明目標(biāo)資源的物理路徑,如"redirect:/index.jsp"

    @RequestMapping("redirectTest")
    public String redirectTest(){
        return "redirect:/index.jsp";
    }

中文亂碼配置

如果是get請求帶中文參數(shù),后臺接收到亂碼,需要修改tomcat的配置(或者M(jìn)aven項目中修改tomcat插件配置)

    <!-- 1.tomcat 修改配置文件server.xml,添加URIEncoding -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding ="UTF-8"/>
    <!-- Maven項目中修改tomcat插件編碼 -->
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
            <uriEncoding>UTF-8</uriEncoding>
        </configuration>
    </plugin>

如果請求中接收到參數(shù)沒有亂碼,但是返回json字符串時候亂碼了,可以添加produce解決

每個方法加produce解決未免過于麻煩,那么可以修改轉(zhuǎn)換器的編碼處理,這里處理String的轉(zhuǎn)換器為StringHttpMessageConverter,查看源碼發(fā)現(xiàn)默認(rèn)的編碼是ISO-8859-1

所以在springmvc配置文件中統(tǒng)一修改

    <!-- 注解驅(qū)動 -->
    <mvc:annotation-driven>
        <!-- 處理請求返回json字符串的中文亂碼問題 -->
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg value="UTF-8" />
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

針對POST表單提交,我們還需要配置過濾器進(jìn)行統(tǒng)一編碼處理(最好都配上),該過濾器就是springmvc自帶CharacterEncodingFilter,查看源碼可知,配置forceEncoding將會強制使用這里配置的編碼,而不管請求響應(yīng)有沒有設(shè)置編碼

     <filter>  
        <filter-name>encodingFilter</filter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
        <init-param>  <!--強制使用Encoding設(shè)置的編碼格式-->
           <param-name>forceEncoding</param-name>
           <param-value>true</param-value>
       </init-param>
    </filter>  
    <filter-mapping>  
        <filter-name>encodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>

加入Spring的配置

真正的應(yīng)用肯定少不了Spring,所以這里將spring配置加上

    <!-- spring應(yīng)用上下文 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/configs/spring/applicationContext*.xml</param-value>
    </context-param>
    
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

springmvc的上下文層級,理解層次化的ApplicationContext

配置springmvc

帶小s的loaderlistener所加載形成的上下文,可以有多個,為我們提供了所有應(yīng)用公共所使用的組件和服務(wù),如sevice、dao,這些服務(wù)應(yīng)該被整個應(yīng)用所共享,而不應(yīng)該被局限在某個dispatcherServlet上下文之中

不帶小s的,就是與我們的dispatcherServlet相關(guān)的上下文。dispatcherservlet可以有多個,因為在現(xiàn)在的互聯(lián)網(wǎng)中,一個應(yīng)用可能需要提供多種服務(wù),而讓dispatcherservlet針對不同的服務(wù)請求去分發(fā)。因為有些服務(wù)是完全不同于其他服務(wù)的,所以需要作區(qū)分,根據(jù)配置的url-pattern進(jìn)行攔截。

spring配置文件

    <context:component-scan base-package="com.rxy.mvcdemo">
        <!-- 不需要管理controller -->
        <context:exclude-filter type="annotation"
            expression="org.springframework.stereotype.Controller" />
    </context:component-scan>

&lt;MVC:annotation-driven/&gt;

該配置作用是注冊RequestMappingHandlerMapping與RequestMappingHandlerAdapter兩個Bean,這是Spring MVC為 Controller分發(fā)請求所必需的,并且提供了數(shù)據(jù)綁定支持, NumberFormatannotation支持, DateTimeFormat支持, Valid支持讀寫XML的支持(JAXB)和讀寫JSON的支持(默認(rèn)Jackson)等功能

靜態(tài)資源映射

location:指location指定的目錄不要攔截,直接請求

mapping:指在static目錄下的所有文件(**代表所有文件)

cache-period:設(shè)置靜態(tài)資源在客戶端瀏覽器中的緩存有效時間

該配置意思就是在根目錄下static的所有文件不會被DispatcherServlet攔截,直接訪問,當(dāng)做靜態(tài)資源交給Servlet處理

<!-- 靜態(tài)資源映射 -->
<mvc:resources mapping="/static/**" location="/static/" cache-period="31536000"/>

配置ViewResolver

可以配置多個ViewResolver。使用order屬性排序。InternalResourceViewResolver需要放在最后。

    <bean
        class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
        <property name="order" value="1" />
        <property name="mediaTypes">
            <map>
                <entry key="json" value="application/json" />
                <entry key="xml" value="application/xml" />
                <entry key="htm" value="text/html" />
            </map>
        </property>

        <property name="defaultViews">
            <list>
                <!-- JSON View -->
                <bean
                    class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
                </bean>
            </list>
        </property>
        <property name="ignoreAcceptHeader" value="true" />
    </bean>

    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/jsps/" />
        <property name="suffix" value=".jsp" />
    </bean>

使用Servlet相關(guān)對象

如果想在方法中直接使用HttpServletRequestHttpServletResponseHttpSession等對象,需要引入servlet的依賴包

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <!-- 編譯測試有效,必須設(shè)置,否則運行tomcat容器會報錯 -->
        <scope>provided</scope>
    </dependency>

以上就是動力節(jié)點小編介紹的"配置SpringMVC的講解",希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為您服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产区在线观看 | 国产二级片 | 中文字幕综合 | 亚洲操穴| 99热精品久久只有精品黑人 | 国产福利视频在线观看 | 爱爱精品视频 | 久爱午夜精品免费视频 | 国产综合久久久久影院 | 97超在线视频 | 亚洲国产精品成人午夜在线观看 | 亚洲人成自拍网站在线观看忄 | 国产精品香蕉在线一区二区 | 奇米影视777中文久久爱 | 国产精品久久久久影院免费 | 天天拍夜夜添久久精品中文 | 成人免费视频视频在线观看 免费 | 老湿机午夜影院 | 五月婷婷婷婷 | 男人天堂2021| 一区二区色 | 欧美aaa毛片免费看 欧美aaa性bbb毛片 | 久久99精品久久久久久国产越南 | 狠狠色婷婷综合天天久久丁香 | 欧美一区二区三区在观看 | 四虎海外影院 | 91精品视频免费观看 | 深夜福利视频网站 | 美国美女一级毛片免费全 | 欧美大狠狠大臿蕉香蕉大视频 | 在线观看91精品国产不卡免费 | 国产精品午夜久久 | 欧美人一级淫片a免费播放 欧美人与zoxxxx另类9 | 精品亚洲视频在线观看 | 性欧美视频a毛片在线播放 性欧美视频在线观看 | 性生大片一级毛片免费观看 | 欧美一级视频 | 特级生活片 | 亚洲日韩色综合视频 | 天天做天天爱夜夜大爽完整 | 日韩伦理一区二区三区 |