SpringBoot内部对jsp的支持并不是很理想,而SpringBoot推荐的视图是Thymeleaf、FreeMarker。但是我更加喜欢使用jsp(因为我不会用Thymeleaf),所以学习一下SpringBoot中使用JSP视图。
创建项目:
创建项目没有太多特别的地方,要注意的是打包方式要选择打成war包
然后可以根据自己的需求选择预先加入工程的依赖,我这里选择了web、mysql、mybatis。
创建出来的项目目录:
可以发现和上一篇文章《SpringBoot入门》创建的目录相比多了一个ServletInitializer类,打开这个类:
1 | public class ServletInitializer extends SpringBootServletInitializer { |
发现它继承了SpringBootServletInitializer这个父类,而SpringBootServletInitializer这个类是springboot提供的web程序初始化的入口,当我们使用外部容器运行web项目时会自动加载并且装配(不使用SpringBoot内置的tomcat时也需要这个)。这是一个类似于web.xml配置的方式启动spring应用。
实现了SpringBootServletInitializer的子类需要重写一个configure方法,方法内自动根据SpringbootJspApplication.class的类型创建一个SpringApplicationBuilder交付给springboot框架来完成初始化运行配置。
完善项目目录:
之前MVC的时候jsp页面一般都放在/webapp/WEB-INF/jsp目录下,现在我依然沿用这种习惯的方式。
在main目录下创建/webapp/WEB-INF/jsp目录,springboot会自动的将webapp设置到Models中,webapp文件夹如果没有那个小蓝点的话,需要手动进行Models的设置哦。完善之后的目录:
添加依赖:
添加jsp的maven依赖、jsp对servlet容器的支持、jsp中要用的jstl标签依赖。
1 | <!-- https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper --> |
编写application.properties:
1 | #DB连接四大参数 |
编写后端代码:
Pojo、Controller、Service、Dao。。。和之前MVC时一样,进行简单的编写查询数据库中全部用户的信息,然后在jsp页面表格中展示。具体的代码就不在赘述了,不会的话,可以参考之前的文章。
直接点击启动类运行,两三秒就启动成功了!!!发起请求,一切正常!!!SpringBoot真的太简洁了!!!其他的框架Mybatis等等,只要整合了SpringBoot之后一切都变得明朗了!!!