一. 回顾
前面学习了Day47——嵌入式Servlet容器启动原理,今天学习下使用外部Servlet容器以及JSP支持
二. 使用外部Servlet容器&JSP支持
2.1 使用外部Servlet容器步骤
首先new一个project,如下:
测试:
hello.jsp
<body>
<h1>hello JSP.</h1>
<a href="abc">abc</a>
</body>
success.jsp
<body>
<h1>success</h1>
<h1>${msg}</h1>
</body>
application.properties
#配置视图映射
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
HelloController.java
@Controller
public class HelloController {
@GetMapping(value="/abc")
public String hello(Model model){
model.addAttribute("msg", "你好啊");
return "success";
}
}
效果:
2.2 使用外部Servlet容器的总结
- 必须创建一个war应用
- 将嵌入式的tomcat指定为provide,意思是打包的时候不需要将tomcat打包因为目标环境已经有
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
- 编写一个SpringBootInitializer的子类,并重写configure()方法,如下:
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
//传入SpringBoot应用的主程序
return application.sources(SpringBoot04WebJspApplication.class);
}
}
- 启动服务器就可以使用