嵌入式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容器的资料请关注代码网其它相关文章!
发表评论