又到了一年一度年底扫福时间,闲着没事,把springboot官方文档看了一遍。可能年后有两个小的项目需要改造,想试试把ssm的架构改为springboot+mybatis,但是又不想舍弃掉jsp,虽然官方不建议使用,更推荐thymelea。秉着前端能不动就不动的原则,打死都不改。
废话不多说,看看在idea下集成jsp需要哪些处理,首先当然需要添加mvn依赖
<!--jsp支持--> <!-- servlet 依赖. --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!-- tomcat 的支持.--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> |
2、src/main目录下创建WEB-INF源文件夹,如图所示
3、application.yml在spring下需要添加配置
4、编写控制器,启动服务访问正常
当然如果仅仅在idea玩一下到这里就没问题了,如果想打成war包部署到tomcat下跑,还是有很多坑需要填
5、mvn文件bulid下添加需要打war部署到tomcat那一段
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- 打war包部署到tomcat --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <useSystemClassLoader>false</useSystemClassLoader> </configuration> </plugin> </plugins> </build> |
6、main.java需要继承SpringBootServletInitializer实现configure方法,如图
7、idea下mvn打包 命令clean package
打好的包在项目路径target文件夹下
8、把打好的war包丢到tomcat下跑,报错
百度一番,两种解决方法,第一:用tomcat8+,第二种就是去mvn仓库下载最新的el-api3.0.jar放到tomcat7的lib目录下
9、启动tomcat访问没毛病,访问路径加项目名,访问路径加项目名,访问路径加项目名!!!
没事多看看官方文档还是有收获的,springboot官方文档传送门,springboot各种demo在github上都有。
最后附上源码地址,里面集成了很多乱七八糟的东西,凑合着看吧