SpringMVC核心机制环境搭建

文章目录

    • 1.SpringMVC执行流程
        • 1.基础流程图
        • 2.详细流程图
    • 2.安装Tomcat
        • 1.下载
        • 2.解压到任意目录即可
        • 3.IDEA配置Tomcat
          • 1.配置Deloyment
          • 2.配置Server
    • 3.创建maven项目
        • 1.创建sun-springmvc模块(webapp)
        • 2.查看是否被父模块管理
        • 3.pom.xml引入依赖
        • 4.目录
        • 5.SunDispatcherServlet.java
        • 6.web.xml 配置中央控制器
        • 7.启动Tomcat测试访问

1.SpringMVC执行流程

1.基础流程图

CleanShot 2024-08-06 at 15.09.45@2x

2.详细流程图

SpringMVC执行流程图

2.安装Tomcat

1.下载

CleanShot 2024-08-06 at 15.48.45@2x

2.解压到任意目录即可

CleanShot 2024-08-06 at 15.49.10@2x

3.IDEA配置Tomcat
1.配置Deloyment

CleanShot 2024-08-06 at 15.52.40@2x

CleanShot 2024-08-06 at 15.53.11@2x

2.配置Server

CleanShot 2024-08-06 at 15.54.08@2x

3.创建maven项目

1.创建sun-springmvc模块(webapp)

CleanShot 2024-08-06 at 15.23.05@2x

2.查看是否被父模块管理

CleanShot 2024-08-06 at 15.20.26@2x

3.pom.xml引入依赖
<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><parent><groupId>com.sunxiansheng</groupId><artifactId>core_mechanisms</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>sun-springmvc</artifactId><packaging>war</packaging><name>sun-springmvc Maven Webapp</name><url>http://maven.apache.org</url><dependencies><!-- servlet依赖 --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><!-- 作用范围表示在打包放到生产环境时不需要带上这个依赖,因为tomcat本身有 --><scope>provided</scope></dependency><!-- dom4j解析xml --><dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version></dependency><!-- commons-lang3 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.5</version></dependency><!-- 引入日志 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId><version>2.4.2</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><build><finalName>sun-springmvc</finalName></build>
</project>
4.目录

CleanShot 2024-08-06 at 15.56.27@2x

