IDEA2022.1创建Maven web项目 + SpringMVC入门学习

news/2024/11/14 23:45:40/

SpingMVC 入门案例

文章目录

    • SpingMVC 入门案例
      • 项目的结构
      • 1.导入SpringMVC和Servlet依赖
      • 2.创建SpringMVC控制器类(等同Servlet)
      • 3.初始化SpingMVC环境(同Spring环境),设定SpringMVC加载对应的bean
      • 4.创建web容器启动类,加载SpingMVC配置,并设置SpingMVC请求处理路径
      • 补充:IDEA2022.1创建maven项目的过程

项目的结构

1.导入SpringMVC和Servlet依赖


<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><!--后续跑项目的时候与tomcat插件会有冲突,范围设置成provided--><scope>provided</scope>
</dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.10.RELEASE</version>
</dependency>

2.创建SpringMVC控制器类(等同Servlet)

// 定义Bean
@Controller
public class UserController {@RequestMapping("/save")@ResponseBodypublic String save() {// 业务代码如下System.out.print("user save...");return "{'module':'springmvc'}";}
}

3.初始化SpingMVC环境(同Spring环境),设定SpringMVC加载对应的bean

@Configuration
@ComponentScan("org.zzzzzz.controller")
public class SpringMvcConfig {}

4.创建web容器启动类,加载SpingMVC配置,并设置SpingMVC请求处理路径

public class ServletContainerInitConfig extends AbstractDispatcherServletInitializer {// 加载SpringMvc容器配置@Overrideprotected WebApplicationContext createServletApplicationContext() {AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();ctx.register(SpringMvcConfig.class); // 这里是动态的加载SpringMVC配置return ctx;}// 设置哪些请求归属SpringMvc处理@Overrideprotected String[] getServletMappings() {return new String[]{"/"}; // 等同所有请求均使用SpringMVC处理}// 加载Sping容器配置@Overrideprotected WebApplicationContext createRootApplicationContext() {return null;}
}

补充:IDEA2022.1创建maven项目的过程

  • 第一步(最后Create即可)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ono0knXf-1672814395289)(E:\Desktop\屏幕截图 2023-01-04 141554.png)]

  • 第二步

    新创建的maven web项目第一次加载会比较慢,建议将maven的中央仓库地址改为国内阿里的镜像,加载模板和插件以及依赖都会快很多(自行百度方法),创建出的项目会缺少main目录下的java目录。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VR5PmBah-1672814395291)(C:\Users\18028\AppData\Roaming\Typora\typora-user-images\image-20230104142846179.png)]

    解决方案:打开项目结构,按下图创建java目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cfTxWdea-1672814395292)(E:\Desktop\屏幕截图 2023-01-04 143054.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L3caO5K3-1672814395292)(E:\Desktop\屏幕截图 2023-01-04 143548.png)]

项目创建成功,再按以上的四个步骤进行SpringMVC的案例即可。


http://www.ppmy.cn/news/9232.html

相关文章

JAVA代码审计笔记

预编译不是万能的&#xff0c;否则就不会出现这么多的SQL注入漏洞。order by后面的语句&#xff0c;是不能够用预编译进行处理的&#xff0c;只能通过拼接进行操作&#xff0c;因此需要手动过滤。 SQL注入漏洞的防范方法&#xff1a; 1、预编译 2、类型转换 xss漏洞的危害&…

刷油漆【中等】

在一个8 \times 8 的网格中&#xff0c;一些水平的行被涂成红色&#xff0c;一些垂直的列被涂成蓝色&#xff0c;条纹是按顺序画的&#xff0c;一个接着一个。绘制条纹时它会重新绘制它所经过的所有单元格。(原理跟刷油漆一样)现在你需要确定最后一个上色的是什么颜色红色条纹是…

容器化——Centos下部署最后一版支持Docker的k8s集群

部署版本 首先要确定部署的版本 查询Kubernetes对Docker支持的情况 kubernetes/dependencies.yaml at master kubernetes/kubernetes (github.com) 查询Kubernetes Dashboard对Kubernetes支持的情况 Releases kubernetes/dashboard (github.com) 名称版本kubernetes1.23Doc…

Linux Bash单方括号与双方括号 [和[[的区别

本文参考 Burak Gkmen 的文章 Differences Between Single and Double Brackets in Bash。 单括号 [ 是 shell builtin&#xff0c;即 test 内置命令&#xff1a; $ type [ [ is a shell builtin $ [ 3 -eq 3 ] && echo “Numbers are equal” Numbers are equal $ t…

Hive SQL 每日SQL

1、查询订单明细表&#xff08;order_detail&#xff09;中销量&#xff08;下单件数&#xff09;排名第二的商品id&#xff0c;如果不存在返回null&#xff0c;如果存在多个排名第二的商品则需要全部返回。 需要用到的表&#xff1a; 订单明细表&#xff1a;order_detail 代码…

P10 PyTorch contour meshgrid

前言&#xff1a; 这两个函数是在画梯度图中经常用到的&#xff0c;简单了解一下 参考&#xff1a; python作图之plt.contour详解_你大佬来啦的博客-CSDN博客_plt.contour 目录&#xff1a; meshgrid contour 二维 contour 三维一 meshgrid 作用 创建网格点矩阵 输入&#…

[数据结构基础]栈和队列的结构及接口函数

一. 栈 1.1 栈的概念及结构 栈是一种特殊的线性表&#xff0c;其只允许在固定的一段进行插入和删除元素的操作。进行数据插入和删除的一端成为栈顶&#xff0c;另一端称为栈底。栈结构中的数据遵循先进后出原则&#xff08;LIFO&#xff1a;Last in First Out&#xff09;&am…

【数据篇】33 # 可视化数据处理的一般方法是什么?

说明 【跟月影学可视化】学习笔记。 数据可视化的一般过程 先看有什么样的数据&#xff1a;分析真实数据然后看想从数据中了解什么信息&#xff1a;获取想要的信息再决定使用何种可视化方式呈现&#xff1a;为数据选择正确的呈现形式最后看展示的效果怎么样&#xff0c;是否…