当前位置: 代码网 > it编程>编程语言>Java > SpringBoot使用外置的Servlet容器的方法步骤

SpringBoot使用外置的Servlet容器的方法步骤

2024年12月30日 Java 我要评论
嵌入式servlet容器:应用打成可执行的jar优点:简单、便携缺点:默认不支持jsp、优化定制比较复杂外置的servlet容器:外面安装tomcat---应用war包的方式打包一.嵌入式tomcat

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com