嵌入式servlet容器:应用打成可执行的jar
优点:简单、便携
缺点:默认不支持jsp、优化定制比较复杂
外置的servlet容器:外面安装tomcat---应用war包的方式打包
一.嵌入式tomcat启动项目步骤:
1.创建一个普通maven项目;(利用idea创建好目录结构)
可以创建一个普通的maven项目

2.将项目修改为springboot的项目结构
在pom文件中添加启动类依赖
<dependencies>
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter</artifactid>
</dependency>
</dependencies>编写启动类
@springbootapplication
public class springboottomcatapplication {
public static void main(string[] args) {
org.springframework.boot.springapplication.run(springboottomcatapplication.class, args);
}
}创建配置文件application.yml
配置端口号
server: port: 8085
3.创建templates目录,编写前端页面
在pom文件中导入templates视图引擎依赖
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-thymeleaf</artifactid>
</dependency>编写前端页面
<!doctype html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>title</title>
</head>
<body>
<h1>success</h1>
</body>
</html>4.创建controller层,编写controller代码
@controller
@requestmapping("/user")
public class successcontroller {
@requestmapping("/success")
public string success(){
system.out.println("1111111111111111111");
return "success";
}
}在pom文件中导入web依赖,否则@requestmapping注解无法识别
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-web</artifactid>
</dependency>此时就可以成功启动了
注意,此时是内置的tomcat启动的
接下来演示如何修改使用外置tomcat启动项目:
二.外置tomcat启动项目:
1.必须创建一个war项目;(利用idea创建好目录结构)
然后在pom文件中指定打包方式为war包

2.导入外部tomcat依赖并指定为provided;
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-tomcat</artifactid>
<scope>provided</scope>
</dependency>3.修改项目结构

创建webapp/web-inf/pages/success.jsp前端页面
创建webapp/web-inf/web.xml配置文件
success.jsp
<%@ page contenttype="text/html;charset=utf-8" language="java" %>
<html>
<head>
<title>success</title>
</head>
<body>
<h1>外置tomcat的使用</h1>
</body>
</html>web.xml
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xsi:schemalocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
</web-app>修改项目结构
4.配置tomcat





5.必须编写一个springbootservletinitializer的子类,并调用configure方法
public class servletinitializer extends springbootservletinitializer {
@override
protected springapplicationbuilder configure(springapplicationbuilder application) {
//传入springboot应用的主程序
return application.sources(springbootapplication.class);
}
}编写controller层代码
在yml配置文件编写前缀后缀
spring:
mvc:
view:
prefix: /web-inf/pages/
suffix: .jsp这样就不会访问到你之前写的success.html页面了
而是访问刚刚写的success.jsp页面
此时启动就可以了
原理
jar包:执行springboot主类的main方法,启动ioc容器,创建嵌入式的servlet容器;
war包:启动服务器,服务器启动springboot应用【springbootservletinitializer】,启动ioc容器;
以上就是springboot使用外置的servlet容器的方法步骤的详细内容,更多关于springboot使用servlet容器的资料请关注代码网其它相关文章!
发表评论