当前位置: 首页 > news >正文

SpringMVC + Tomcat10

1. Tomcat 10的servlet包路径变了,javax -> jakarta
2. DispatcherServlet从Spring6 才开始使用jakarta.servlet.http.Servlet
3. Spring6 需要JDK 17+

1. pom

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.ityj.springmvc</groupId><artifactId>spring_mvc</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>spring_mvc Maven Webapp</name><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>6.0.2</version></dependency><dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf-spring6</artifactId><version>3.1.0.RELEASE</version></dependency><dependency><groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId><version>6.0.0</version></dependency></dependencies><build><finalName>spring_mvc</finalName></build>
</project>

2. web.xml

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><!--1、配置前端控制器,读取配置文件--><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:application-springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

3. Spring 配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd"><!--1、开启注解扫描--><context:component-scan base-package="com.ityj.springmvc"/><mvc:annotation-driven/><!-- 2. 配置thymeleaf视图解析器--><bean id="springResourceTemplateResolver" class="org.thymeleaf.spring6.templateresolver.SpringResourceTemplateResolver"><property name="prefix" value="/WEB-INF/templates/"/><property name="suffix" value=".html"/><property name="templateMode" value="HTML"/><property name="characterEncoding" value="UTF-8"/></bean><bean id="templateEngine" class="org.thymeleaf.spring6.SpringTemplateEngine"><property name="templateResolver" ref="springResourceTemplateResolver"/></bean><bean id="viewResolver" class="org.thymeleaf.spring6.view.ThymeleafViewResolver"><property name="order" value="1"/><property name="characterEncoding" value="UTF-8"/><property name="templateEngine" ref="templateEngine"/></bean></beans>

4. Controller

package com.ityj.springmvc.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;@Controller
public class HelloController {@GetMapping("/hello")public String hello() {System.out.println("hello");return "hello";}
}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Hello</title>
</head>
<body>
Hello
</body>
</html>

在这里插入图片描述

6. 部署到Tomcat并测试

在这里插入图片描述

http://www.lryc.cn/news/591940.html

相关文章:

  • Git使用与管理
  • 时序数据库 Apache IoTDB 实战:基于 Kubernetes 的部署运维全指南
  • 百度权重提升技巧分析:从底层逻辑到实战策略
  • Prompt:开启与AI高效对话的钥匙
  • 客诉:危机到信任的重建
  • Python编程:从入门到实践
  • 前端基础之《Vue(23)—跨域问题》
  • 如何区别HTML和HTML5?
  • 格式转换Total Excel Converter:20 种格式XLS XLSX 批量转 PDFWord
  • 国产替代:ASP4644在电信通信设备中的测试与应用前景
  • 中国工业RFID前三品牌
  • 微型导轨在消费电子领域如何凸显高精度技术?
  • Spring介绍以及IOC和AOP的实现
  • 行为型设计模式:解释器模式
  • 2026python实战——如何利用海外代理ip爬取海外数据
  • ​​Docker 速通教程
  • 【Docker#2】容器历史发展 | 虚拟化实现方式
  • Delphi EDI 需求分析与对接指南
  • Docker 与 GPU 训练
  • 【Docker】在Linux环境下使用Dockerfile打包镜像(图文示例)
  • 深入浅出MyBatis缓存:如何让数据库交互飞起来
  • 无标记点动捕:如何突破传统娱乐边界,打造沉浸式交互体验
  • vscode的终端运行目录修改为当前文件的路径下
  • C#通过HslCommunication连接西门子PLC1200,并防止数据跳动的通用方法
  • 异世界历险之数据结构世界(排序(插入,希尔,堆排))
  • CentOS7下的ElasticSearch部署
  • 2025年6月电子学会全国青少年软件编程等级考试(Python一级)真题及答案
  • TL1A靶点:自免炎症领域的“潜力之星”
  • chainlink VRF中文教程(含mock),解决error: Arithmetic Underflow in createSubscription
  • Elasticsearch 和 solr 的区别