目前Spring对于JSP的开发并不是那么友好,官方推荐使用模板引擎开发
FreeMarker
Thymeleaf
Velocity (1.4版本之后弃用,Spring Framework 4.3版本之后弃用)
Groovy
Mustache
注:jsp应该尽量避免使用,原因如下:
- jsp只能打包为:war格式,不支持jar格式,只能在标准的容器里面跑(tomcat,jetty都可以)
- 内嵌的Jetty目前不支持JSPs
- Undertow不支持jsps
jsp自定义错误页面不能覆盖spring boot 默认的错误页面
但是,老程序员的习惯毕竟很难改变,所以这里我们开始用jsp来进行相关的开发
第一步,在pom.xml中引入先关jar包
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
第二步:在application.properties中添加
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
第三步:
在webapp路径下面添加index.jsp页面,默认加载
然后启动 localhost:8080或者localhost:8080/index就会显示index.jsp页面
注:这里有个很关键的点,默认生成的application的main方法的类,默认扫描的是这个方法对应的包的下面的类,所以不再这个包里的其他类不会被spring扫描到,如:
main方法对应的类的包是 com.test.demo,它默认扫描的就是demo包以及其子包下面的所有类。其他包没有扫描到,如果需要修改基础扫描包的话需要在application类外面添加
@ComponentScan(basePackages = {"com.test"})