SpringMVC核心机制环境搭建

news2024/9/22 11:39:14

文章目录

    • 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);

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        log.info("SunDispatcherServlet doGet");
    }

    @Override
    protected 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.coloradmin.cn/o/2068846.html

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

相关文章

电子电气架构--- 智能汽车电子架构的核心诉求

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗你的人和事&#xff0c;多看一眼都是你的不…

Android点击和触摸音量小的问题(问题追踪)

有客户反馈&#xff1a;A14触摸声音没有 于是乎&#xff0c;追踪setting打开触摸声音的代码&#xff1a; Overridepublic boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {if (preference mVibrateWhenRinging) {Settings.System…

Linux | 进程优先级进程的环境变量

文章目录 进程概念4、进程优先级4.1基本概念4.2查看系统进程4.2.1 ps -l4.2.2 PRI & NI 4.3用top命令更改已存在进程的nice&#xff1a; 5、环境变量5.1常见环境变量5.2查看环境变量5.3测试PATH配置环境变量 5.4代码中获取环境变量5.4代码中获取环境变量 进程概念 4、进程…

RFID 智慧城市书房:开启智慧阅读新时代

在当今数字化、智能化的时代&#xff0c;人们对于阅读的需求和体验也在不断升级。RFID 智慧城市书房的出现&#xff0c;为满足人们对高品质阅读环境的追求提供了全新的途径。 一、RFID 技术&#xff1a;智慧城市书房的核心支撑 RFID&#xff0c;即射频识别技术&#xff0c;是一…

DDS IP实现啁啾信号

简介 DDS&#xff08;Direct Digital Synthesizer&#xff09;即数字合成器&#xff0c;是一种新型的频率合成技术&#xff0c;具有低成本、低功耗、高分辨率、频率转换时间短、相位连续性好等优点&#xff0c;对数字信号处理及其硬件实现有着很重要的作用。DDS 的基本…

18945 小团的配送团队

### 思路 1. **建图**&#xff1a;将订单视为图的节点&#xff0c;已知关系视为图的边&#xff0c;构建无向图。 2. **连通分量**&#xff1a;使用深度优先搜索&#xff08;DFS&#xff09;或广度优先搜索&#xff08;BFS&#xff09;找到图中的所有连通分量。 3. **排序**&…

探索人工智能的未来:埃里克·施密特2024斯坦福大学分享六

代理与文本生成模型的未来展望 您认为明年代理或文本生成模型会出现通货膨胀点吗&#xff1f; 不&#xff0c;不会。 我听到了类似的观点&#xff0c;尤其是埃里克科维茨的看法。他有一个很好的方式来阐述这三个趋势。虽然我之前也听说过这些趋势&#xff0c;但将它们整合起…

C语言破墙镐对称飞迷宫

目录 开头程序程序的流程图程序游玩的效果(gif)结尾 开头 大家好&#xff0c;我叫这是我58。 程序 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <Windows.h> enum WASD {W,A,S,D }; void printmaze(const char s…

【CTF Web】CTFShow cookie泄露 Writeup(cookie泄露+URL解码)

cookie泄露 10 cookie 只是一块饼干&#xff0c;不能存放任何隐私数据 解法 按 F12 打开开发者工具&#xff0c;点击网络&#xff0c;刷新页面。 flag 在 响应标头的 Set-Cookie 中。 用 URL 解码工具转换。 Flag ctfshow{8483acdb-a677-4c77-8aff-438d44ff1a3e}声明 本博客…

论文翻译软件哪个好用?如何将论文转化?

在学术海洋里遨游&#xff0c;每一篇论文都是思想的灯塔。 但当这座灯塔用外语构建&#xff0c;如何让它在中国读者面前同样熠熠生辉&#xff1f;别担心&#xff0c;把论文翻译成中文的旅程&#xff0c;不仅可以轻松启航&#xff0c;还能优雅靠岸&#xff01; 不知道怎么把论…

