过程如下 :
- pom文件中加入依赖
org.apache.tomcat.embed tomcat-embed-jasper
- 在build标签中指定jsp文件的编译目录
src/main/webapp meta-INF/resources ***.xml src/main/resources *.*
- 在build标签中指定打包后的war包名称
myboot
- 创建webapp目录,并且创建jsp文件
需要将创建好的文件设置为资源文件 - 创建视图层
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class JspController {
@RequestMapping("/main")
public String main(Model model) {
model.addAttribute("data", "springboot打包为war文件");
return "index";
}
}
- 修改application.properties里的内容
#视图解析器 spring.mvc.view.prefix=/ spring.mvc.view.suffix=.jsp
注意这里可以不用配置端口号,因为打包为war包使用的是外部的tomcat服务器,使用的是tomcat的端口,而不是springboot的端口
7. 主类需要继承SpringBootServletInitiallizer
由于打成包后需要在外部使用tomcat,需要继承SpringBootServletInitializer,并重写configure方法
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
- 使用maven package打包
- 将打包好的文件放在本机tomcat的webapps目录下
- 启动应用
启动过程如下 :
首先先启动本地的tomcat服务器,即运行tomcat目录下bin文件的startup.bat,此时会将war包自动解压在webapps目录下
此时不要关闭startup.bat,将myboot.war包自动解压为myboot,这时/myboot就是访问项目的项目名
此时就可以直接访问了,由于使用的是外部的tomcat服务器,那么将访问的端口就是tomcat的端口,项目名为解压缩后的文件名称.
过程如下 :
- pom文件中加入相关依赖
org.apache.tomcat.embed tomcat-embed-jasper
- 在build标签中指定文件编译后的目录
src/main/webapp meta-INF/resources ***.xml src/main/resources *.*
- 创建webapp项目,并且创建jsp文件
- 创建视图层
- 修改application.properties
server.port=8081 server.servlet.context-path=/myjsp #视图解析器 spring.mvc.view.prefix=/ spring.mvc.view.suffix=.jsp
这里需要配置端口号,因为jar包本身还是使用自己的内置tomcat服务器,需要使用自己配置的端口号和项目名称
- 在plugin标签中设置插件版本,这个也在build标签中
org.springframework.boot spring-boot-maven-plugin 1.4.2.RELEASE
- 执行maven package
- 启动应用
在jar包的位置执行jar,启动内置tomcat
即在jar包的位置执行cmd命令
java -jar myboot.jar
- 访问项目
使用application.properties配置的内容访问项目,这时使用的是内部的tomcat.
- war包的启动需要服务器,由于本地服务器启动需要占用资源,耗费更多,不过可以更好的使用本地服务器的性能.
- jar包比较小巧,使用更方便,不过由于使用的是内置的tomcat,导致性能上不如本地服务器.



