最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解SpringMVC中央調(diào)度器DispatcherServlet

 更新時間:2022年05月06日 16:28:54   作者:Java川  
這篇文章主要介紹了SpringMVC核心之中央調(diào)度器DispatcherServlet的相關(guān)知識,包括SpringMVC請求處理過程及SrpingMVC容器和spring?IOC容器關(guān)系,需要的朋友可以參考下

springMVC是spring的一個模塊,專門做web的。

SpringMVC請求處理過程:

請求發(fā)送,根據(jù)url-pattern,轉(zhuǎn)發(fā)發(fā)送給中央調(diào)度器DispatcherServlet,中央調(diào)度器分配請求到自定義的Controller對象上,進(jìn)行處理。

核心的就是中央調(diào)度器,所以我們在web.xml文件中要初始化配置中央調(diào)度器,中央調(diào)度器創(chuàng)建的同時,他會同時創(chuàng)建IOC springMVC IOC容器,用于管理對象的。 springmvc存放controller對象 view視圖對象

如下是詳情圖:

HandlerMapping處理映射,作用是根據(jù)請求的url與controller里面的方法的@RequestMapping("/url") 的url比較 找到相應(yīng)的Handler(方法)。

再詳細(xì)版:

SrpingMVC容器和spring IOC容器關(guān)系

springmvc ioc容器是spring ioc容器的子容器。 SpringMVC的IOC容器中的bean可以來引用 Spring IOC 容器中的 bean. 返回來呢 ? 反之則不行. Spring IOC 容器中的 bean 卻不能來引用 SpringMVC IOC 容器中的 bean!多個 Spring IOC 容器之間可以設(shè)置為父子關(guān)系,以實(shí)現(xiàn)良好的解耦。

關(guān)系圖:

基于maven創(chuàng)建的一個springmvc工程。

1.創(chuàng)建maven項(xiàng)目中使用到了自動創(chuàng)建骨架

選擇webapp,這樣就會自動生成springmvc項(xiàng)目的一些基本文件。

2.配置java 文件 和資源文件

3.添加jar包**

springmvc項(xiàng)目需要兩個依賴 一個是spring-webmvc 封裝了基本的sping里面的web部分模塊 有sping-context ,spring-aop等

<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
    </dependency>

4.springMVC項(xiàng)目web.xml初始化配置中央調(diào)度器以及自定義springmvc.xml文件

在tomcat啟動的時候,一般會加載web.xml里面配置, 因?yàn)镈ispatcherServelt是調(diào)度器,負(fù)責(zé)調(diào)度用戶的請求到相應(yīng)的servlet處理,DispatcherServlet創(chuàng)建的時候,同時也會創(chuàng)建springmvc容器,那么tomcat啟動之后,其他ervlet就可以使用了。

web.xml:

  • 中央調(diào)度器dipathcerServlet配置創(chuàng)建 同時創(chuàng)建spingmvc配置
  • spring監(jiān)聽器配置
  • 字符集過濾器配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
<!--這個web-app版本低了還會有問題-->
<servlet>
  <servlet-name>springDispatcherServlet</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
    <!--1.springmvc配置文件-->
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:springmvc.xml</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>
  <servlet-mapping>
    <!--攔截所有的url 所有url會被中央調(diào)度器處理轉(zhuǎn)發(fā)-->
    <servlet-name>springDispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <!--2.注冊spring的監(jiān)聽器  自定義配置文件-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring.xml</param-value>
  </context-param>
  <!--spring監(jiān)聽器依賴-->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!--3.post請求亂碼解決 字符集過濾器-->
  <!-- -->
  <filter>
    <filter-name>encoding</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>
      <param-name>forceRequestEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>forceResponseEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

springmvc.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"

       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!--類注入IOC springMVC容器 裝servlet容器的,這里用掃描-->
    <context:component-scan base-package="com.chuan.sringmvc1.controller"/>
    <!--json格式數(shù)據(jù)轉(zhuǎn)換  注解驅(qū)動-->
    <mvc:annotation-driven/>
    <!--視圖解析器InternalResourceViewResolver,幫助開發(fā)人員設(shè)置視圖文件的路徑-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix"  value="/WEB-INF/view/"/>  <!--設(shè)置前綴  value指的是路徑-->

        <!-- <property name="suffix" value=".jsp"/>  這是后綴-->
    </bean>
