SpringMVC xml文件路徑在web.xml中的配置方式
SpringMVC xml文件路徑在web.xml中的配置
正常情況下springmvc的xml文件應(yīng)放在WEB-INF下,命名規(guī)則為[name]-servlet.xml, “-servlet”這個(gè)字段是必不可少的 [name]你可以隨便命名 ,同時(shí)你的web.xml文件中兩個(gè)servlet要和你的name相同,不然會(huì)報(bào)錯(cuò)的。
springmvc-servlet.xml在web.xml中的文件路徑配置
放在src目錄下,則需要手動(dòng)配置springmvc-servlet.xml路徑,命名不再有限制,文件路徑正確并且兩個(gè) <servlet-name> 相同即可。springmvc-servlet.xml在web.xml中的文件路徑配置
注:此處在作者電腦上<param-value>的當(dāng)前路徑在resources下,可以通過(guò)"./" 測(cè)試當(dāng)前路徑在哪。
SpringMVC 修改配置文件路徑
1.1.Classpath
工程目錄
在web.xml文件如下配置:
<!-- 配置spring mvc 的核心servlet --> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <!-- 指定spring mvc 配置文件的路徑 默認(rèn)為 /WEB-INF/<[servlet-name]-servlet.xml> 例如此處為/WEB-INF/spring-servlet.xml 下面配置的也就是默認(rèn)值 --> <param-value>classpath:config/spring-servlet.xml</param-value> </init-param> <!-- 配置隨服務(wù)器啟動(dòng)自動(dòng)初始化 --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <!-- 過(guò)濾所有后綴名為.do的請(qǐng)求 --> <url-pattern>*.do</url-pattern> </servlet-mapping>
1.2.Classpath*
工程目錄跟上面一樣
Web.xml文件中如下配置:
<!-- 配置spring mvc 的核心servlet --> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <!-- 指定spring mvc 配置文件的路徑 默認(rèn)為 /WEB-INF/<[servlet-name]-servlet.xml> 例如此處為/WEB-INF/spring-servlet.xml 下面配置的也就是默認(rèn)值 --> <param-value>classpath*:config/spring-servlet.xml</param-value> </init-param> <!-- 配置隨服務(wù)器啟動(dòng)自動(dòng)初始化 --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <!-- 過(guò)濾所有后綴名為.do的請(qǐng)求 --> <url-pattern>*.do</url-pattern> </servlet-mapping>
1.3.Classpath是什么
設(shè)置Classpath的目的,在于告訴Java執(zhí)行環(huán)境,在哪些目錄下可以找到您所要執(zhí)行的Java程序所需要的類或者包。
classpath是指 WEB-INF文件夾下的classes目錄 ,將web應(yīng)用發(fā)布到服務(wù)器時(shí),會(huì)將src目錄下所有的類編譯后的class文件和資源文件放入到WEB-INF文件夾下的classes目錄。
1.4.Classpath和classpath*的區(qū)別
classpath
:只會(huì)到你的class路徑中查找找文件。classpath*
:不僅包含class路徑,還包括jar文件中(class路徑)進(jìn)行查找。
1) 前者只會(huì)從第一個(gè)classpath中加載,而后者會(huì)從所有的classpath中加載 。
2) 如果要加載的資源, 不在當(dāng)前ClassLoader的路徑里,那么用classpath:前綴是找不到的, 這種情況下就需要使用classpath*:前綴。
3) 在多個(gè)classpath中存在同名資源,都需要加載, 那么用classpath:只會(huì)加載第一個(gè),這種情況下也需要用classpath*:前綴。
4) 用classpath*:需要遍歷所有的classpath,所以加載速度是很慢的,因此,在規(guī)劃的時(shí)候,應(yīng)該盡可能規(guī)劃好資源文件所在的路徑,盡量避免使用classpath*。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中l(wèi)ist.foreach()和list.stream().foreach()用法詳解
在Java中List是一種常用的集合類,用于存儲(chǔ)一組元素,List提供了多種遍歷元素的方式,包括使用forEach()方法和使用Stream流的forEach()方法,這篇文章主要給大家介紹了關(guān)于Java中l(wèi)ist.foreach()和list.stream().foreach()用法的相關(guān)資料,需要的朋友可以參考下2024-07-07SpringBoot后端解決跨域問(wèn)題的3種方案分享
這篇文章主要給大家分享介紹了關(guān)于SpringBoot后端解決跨域問(wèn)題的3種方案,跨域指的是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本,它是由瀏覽器的同源策略造成的,是瀏覽器施加的安全限制,需要的朋友可以參考下2023-07-07Springboot微服務(wù)打包Docker鏡像流程解析
這篇文章主要介紹了Springboot微服務(wù)打包Docker鏡像流程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08JAVA基于Slack實(shí)現(xiàn)異常日志報(bào)警詳解
這篇文章主要為大家介紹了JAVA基于Slack實(shí)現(xiàn)異常日志報(bào)警詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Java中Elasticsearch 實(shí)現(xiàn)分頁(yè)方式(三種方式)
Elasticsearch是用Java語(yǔ)言開(kāi)發(fā)的,并作為Apache許可條款下的開(kāi)放源碼發(fā)布,是一種流行的企業(yè)級(jí)搜索引擎,這篇文章主要介紹了Elasticsearch實(shí)現(xiàn)分頁(yè)的3種方式,需要的朋友可以參考下2022-07-07Spring+SpringMVC+MyBatis整合詳細(xì)教程(SSM)
Spring是一個(gè)開(kāi)源框架,Spring是于2003 年興起的一個(gè)輕量級(jí)的Java 開(kāi)發(fā)框架。這篇文章主要介紹了Spring+SpringMVC+MyBatis整合詳細(xì)教程(SSM),需要的朋友可以參考下2017-10-10Java Applet查找素?cái)?shù)小程序代碼實(shí)例
這篇文章主要介紹了Java Applet查找素?cái)?shù)小程序代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02解決@PathVariable出現(xiàn)點(diǎn)號(hào).時(shí)導(dǎo)致路徑參數(shù)截?cái)喃@取不全的問(wèn)題
這篇文章主要介紹了解決@PathVariable出現(xiàn)點(diǎn)號(hào).時(shí)導(dǎo)致路徑參數(shù)截?cái)喃@取不全的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08