【Android笔记】Android APK编译打包流程

前言 本文将介绍Android从一个项目打包成APK的过程&#xff0c;其中涉及Android Java和Kotlin文件、资源文件、清单文件、依赖jar包和so库等在打包过程中处理。 步骤 总体的打包流程如下图&#xff0c;下面就介绍下详细的打包步骤。 1、将aidl文件编译成java文件 在构建过程中…

OpenAI API VBA function returns #Value! but MsgBox displays response

题意&#xff1a;“OpenAI API VBA 函数返回 #Value!&#xff0c;但 MsgBox 显示响应” 问题背景&#xff1a; I am trying to integrate the OpenAI API into Excel. The http request to OpenAI chat completion works correctly and the response is OK. When I display it…

esp32c3 luaos

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、介绍二、相关介绍2.1helloworld——2.2任务框架2.3消息传递 与消息订阅2.4uart2.5二进制数据/c结构体的打包与解析2.6 zbuffer库2.8 uart 485 数据解析2.9 …

Ubuntu 20.04安装中文输入法

本文旨在详细介绍在Ubuntu 20.04操作系统中安装中文输入法的步骤和方法。我们将从选择适合的中文输入法软件、下载与安装过程、配置输入法设置以及解决可能遇到的问题等方面展开讲解&#xff0c;帮助用户轻松实现在Ubuntu 20.04系统下流畅输入中文的需求。无论你是Ubuntu的新手…

东方银行--用 MinIO 和 Dremio 替代 Hadoop

我们的客户是一家总部位于日本的全球金融机构&#xff0c;最近与MinIO和Dremio一起完成了一个雄心勃勃的Hadoop替换项目。你可以在Subsurface的这个演讲中看到他们介绍它&#xff0c;但我们认为我们也会把它写下来。与大多数银行一样&#xff0c;该公司已经建立了大量的Hadoop足…

游戏开发设计模式之状态模式

目录 状态模式在Unity中的具体实现案例是什么&#xff1f; 如何在游戏开发中有效地结合状态模式与享元模式以优化资源使用&#xff1f; 状态模式与其他设计模式&#xff08;如观察者模式、策略模式&#xff09;结合使用的实际例子有哪些&#xff1f; 在处理复杂状态变化时&…

day19:生成器、yield表达式、三元表达式、生成式和函数的递归

一、生成器 1. 如何得到自定义的迭代器 【方法一】&#xff1a;在函数内一旦存在yield关键字&#xff0c;调用函数并不会执行函数体代码&#xff0c;会返回一个生成器对象&#xff0c;生成器即自定义的迭代器。 【方法二】&#xff1a;生成器表达式 反问&#xff1a;为什么自…

信息系统安全等级划分及其重要性:构建安全基石

在信息化社会&#xff0c;数据已成为企业与国家的重要资产&#xff0c;其安全防护日益受到重视。我国的“信息系统安全等级保护制度”正是在这一背景下应运而生&#xff0c;旨在通过等级划分&#xff0c;为不同级别的信息系统提供适配的安全保护措施&#xff0c;确保信息资产的…

Camera篇(一)ov13850调试

ov13850一千三百万像素&#xff0c;必须离线模式&#xff0c;所以ISP TDM配置离线 menuconfig 中需要将ISP TDM功能打开&#xff0c;同时开启WDR 配为&#xff08;*&#xff09; dts配置 work_mode 一律配1 &vind0 {csi_top <360000000>;csi_isp <322000000…

基于x86 平台opencv的图像采集和seetaface6的眼睛状态检测(睁眼,闭眼)功能

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、开发流程3.1 编写测试3.2 配置资源文件3.2 验证功能一、概述 本文档是针对x86 平台opencv的图像采集和seetaface6的眼睛状态检测(睁眼,闭眼)功能,opencv通过摄像头采集视频图像,将采集的视频图像送给seetaface6的眼睛…