欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringMVC之DispatcherServlet配置文件應(yīng)該放在哪里呢

 更新時(shí)間:2023年11月03日 09:40:06   作者:魚哥  
這篇文章主要介紹了SpringMVC之DispatcherServlet配置文件應(yīng)該放在哪里的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

DispatcherServlet配置文件應(yīng)該放在哪里

DispatcherServlet是前置控制器,配置在web.xml文件中的。攔截匹配的請(qǐng)求,Servlet攔截匹配規(guī)則要自己定義,把攔截下來(lái)的請(qǐng)求,依據(jù)相應(yīng)的規(guī)則分發(fā)到目標(biāo)Controller來(lái)處理,是配置spring MVC的第一步。

但是,我們?cè)诖罱⊿pringMVC框架時(shí),往往總是把DispatcherServlet的配置文件放錯(cuò)位置。

網(wǎng)上有的說(shuō):springDispatcherServletMVC-servlet.xml(暫且命名這么一個(gè)springDispatcherServletMVC的dispatchservlet配置文件)應(yīng)該放在WEB-INF下面(與web.xml放一起);

有的說(shuō):應(yīng)該直接把springDispatcherServletMVC-servlet.xml放在src文件夾下面;

有的說(shuō):在java resources下面新建一個(gè)config的resource folder,把配置文件都放在這個(gè)資源文件夾下面。那么到底哪種是正確的呢?

答案是:這個(gè)要根據(jù)web.xml中DispatcherServlet的配置聲明有關(guān)系。

第一種情況

當(dāng)web.xml中DispatcherServlet配置聲明中,沒(méi)有明確DispatcherServlet前端控制器配置文件的位置時(shí),則系統(tǒng)默認(rèn)DispatcherServlet前端控制器配置文件放在WEB-INF文件夾下。

例如:

項(xiàng)目結(jié)構(gòu)示意圖

web.xml部分代碼如下:

    <!--信息轉(zhuǎn)發(fā)器,該servlet名為mvc-dispatcher(名稱可修改,但必須與mvc-dispatcher-servlert.xml的前綴名相同),用于攔截請(qǐng)求(url-pattern為 / ,說(shuō)明攔截所有請(qǐng)求),并交由Spring MVC的后臺(tái)控制器來(lái)處理。這一項(xiàng)配置是必須的-->
    <servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

上面代碼聲明了一個(gè)命名為mvc-dispatchert的前端控制器(DispatcherServlet),并且沒(méi)有指定該servlet配置文件的路徑,那么系統(tǒng)將以默認(rèn)名字mvc-dispatcher-servlet.xml在默認(rèn)路徑/WEB-INF下尋找它,位置不正確,名字不正確,都會(huì)報(bào)錯(cuò)。

第二種情況

當(dāng)web.xml中DispatcherServlet配置聲明中,已經(jīng)明確DispatcherServlet前端控制器配置文件的位置時(shí),則必須將前端控制器的配置文件放在src下面,不能放在webcontent(webapp)下了,當(dāng)然,在src的各級(jí)子文件夾中也是可以的。

一般放在java resources下面,或者在resources下新建一個(gè)config的文件夾專門用來(lái)存放配置文件,文件結(jié)構(gòu)如下:

項(xiàng)目結(jié)構(gòu)示意圖

web.xml部分代碼如下:

    <!--信息轉(zhuǎn)發(fā)器,該servlet配置文件存放在/resources/config下,用于攔截請(qǐng)求(url-pattern為 / ,說(shuō)明攔截所有請(qǐng)求),并交由Spring MVC的
    后臺(tái)控制器來(lái)處理。這一項(xiàng)配置是必須的-->
    <servlet>
        <servlet-name>mvc-dispatcherhahaha</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:config/mvc-dispatcher-servlet.xml</param-value>
    </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>mvc-dispatcherhahaha</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

上面代碼中,明確了contextConfigLocation的地址為:classpath:(即在classes文件夾下面)。

并且請(qǐng)注意,此處我估計(jì)將配置文件中的servlet類命名為mvc-dispatcherhahaha,就是為了與配置文件名稱mvc-dispatcher-servlet.xml區(qū)分開來(lái),因此可以看出,此處命名是任意的,只需再位置參數(shù)init-param中體現(xiàn)出來(lái)即可。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決Maven 項(xiàng)目報(bào)錯(cuò) java.httpservlet和synchronized使用方法

    解決Maven 項(xiàng)目報(bào)錯(cuò) java.httpservlet和synchronized使用方法

    下面小編就為大家?guī)?lái)一篇解決Maven 項(xiàng)目報(bào)錯(cuò) java.httpservlet和synchronized使用方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • MyBatis與其使用方法示例詳解

    MyBatis與其使用方法示例詳解

    MyBatis是一個(gè)支持自定義SQL的持久層框架,通過(guò)XML文件實(shí)現(xiàn)SQL配置和數(shù)據(jù)映射,簡(jiǎn)化了JDBC代碼的編寫,本文給大家介紹MyBatis與其使用方法講解,感興趣的朋友一起看看吧
    2025-03-03
  • JAVA生產(chǎn)者消費(fèi)者(線程同步)代碼學(xué)習(xí)示例

    JAVA生產(chǎn)者消費(fèi)者(線程同步)代碼學(xué)習(xí)示例

    這篇文章主要介紹了JAVA線程同步的代碼學(xué)習(xí)示例,大家參考使用吧
    2013-11-11
  • Java實(shí)現(xiàn)簡(jiǎn)單GUI登錄和注冊(cè)界面

    Java實(shí)現(xiàn)簡(jiǎn)單GUI登錄和注冊(cè)界面

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單GUI登錄和注冊(cè)界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 詳解HandlerInterceptor處理器攔截器的用法

    詳解HandlerInterceptor處理器攔截器的用法

    這篇文章主要介紹了HandlerInterceptor處理器攔截器的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java Spring Bean的生命周期管理詳解

    Java Spring Bean的生命周期管理詳解

    這篇文章主要為大家介紹了Java Spring Bean的生命周期管理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • java String.join()的使用小結(jié)

    java String.join()的使用小結(jié)

    String.join()是Java 8引入的一個(gè)實(shí)用方法,用于將多個(gè)字符串按照指定分隔符連接成一個(gè)字符串,本文主要介紹了java String.join()的使用小結(jié),感興趣的可以了解一下
    2025-03-03
  • Spring的@Validation和javax包下的@Valid區(qū)別以及自定義校驗(yàn)注解

    Spring的@Validation和javax包下的@Valid區(qū)別以及自定義校驗(yàn)注解

    這篇文章主要介紹了Spring的@Validation和javax包下的@Valid區(qū)別以及自定義校驗(yàn)注解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 使用mybatis-plus-generator進(jìn)行代碼自動(dòng)生成的方法

    使用mybatis-plus-generator進(jìn)行代碼自動(dòng)生成的方法

    這篇文章主要介紹了使用mybatis-plus-generator進(jìn)行代碼自動(dòng)生成的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Maven倉(cāng)庫(kù)無(wú)用文件和文件夾清理的方法實(shí)現(xiàn)

    Maven倉(cāng)庫(kù)無(wú)用文件和文件夾清理的方法實(shí)現(xiàn)

    這篇文章主要介紹了Maven倉(cāng)庫(kù)無(wú)用文件和文件夾清理的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論