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

成功跳转

相关推荐
LucianaiB6 分钟前
耗时30天,DocPilot Qwen正式开源:一个免费无广的开源文档 AI 助手
前端·后端
神奇小汤圆32 分钟前
聊聊Java中的of
后端
用户46182495981932 分钟前
网关开发从入门到落地(05)Modbus 最简 C 代码实现:组包 + CRC + 解析(直接移植可用)
后端
foggyprojects39 分钟前
SQL 模板写到这里,为什么 Mongo 也可以用同一种方式接进来
后端
卷无止境43 分钟前
零信任架构与传统边界安全:一场关于"信任"的根本分歧
后端
风止何安啊44 分钟前
我一个前端仔,居然用 Python 搞起了 AI?从零到一,撸了个 AI 聊天框小 demo
前端·人工智能·后端
逍遥运德1 小时前
PostgreSQL ---【序列】用法详解
后端·sql·postgresql
回家路上绕了弯2 小时前
AgentScope Harness 深度实战:让Java智能体从“Demo可用”走向“生产可用”
后端
卷心菜投手ovo2 小时前
RAG 为什么引用总是对不上?
后端·github
foggyprojects2 小时前
动态 SQL 模板里,权限条件为什么要注入而不是散落在业务代码里
后端