SpringBoot配置外部Servlet

1.创建 JavaMaven 项目

创建 JavaMavenWeb 项目会更简单,不需要设置打包方式和创建 WEB-INF 目录

2.修改配置文件 pom.xml

(1)导入父工程

(2)设置打包方式为 war 包

(3)导入 SpringBoot 相关依赖

(4)指定嵌入式 Tomcat 作用域指定为 provided

3.创建 webapp

(1)创建 WEB-INF 和pages 目录

(2)创建 web.xml 配置文件

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app
        version="4.0"
        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_4_0.xsd">
    <display-name>Archetype Created Web Application</display-name>

</web-app>

(3)创建 hello.jsp 界面

javascript 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>success</title>
</head>
<body>
<h1>success222</h1>
<h1> 外置 Servlet 容器实现 </h1>
</body>
</html>

4. 配置 Tomcat

File ---》Project Structure ---》Modules 中检查打包位置

5.配置Tomcat

6.创建三级包并启动类

Controller 类

java 复制代码
package com.goose.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/say")
public class HelloTomcat {
    @RequestMapping("/hello")
    public String hello(){
        return "hello";
    }
}

启动类

java 复制代码
package com.goose;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyselfTomcat1 {
    public static void main(String[] args) {
        SpringApplication.run(MyselfTomcat1.class,args);
    }
}

7.创建 SpringBoot 配置文件

java 复制代码
spring:
  mvc:
    view:
      prefix: /WEB-INF/pages/
      suffix: .jsp

8.创建配置类,并调用configure方法

java 复制代码
package com.qcby;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Demo1.class);
    }

}

启动Tomcat

成功跳转

相关推荐
招风的黑耳20 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
大佐不会说日语~20 小时前
Spring AI Alibaba 的 ChatClient 工具注册与 Function Calling 实践
人工智能·spring boot·python·spring·封装·spring ai
Miss_Chenzr20 小时前
Springboot优卖电商系统s7zmj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
程序员游老板20 小时前
基于SpringBoot3+vue3的爱心陪诊平台
java·spring boot·毕业设计·软件工程·课程设计·信息与通信
期待のcode20 小时前
Springboot核心构建插件
java·spring boot·后端
2501_9216494920 小时前
如何获取美股实时行情:Python 量化交易指南
开发语言·后端·python·websocket·金融
Miss_Chenzr20 小时前
Springboot旅游景区管理系统9fu3n(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·旅游
serendipity_hky21 小时前
【SpringCloud | 第5篇】Seata分布式事务
分布式·后端·spring·spring cloud·seata·openfeign
五阿哥永琪21 小时前
Spring Boot 中自定义线程池的正确使用姿势:定义、注入与最佳实践
spring boot·后端·python
Victor35621 小时前
Netty(16)Netty的零拷贝机制是什么?它如何提高性能?
后端