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.pswp.cn/bicheng/89546.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89546.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89546.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Django `transaction.atomic()` 完整使用指南

目錄 #概述#基本用法#事務一致性保障機制#破壞一致性的常見場景#高級用法#最佳實踐#診斷與調試#附錄 概述 transaction.atomic() 是 Django 提供的數據庫事務管理工具&#xff0c;用于確保一系列數據庫操作要么全部成功提交&#xff0c;要么全部回滾&#xff0c;維護數據的一致…

UDP協議的端口161怎么檢測連通性

UDP 端口 161 (SNMP) 連通性檢測的專業指南 UDP 161 端口是 SNMP (Simple Network Management Protocol) 服務的標準端口。由于其無連接特性&#xff0c;檢測需要特殊方法。以下是全面的檢測方案&#xff1a; 一、專業檢測方法 1. 使用 SNMP 專用工具&#xff08;推薦&#xff…

進階數據結構:紅黑樹

嘿&#xff0c;各位技術潮人&#xff01;好久不見甚是想念。生活就像一場奇妙冒險&#xff0c;而編程就是那把超酷的萬能鑰匙。此刻&#xff0c;陽光灑在鍵盤上&#xff0c;靈感在指尖跳躍&#xff0c;讓我們拋開一切束縛&#xff0c;給平淡日子加點料&#xff0c;注入滿滿的pa…

如何上傳github(解決git的時候輸入正確的賬號密碼,但提示認證失敗)

如何上傳github文件&#xff0c;刪除文件 1.重點 GitHub 從 2021 年 8 月 13 日起移除了對密碼認證的支持。你需要使用個人訪問令牌(Personal Access Token, PAT)或 SSH 密鑰來進行認證。 2.生成SSH key 進入設置點擊New SSH Key名字隨便取&#xff0c;可以自己方便記3.上傳文件…

多級緩存架構與熱點探測系統核心技術解析

多級緩存架構與熱點探測系統核心技術解析 &#x1f4cc; 一、多級緩存架構 1. 為什么需要多級緩存&#xff1f; ? 本地緩存優勢&#xff1a; &#x1f680; 減少網絡請求&#xff0c;提升訪問性能&#x1f310; 分布式系統中天然具有分布式緩存特性?? 有效降低遠程緩存&…

iOS 性能監控工具全解析 選擇合適的調試方案提升 App 性能

在iOS應用開發中&#xff0c;性能往往是決定用戶體驗的關鍵因素之一。用戶體驗的優劣&#xff0c;不僅取決于功能的實現&#xff0c;還在于流暢度、響應速度、資源消耗等方面的表現。因此&#xff0c;性能監控工具在iOS開發中的重要性不可小覷。 無論是提升應用的啟動時間、減少…

C++ :vector的介紹和使用

vector學習時一定要學會查看reference 目錄 前言 一、vector基本概念 1.1vector是什么&#xff1f; 1.2內存管理 二、vector的使用 2.1vector的構造 2.2vector iterator 的使用 2.3vector 空間增長問題 2.4vector的元素訪問 2.5vector 增刪查改 總結 前言 在C編程中&#x…

iOS OC 圖片壓縮

