本文主要是介绍class-path/项目路劲和浏览器请求的路径不一样的原因?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
classpath不是idea中看到的任何一个目录,而是源码编译后的class文件和所有配置文件(按照他们原来在项目中的结构打包为war包下的classes目录),加上webapp目录,加上依赖的jar包包括配置文件(任何一个独立的模块被打包时无论是被打包成jar还是war会将该模块内的配置文件按项目中的源码和配置文件目录结构一起打包)(打包成war包下的lib目录),打成的war包(在webapp的结构基础上增加了classes和lib)解压后生成的WEB-INF下的classes和lib目录。(当然还可以自己定义些别的classpath,但不会相互覆盖,WEB-INF下的classes和lib这两个classpath还在。)
不同模块之间不用pom依赖的时候相互之间独立,各自有各自的classpath。有依赖的话会把依赖的模块包括配置文件打成jar依赖进来。但由于classes和lib都是classpath,如果有依赖关系的module比如同一项目中webapp模块依赖了service模块,但配置文件的名称一样,路径也一样,都是在各自的config文件夹下。那这个时候读取根据classpath读取该配置文件会不会有冲突?系统怎么区分读取的是哪一个?
pom中依赖的模块被打成的jar解压后见下面两幅图:
在controller中匹配的名称为ip+端口号后开始的匹配:http://localhost:8079/mvc/hello是可以走进controller的方法中的。那么一个公司的域名与ip+端口号是怎么映射的??
这篇关于class-path/项目路劲和浏览器请求的路径不一样的原因?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!