贼烦的是,使用spring boot 建立web项目,而后我再idea下建立的,but 仅仅启动spring boot的启动类,就算整个项目都是好着的,就算是可以进入controller中,也不能成功访问到jsp页面。很尴尬!也很无语!html
好吧,开头一句抱怨,下面全靠编~~~web
=======================================================================================================spring
1.idea下spring boot建立web项目apache
刚建立完是下面这样api
固然,最后建立完的使用JSP的web项目可不是这个结构的。往下看。浏览器
2.pom.xml添加下面tomcat
View Codemvc
上面这三个是spring boot项目建立使用jsp页面的web项目必须的三个依赖 app
这里介绍下maven中scope依赖范围的概念,由于后续涉及到这个会有问题。webapp
依赖范围就是用来控制依赖和三种classpath(编译classpath,测试classpath、运行classpath)的关系,Maven有以下几种依赖范围:
3.建立webapp目录,并建立jsp页面在目录下
注意建立的目录层级关系
若是再建立jsp页面的时候,不能右键直接建立的话,能够http://www.cnblogs.com/sxdcgaq8080/p/7676294.html
4.application.properties配置文件的完善
注意前缀 的值是 /WEB-INF/views/ 而不是 /WEB-INF/views
少一个/ 整个访问的路径就是不完整的。
spring.mvc.view.prefix = /WEB-INF/views/ spring.mvc.view.suffix = .jsp
由于webapp在刚刚上面建立jsp页面的时候,已经被指定为classpath了,也就是根路径了。
因此如今,这里配置了mvc的【view】视图层前缀后缀,指定controller中寻找页面就去/WEB-INF/views/ 下面去找.jsp文件了。
5.写一个跳转页面的controller层
6.因此,最终项目的目录结构是这个样子的
哦哦,这里有一个web目录,是能够删掉的,不过删不删也无所谓,没有多大的关系
7.最后一步,启动而且能访问
这里不是经过启动类去启动,而是须要经过spring-boot:run去启动
右键 run 或者debug均可以
而后 启动起来以后在浏览器访问
是能够访问到的。
8.还有就是,若是把用于编译jsp的 这个插件的scope注解,也就是使用默认的scope
<!--用于编译jsp--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <!--<scope>provided</scope>--> </dependency>
而后import 整个pom.xml文件以后。
再经过 启动 启动类的方式来启动spring boot项目的话,也是能够访问的到的【我把web目录删掉了】
经过启动spring-boot:run的方式也能够访问到。
=====================================================================================================
由于确实碰到不少小的点注意不到的地方,致使整个就是访问不到,反正上面该罗列的都罗列出来了。