发表于: 2017-06-16 21:52:39
1 1103
今天还是继续解决昨天的问题。。
奇怪的是,打开IDEA,发现所有的配置文件下面有关spring的路径都有问题,像这样:
或者是这样:
于是乎去百度了,虽然百度没有解决这个问题,但是我又学到了一点东西:
参考资料:http://blog.csdn.net/u014137486/article/details/54381341
http://blog.csdn.net/kyle8525_nsn/article/details/8634816
对web.xml文件、spring配置文件中的classpath的理解:
JavaEE中classpath与系统环境变量中的classpath不一样,WEB应用中的classpath专指项目WEB-INF/classes和WEB-INF/lib,web容器在启动时会对WEB-INF/classes和WEB-INF/lib目录下的class文件、配置文件以及jar文件进行加载,当然,配置文件的加载是根据web.xml中的配置(显示配置了文件路径或者配置了其它类而在类内部进行加载配置文件)来的,web容器并不会自动加载WEB-INF/classes下的配置文件。
不过既然所有的web容器都会以WEB-INF/classes和WEB-INF/lib作为classpath,那么这就是一个规范,而且这么重要的内容,没有规范也不合理,但是这个规范是谁制定的?在哪里能找到此规范呢?还有,此处的classpath应该是web容器的classpath。
classpath:与classpath*:有何区别:
【classpath:】此配置表示告诉web容器去classpath(WEB-INF/classes和WEB-INF/lib)中去加载指定名称的配置文件,若是有同名文件,则只会加载一个。
【classpath*:】此配置表示告诉web容器去classpath(WEB-INF/classes和WEB-INF/lib)中去加载指定名称的配置文件,若是有同名文件则会全部加载。
不得已请教师兄,原来:
整个项目需要用pom打开::像这样:
最后选择打开项目即可。。。错误就这么没了。。。弄了半天是我打开方式的问题。。。
然而,404的问题还没有解决。。
根据Catalinalog的debug汇总:
017-06-1620:28:43,574[http-apr-8080-exec-7]DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] - Did not find handler method for [/favicon.ico]
2017-06-1620:28:43,584[http-apr-8080-exec-7]DEBUG [org.springframework.web.servlet.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'dispatcher': assuming HandlerAdapter completed request handling
2017-06-16 20:29:17,574 [http-apr-8080-exec-4] DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] - Did not find handler method for [/task5_login-1.0-SNAPSHOT/index.html]
2017-06-16 20:29:17,576 [http-apr-8080-exec-4] DEBUG [org.springframework.web.servlet.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'dispatcher': assuming HandlerAdapter completed request handling
这几个是。。。百度都解决不了的。。
明天继续吧。。。
评论