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

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.xdnf.cn/news/15608.html

相关文章:

  • 链路聚合技术
  • 时序数据库 Apache IoTDB 实战:基于 Kubernetes 的部署运维全指南
  • 抗辐照与国产替代:ASM1042在卫星光纤放大器(EDFA)中的应用探索
  • 新手向:图片批量裁剪工具
  • Jfinal+SQLite解决MYSQL迁移表未复制索引问题,完善迁移工具
  • AI问答-供应链管理:各种交通运输方式货运成本分析
  • 20.轮廓特征与近似,改变图像的轮廓识别画线的精确度,同时画出轮廓对应的矩形
  • 下载了docker但是VirtualBox突然启动不了了
  • Redis:哨兵(Sentinel)
  • Jmeter使用 -1
  • EPLAN 电气制图(十): 绘制继电器控制回路从符号到属性设置(上)
  • python学智能算法(二十二)|SVM-点与超平面的距离
  • 征程 6 UCP 任务优先级 抢占简介与实操
  • 1. 【面试题】- 盒马鲜生(上)
  • 【通识】网络的基础知识
  • MySQL配置性能优化
  • centos 新加磁盘分区动态扩容
  • Curtain e-locker易锁防泄密:从源头把关“打印”安全
  • 从零开始学 Linux 系统安全:基础防护与实战应用
  • Java 集合框架详解:Collection 接口全解析,从基础到实战
  • SpringBoot一Web Flux、函数式Web请求的使用、和传统注解@Controller + @RequestMapping的区别
  • 理解 PS1/PROMPT 及 macOS iTerm2 + zsh 终端配置优化指南
  • PySide笔记之信号连接信号
  • 【LeetCode 热题 100】230. 二叉搜索树中第 K 小的元素——中序遍历
  • Hyperledger Fabric:构建企业区块链网络的实践指南
  • 力扣 hot100 Day47
  • H3CNE 综合实验二解析与实施指南
  • S7-1200 模拟量模块全解析:从接线到量程计算
  • 如何清除 npm 缓存
  • 一台显示器上如何快速切换两台电脑主机?