5.SunDispatcherServlet.java
package com.sunxiansheng.springmvc.servlet;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** Description: 中央控制器(本质是一个Servlet)* @Author sun* @Create 2024/8/6 15:33* @Version 1.0*/
public class SunDispatcherServlet extends HttpServlet {// 日志private static final Logger log = LoggerFactory.getLogger(SunDispatcherServlet.class);@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {log.info("SunDispatcherServlet doGet");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {log.info("SunDispatcherServlet doPost");}}
6.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><!-- 配置中央控制器 --><servlet><servlet-name>SunDispatcherServlet</servlet-name><servlet-class>com.sunxiansheng.springmvc.servlet.SunDispatcherServlet</servlet-class><!-- 读取sunspringmvc.xml文件 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:sunspringmvc.xml</param-value></init-param><!-- 在Tomcat启动时就自动加载 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>SunDispatcherServlet</servlet-name><!-- 拦截所有请求(因为是中央控制器) --><url-pattern>/</url-pattern></servlet-mapping></web-app>
7.启动Tomcat测试访问

CleanShot 2024-08-06 at 15.58.48@2x

CleanShot 2024-08-06 at 15.58.57@2x

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877848.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Redis】Redis数据结构——Hash 哈希

哈希 命令hsethgethexistshdelhkeyshvalshgetallhmgethlenhsetnxhincrbyhincrbyfloat命令小结 内部编码使用场景缓存⽅式对⽐ ⼏乎所有的主流编程语⾔都提供了哈希&#xff08;hash&#xff09;类型&#xff0c;它们的叫法可能是哈希、字典、关联数组、映射。在 Redis 中&#…

C语言函数介绍(上)

函数概念库函数标准库和头文件库函数的使用方法头文件包含库函数文档的一般格式 自定义函数函数的语法形式函数例子 形参和实参实参形参实参和形参的关系 return 语句数组做函数参数 函数概念 数学中我们其实就见过函数的概念&#xff0c;比如&#xff1a;一次函数 ykxb &…

【HuggingFace Transformers】BertModel源码解析

BertModel源码解析 1. BertModel 介绍2. BertModel 源码逐行注释 1. BertModel 介绍 BertModel 是 transformers 库中的核心模型之一&#xff0c;它实现了 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;模型的架构。BERT 是基于 Trans…

UE5中制作箭头滑动转场

通过程序化的方式&#xff0c;可以制作一些特殊的转场效果&#xff0c;如箭头划过的转场&#xff1a; 1.制作思路 我们知道向量点积可以拿来做投影&#xff0c;因此可以把UV空间想象成向量坐标&#xff0c;绘制结果就是在某个向量上的投影&#xff1a; 绘制结果似乎是倾斜方…

去雾去雨算法

简单版 import cv2 import numpy as npdef dehaze(image):"""简单去雾算法&#xff0c;使用直方图均衡化来增强图像"""# 将图像转换为YUV颜色空间yuv_image cv2.cvtColor(image, cv2.COLOR_BGR2YUV)# 对Y通道&#xff08;亮度&#xff09;进行…

springsecurity 在web中如何获取用户信息(后端/前端)

一、SecurityContextHolder 是什么 SecurityContextHolder用来获取登录之后用户信息。Spring Security 会将登录用户数据保存在Session中。但是&#xff0c;为了使用方便,Spring Security在此基础上还做了一些改进&#xff0c;其中最主要的一个变化就是线程绑定。当用户登录成功…

4820道西医综合真题西医真题ACCESS\EXCEL数据库

本题库内容源自某出版物《西医综合真题考点还原与答案解析》&#xff0c;包含4千多道真题。这个数据库包含3个表&#xff0c;一个是分类表&#xff08;SECTION_BEAN&#xff09;&#xff0c;一个是题库主表&#xff08;QUESTION_INFO_BEAN&#xff09;&#xff0c;一个是选项表…

【网络】HTTP

在上一篇文章中&#xff0c;我们了解了 协议 的制定与使用流程&#xff0c;不过太过于简陋了&#xff0c;真正的 协议 会复杂得多&#xff0c;也强大得多&#xff0c;比如在网络中使用最为广泛的 HTTP/HTTPS 超文本传输协议 但凡是使用浏览器进行互联网冲浪&#xff0c;那必然…

【生物特征识别论文分享】基于深度学习的掌纹掌静脉识别

&#xff08;待更新&#xff09;基于深度学习的生物特征识别&#xff08;手掌静脉、手背静脉、手指静脉、掌纹、人脸等&#xff09;论文模型总结 。具体方法包括&#xff1a;基于特征表征、基于传统网络设计与优化、基于轻量级网络设计与优化、基于Transformer设计与优化、基于…

Leetcode 100.101.110.199 二叉树相同/对称/平衡 C++实现

Leetcode 100. 相同的树 问题&#xff1a;给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 /*** Definition for a binary tree node.* struct T…

Error: Can not import paddle core while this file exists

背景 因为工作需要&#xff0c;原来的项目部署的电脑被征用&#xff0c;重新换了一个新电脑&#xff0c;重装了系统&#xff0c;今天在给一个使用ocr的项目进行环境配置的时候发现&#xff0c;无论安装哪个版本的paddlepaddle&#xff0c;总是可以安装成功&#xff0c;但是导入…

开源接口自动化测试工具AutoMeter

AutoMeter是一款针对分布式服务和微服务API做功能和性能一体化的自动化测试平台。一站式提供项目管理&#xff0c;微服务&#xff0c;API接口&#xff0c;用例&#xff0c;环境管理&#xff0c;测试管理&#xff0c;前置条件&#xff0c;测试集合&#xff0c;变量管理&#xff…

kali安装

引言 Kali Linux 是一个基于 Debian 的 Linux 发行版&#xff0c;专门为渗透测试和安全审计而设计。它包含了大量的安全工具&#xff0c;如 Wireshark、Nmap、Metasploit 等&#xff0c;这些工具可以帮助安全专家和研究人员进行网络安全评估、漏洞检测和渗透测试。Kali Linux …

系统架构师(每日一练23)

每日一练 1.软件活动主要包括软件描述、()、软件有效性验证和()&#xff0c;()定义了软件功能及使用限制。答案与解析 问题1 A.软件模型 B.软件需求 C.软件分析 D.软件开发 问题2 A.软件分析 B.软件测试 C.软件演化 D.软件开发 问题3 A.软件分析 B.软件测试 C.软件描述 D.软…

进阶-5.锁

锁 1.概述2.全局锁3.表级锁3.1 介绍3.2 表锁3.3 元数据锁3.4意向锁 4.行级锁 1.概述 分类 按锁的粒度分类&#xff1a; 全局锁&#xff1a;锁住数据库中所有表表级锁&#xff1a;每次操作锁定整张表行级锁&#xff1a;每次操作锁定对应的行数据 2.全局锁 介绍 全局锁就是对…

第N11周:seq2seq翻译实战-Pytorch复现

任务&#xff1a; ●为解码器添加上注意力机制 一、前期准备工作 from __future__ import unicode_literals, print_function, division from io import open import unicodedata import string import re import randomimport torch import torch.nn as nn from torch impor…

一款好看的WordPress REST API 主题

介绍&#xff1a; 主题特色&#xff1a; 使用Nuxtjs WordPress Rest Api 实现前后端分离&#xff0c;可完成多端部署&#xff1b; 主题支持自动切换黑夜模式。 使用说明&#xff1a; service 目录为wordpress主题文件&#xff0c;需要拷贝到wordpress主题目录下&#xff0…

记录一次经历:使用flask_sqlalchemy集成flask造成循环导入问题

前言&#xff1a; 工作需求&#xff0c;写一个接口&#xff0c;用Python来编写&#xff0c;我首先想到用flask小型框架来支撑&#xff0c;配置sqlalchemy来实现&#xff0c;但是在实现的过程中&#xff0c;发生循环导入问题 我想到用蓝图来解决此问题&#xff0c;但是仍然会出死…

设置虚拟机使用主机以太网而不是WiF连接

虚拟机使用主机的以太网连接而不是Wi-Fi连接&#xff0c;可以通过在虚拟化软件中配置虚拟机的网络设置来实现。以下是一些常见的虚拟化软件&#xff08;如VMware和VirtualBox&#xff09;中设置虚拟机网络以使用以太网连接的步骤&#xff1a; 一、VMware中设置 1、打开虚拟网…