純代碼,不廢話,歡迎copy使用,記得點贊 +(NSData *)imageData:(UIImage *)image maxSize:(int)maxSize{ // 設置最大文件大小(200KB) NSLog(@"執行壓縮方案 期望壓縮目標%dk",maxSize); return [self compressImage:image toMaxSize:maxSize]; } // 主壓縮方…

如何更改 SQLserver 數據庫存儲的位置 想從C盤換到D盤

在 SQL Server 中更改數據庫存儲位置&#xff08;從 C 盤遷移到 D 盤&#xff09;需要通過以下步驟完成&#xff1a;1. 確定數據庫文件的當前位置首先查詢數據庫文件的當前路徑&#xff1a;sqlSELECT name, physical_name AS current_location FROM sys.master_files WHERE dat…

【unitrix】 6.8 加一運算(add_one.rs)

一、源碼 這是一個使用 Rust 類型系統實現二進制數加一操作的代碼。 use crate::number::{O, I, B, Null, Bit, NormalizeIf};/// 類型級加一操作 trait /// /// 為二進制數類型實現加一操作&#xff0c;返回新的類型 pub trait AddOne {/// 加一操作的結果類型type Output;//…

國內Ubuntu訪問不了github、 huggingface等

各位小伙伴們&#xff0c;大家好呀。 大家是不是經常遇到訪問不了github、huggingface的情況呀。 在Ubuntu中可以這樣做。 訪問這個網站網站測速-Ping檢測-Trace查詢-Dig查詢-路由跟蹤查詢-tools.ipip.net&#xff0c; 對于github.com&#xff0c;在這個網站輸入github.com…

「Java EE開發指南」如何用MyEclipse創建企業應用項目?(一)

由于有了項目模型和管理工具&#xff0c;現在可以創建Java EE企業應用程序。在本文中您將了解到&#xff1a; 企業應用項目模型項目組織、依賴關系和類解析 該特性在MyEclipse中可用。 MyEclipse v2025.1離線版下載 1. 企業應用項目模型 MyEclipse提供了一個企業應用程序項…

ubuntu 22.04 pam 模塊設置用戶登錄失敗鎖定

1、ubuntu 22.04 配置方法 /etc/pam.d/common-auth 加到如下行后 # auth [success1 defaultignore] pam_unix.so nullok # 添加如下內容 auth [defaultdie] pam_faillock.so authfail auth sufficient pam_faillock.so authsucc/etc/pam.d/common…

Linux 定時任務全解析:atd 與 crond 的區別及實戰案例(含日志備份 + 時間寫入)

1. atd 和 crond 兩個任務管理程序的區別atd&#xff1a;用于執行一次性的定時任務&#xff0c;即設置任務在某個特定的時間點僅執行一次 &#xff0c;適合處理不需要重復執行的定時操作&#xff0c;比如在未來某個確切時間執行一個腳本、發送一份文件等場景。crond&#xff1a…

iOS加固工具有哪些?項目場景下的組合策略與實戰指南

在如今的iOS項目中&#xff0c;“加固”不僅是單一手段&#xff0c;更是多工具協同應用的過程。不同項目場景對安全要求的側重點不同&#xff0c;需要針對性地組合加固工具&#xff0c;才能最大化兼顧安全性、兼容性與效率。 本文將從常見項目場景出發&#xff0c;分析當下市面…

Xilinx Zynq:一款適用于軟件定義無線電的現代片上系統

摘要——軟件定義無線電可以在通用處理器 (CPU) 上實現&#xff0c;例如基于 PC 的處理器。處理器具有高度靈活性&#xff1a;它不僅可以用來處理數據樣本&#xff0c;還可以控制接收器功能、顯示瀑布圖或運行解調軟件。然而&#xff0c;由于處理速度相對較慢&#xff0c;處理器…

接口黑洞?破!安全堡壘?筑!冰火煉獄?戰!MES7114W終極掌控

在工業4.0加速推進的時代&#xff0c;設備互聯正面臨三大關鍵挑戰&#xff1a;多協議接口的“通信割裂”、極端環境的嚴苛考驗&#xff0c;以及高危場景下的安全紅線。在礦山井下、冶金車間、化工廠區等惡劣環境中&#xff0c;傳統有線方案往往受限于高成本布線、維護困難和環境…

深入理解進程地址空間:虛擬內存與進程獨立性

目錄 引言 虛擬地址空間的本質 關鍵觀察 進程地址空間布局 虛擬內存管理&#xff1a;mm_struct 虛擬內存的優勢 總結 引言 在操作系統中&#xff0c;每個進程都運行在自己的獨立區域中&#xff0c;這個區域就是??進程地址空間??。今天我們就來探討這個看似真實實則虛…

Apache ActiveMQ 任意文件寫入漏洞(CVE-2016-3088)復現利用

漏洞原理 Apache ActiveMQ是Apache軟件基金會所研發的開放源代碼消息中間件&#xff0c;由于ActiveMQ是一個純Java程序&#xff0c;因此只需要操作系統支持Java虛擬機&#xff0c;ActiveMQ便可執行 本漏洞出現在fileserver應用中&#xff0c;漏洞原理其實非常簡單&#xff0c…

谷歌地球與ArcGIS Pro查看三維地形

&#xff08;1&#xff09;Google Earth Web端 通過網站&#xff1a;https://earth.google.com/&#xff0c;進入谷歌地球Web端&#xff0c;可以查看歷史影像、三維地形數據、導入kml文件等。 &#xff08;2&#xff09;ArcGIS Pro查看三維場景 加載3D地形數據&#xff0c;轉…