<!--tomcat處理靜態(tài)資源的默認(rèn)servlet處理器-->
<mvc:default-servlet-handler/>
    <!--手動配置的靜態(tài)資源處理-->
<mvc:resources mapping="/static/picture/*" location="/static/picture/"/>
</beans>

到此這篇關(guān)于SpringMVC核心之中央調(diào)度器DispatcherServlet的文章就介紹到這了,更多相關(guān)SpringMVC中央調(diào)度器DispatcherServlet內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MAC?在類路徑或引導(dǎo)類路徑中找不到程序包?java.lang問題

    MAC?在類路徑或引導(dǎo)類路徑中找不到程序包?java.lang問題

    這篇文章主要介紹了MAC?在類路徑或引導(dǎo)類路徑中找不到程序包?java.lang問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Spring如何在一個事務(wù)中開啟另一個事務(wù)

    Spring如何在一個事務(wù)中開啟另一個事務(wù)

    這篇文章主要介紹了Spring如何在一個事務(wù)中開啟另一個事務(wù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • 本地jvm執(zhí)行flink程序帶web ui的操作

    本地jvm執(zhí)行flink程序帶web ui的操作

    這篇文章主要介紹了本地jvm執(zhí)行flink程序帶web ui的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java Class文件結(jié)構(gòu)解析常量池字節(jié)碼

    java Class文件結(jié)構(gòu)解析常量池字節(jié)碼

    這篇文章主要為大家介紹了java Class文件的整體結(jié)構(gòu)解析常量池字節(jié)碼詳細(xì)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Java并發(fā)工具之CountDownLatch使用詳解

    Java并發(fā)工具之CountDownLatch使用詳解

    這篇文章主要介紹了Java并發(fā)工具之CountDownLatch使用詳解,通過使用 CountDownLatch可以使當(dāng)前線程阻塞,等待其他線程完成給定任務(wù),可以類比旅游團(tuán)導(dǎo)游要等待所有的游客到齊后才能去下一個景點(diǎn),需要的朋友可以參考下
    2023-12-12
  • Java中char[]輸出不是內(nèi)存地址的原因詳解

    Java中char[]輸出不是內(nèi)存地址的原因詳解

    這篇文章主要介紹了關(guān)于Java中char[]輸出為什么不是內(nèi)存地址的原因,文中通過示例代碼介紹的很詳細(xì),需要的朋友們可以參考學(xué)習(xí)。
    2017-03-03
  • springboot中request和response的加解密實(shí)現(xiàn)代碼

    springboot中request和response的加解密實(shí)現(xiàn)代碼

    這篇文章主要介紹了springboot中request和response的加解密實(shí)現(xiàn),在springboot中提供了RequestBodyAdviceAdapter和ResponseBodyAdvice,利用這兩個工具可以非常方便的對請求和響應(yīng)進(jìn)行預(yù)處理,需要的朋友可以參考下
    2022-06-06
  • JAVA中值類型和引用類型的區(qū)別

    JAVA中值類型和引用類型的區(qū)別

    在java開發(fā)中經(jīng)常會遇到值類型和引用類型知識,但是有很多朋友不清楚java中值類型和引用類型的區(qū)別,今天小編通過本文給大家介紹下
    2017-02-02
  • idea中無法自動裝配未找到 ‘XXXXXXX‘ 類型的 Bean

    idea中無法自動裝配未找到 ‘XXXXXXX‘ 類型的 Bean

    本文主要介紹了idea中無法自動裝配未找到 ‘XXXXXXX‘ 類型的 Bean的原因及三種解決方法,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • springboot加載一個properties文件轉(zhuǎn)換為map方式

    springboot加載一個properties文件轉(zhuǎn)換為map方式

    這篇文章主要介紹了springboot加載一個properties文件轉(zhuǎn)換為map方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07

最新評論

天津市| 通化市| 东辽县| 宝清县| 绥化市| 哈巴河县| 鸡东县| 洛宁县| 澎湖县| 阳信县| 临洮县| 丹阳市| 岳池县| 苍梧县| 于田县| 保康县| 庆阳市| 柳林县| 玛多县| 克什克腾旗| 桦甸市| 阿鲁科尔沁旗| 日照市| 天门市| 肇源县| 广河县| 新乡市| 犍为县| 睢宁县| 海城市| 宁河县| 滦南县| 浠水县| 宁武县| 九龙坡区| 彭山县| 和林格尔县| 南郑县| 英德市| 石首市| 东港市|