項目名稱:037-springboot-web-jar
因為SpringBoot默認的打包方式就是jar包,所以我們直接執行Maven的package命令就行了。
1.在pom.xml文件中添加Tomcat解析jsp依賴
<!--SpringBoot項目內嵌tomcat對jsp的解析包-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
2.在pom.xml文件中添加resources配置,以后為了保險起見,大家在打包的時候,建議把下面的配置都加上
<resources>
<!--mybatis的mapper.xml-->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<!--src/main/resources下的所有配置文件編譯到classes下面去-->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
<resource>
<!--源文件位置-->
<directory>src/main/webapp</directory>
<!--編譯到META-INF/resources,該目錄不能隨便寫-->
<targetPath>META-INF/resources</targetPath>
<includes>
<!--要把哪些文件編譯過去,**表示webapp目錄及子目錄,*.*表示所有-->
<include>**/*.*</include>
</includes>
</resource>
</resources>
3.修改pom.xml文件中打包插件的版本
默認SpingBoot提供的打包插件版本為2.1.2.RELEASE,這個版本打的jar包jsp不能訪問,我們這里修改為1.4.2.RELEASE(其它版本測試都有問題)
<!--SpringBoot提供的打包編譯等插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
</plugin>
4.修改application.properties配置文件
#設置內嵌Tomcat端口號
server.port=9090
#設置項目上下文根
server.servlet.context-path=/
#配置jsp的前/后綴
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
5.在com.abc.springboot.web包下創建IndexController
package com.abc.springboot.web;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
/**
* ClassName:IndexController
* Package:com.abc.springboot.web
* Description:
*/
@Controller
public class IndexController {
@GetMapping(value = "/springboot/index")
public String index(HttpServletRequest request, Model model) {
model.addAttribute("data","Hello SpringBoot JSP");
return "index";
}
@RequestMapping(value = "/springboot/json")
public @ResponseBody Object json() {
Map retMap = new HashMap();
retMap.put("message","SpringBoot-JSON");
return retMap;
}
}
6.創建webapp并指定為web資源目錄
7.通過java命令執行jar包,相當于啟動內嵌tomcat
將target下的jar包拷貝到某一個目錄,在該目錄下執行java -jar jar包名稱
8.瀏覽器訪問測試