(一)
项目启动后,在浏览器输入http://localhost:8080/springbootweb/hello
结果界面提示以下内容:
查看了控制台,启动过程没有报异常,那是什么原因导致的呢?
上网时查询:给出的解决方案如下:
原因1:
Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包
原因:spring-boot会自动加载启动类所在包下及其子包下的所有组件.
原因2:
在springboot的配置文件:application.yml或application.properties中关于视图解析器的配置问题:
当pom文件下的spring-boot-starter-paren版本高时使用:
spring.mvc.view.prefix/spring.mvc.view.suffix
当pom文件下的spring-boot-starter-paren版本低时使用:
spring.view.prefix/spring.view.suffix
原因3:
控制器的URL路径书写问题
@RequestMapping(“hello”)
实际访问的路径与”hellow”不符合.
针对第一个原因,查看一下自己项目的结构,发现没问题啊:
果断排除第一个原因,然后第二个原因也不符合我的情况,第三个原因乍看也不符合,路径名“写对”了,那问题出在哪呢,
后来通过对比其他项目,发现路径这里是不需要写项目名的,端口号后面直接写controoler里边requestMapping里边的路径,即localhost:8080/hello即可,如此看来这问题其实是第三个原因,URL路径书写的问题。
初学springboot,里边的机制不是很了解,不知为何路径直接跨过项目名。知道的大神方便的话可以解释下吗?记得以前springmvc,要想访问路径不用写项目名,得去配置tomcat里边的server.xml文件,springboot直接跳过这一步了。
(二)
springboot打包jar 运行时,加项目名(jar名)访问不到,去掉项目名(jar名),ip+接口名就能访问
springboot打包成war放到tomcat,ip+接口名访问不了,ip+项目名(war名)+接口 才能访问
原因暂时不明,今天实践得出的结论,记录下。探究到原因再补上。