SpringBoot的n中启动方式可以自行google/baidu,我们线上采用的是:
java -Dserver.port=9999 -cp /path/xxx org.springframework.boot.loader.PropertiesLauncher
这种启动方式相对 java -jar xx.jar 的好处是jar包被解压了,形成了文件的格式,具有更好的兼容性。
操作
1、新建 META-INF 目录,将jsp数据移动到该目录下 , 最后格式如下:
➜ main tree├── java│ └── com│ └── example│ └── demo│ ├── DemoApplication.java│ └── view│ └── CC.java└── resources├── META-INF│ └── a.jsp└── application.properties
2、配置Tomcat#context
@Componentpublic class XXX implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {@Overridepublic void customize(TomcatServletWebServerFactory factory) {factory.addContextCustomizers(new TomcatContextCustomizer() {@Overridepublic void customize(Context context) {//根据ECS/DOCKER和本地环境进行配置,这里指向jar包解压后的META-INF,绝对路径context.setDocBase("/Users/admin/open/demo/target/xx/META-INF");}});}}
3、组合拳
使用IDEA新建立一个demo项目
➜ mvn clean compile package -Pdev➜ cd target➜ unzip demo-0.0.1-SNAPSHOT.jar -d xx➜ cd xx➜ lsBOOT-INF META-INF orgjava -Dserver.port=9999 org.springframework.boot.loader.PropertiesLauncher#最后 curl 127.0.0.1:9999/a.jsp
你一定需要jsp访问吗
如果仅仅只是用jsp作为外部的跳转链接,那自己是大可不必的. 还有以下2种方式来进行处理
- Controller

- servlet
不再描述
