SpringMvc 以配置类的形式代替xml文件

news2024/9/20 16:52:47

1、配置类

1.1、创建Mvc 项目之后创建 MyWebApplicationInitializer 类

实现接口 WebApplicationInitializer

public class MyWebApplicationInitializer implements WebApplicationInitializer {
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        //关联AppConfig配置类
        AnnotationConfigWebApplicationContext context =
                new AnnotationConfigWebApplicationContext();
        context.register(AppConfig.class);
        //前端控制器
        DispatcherServlet dispatcherServlet = new DispatcherServlet(context);
        //添加前端控制器到web容器
        ServletRegistration.Dynamic dynamic =
                servletContext.addServlet("springmvc", dispatcherServlet);
        //设置该servlet启动时机 (web容器启动时,实列化servlet)
        dynamic.setLoadOnStartup(1);
        //设置servlet的匹配路径
        dynamic.addMapping("/");

        //添加编码过滤器
        servletContext.addFilter("encodingFilter",new CharacterEncodingFilter("UTF-8"));
    }

}

1.2、创建 AppConfig 类

@Configuration
@ComponentScan("com.cxd")
public class AppConfig {
    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver =
                new InternalResourceViewResolver();
        viewResolver.setPrefix("/WEB-INF/views/");
        viewResolver.setSuffix(".jsp");
        return viewResolver;
    }
}

这样就可以访问页面了

2、用到的jar包

 <dependencies>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>6.1.11</version>
    </dependency>

    <dependency>
      <groupId>jakarta.servlet</groupId>
      <artifactId>jakarta.servlet-api</artifactId>
      <version>6.0.0</version>
    </dependency>

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.34</version>
    </dependency>

  </dependencies>

3、常用的jar包以及注解

https://blog.csdn.net/or77iu_N/article/details/141324019?spm=1001.2014.3001.5501

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

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

相关文章

大数据-101 Spark Streaming DStream转换 窗口操作状态 跟踪操作 附带多个案例

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

windows安装pytorch精简版(英伟达GPU)

1 下载anaconda 官网:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 选择下载Anaconda-1.4.0-Windows-x86.exe 2 创建虚拟环境 以管理员身份打开Anaconda Prompt conda env list conda creat -n yolov8 python3.8 创建过程中有提示,填…

【图文详解】idea码云环境搭建

公众号&#xff1a;墨轩学习网-----B站&#xff1a;墨轩大楼 欢迎关注&#xff01;&#xff01;&#xff01; 一、码云简介 目前开源中国的四大框架&#xff0c;即四条产品线&#xff1a;开源中国社区、众包、码云和招聘。 码云是开源中国推出的基于Git的代码托管服务&#…

鸿蒙HarmonyOS开发:创建新的Lite工程

当开始开发一个应用/服务时&#xff0c;首先需要根据工程创建向导&#xff0c;创建一个新的工程&#xff0c;工具会自动生成对应的代码和资源模板。 说明 在运行DevEco Studio工程时&#xff0c;建议每一个运行窗口有2GB以上的可用内存空间。 创建和配置新工程 DevEco Studio提…

如何应对市场变革的战略利器之敏捷企业架构实践全景指南

敏捷与企业架构融合的必然性 在全球化和数字化的双重推动下&#xff0c;市场竞争的激烈程度前所未有。企业必须迅速适应市场的变化&#xff0c;以在激烈的竞争中脱颖而出。然而&#xff0c;传统的企业架构往往侧重于长期战略规划&#xff0c;尽管它在维持企业的稳定性方面功不…

阿贝云评测:免费虚拟主机与免费云服务器的优势对比

阿贝云作为一家知名云服务提供商&#xff0c;以其稳定可靠的服务质量在业界享有盛誉。其中&#xff0c;其免费虚拟主机和免费云服务器备受用户喜爱。在这篇评测中&#xff0c;我们将对这两种服务进行详细对比。 首先&#xff0c;就免费虚拟主机而言&#xff0c;阿贝云提供的免费…

图片工具箱:一键批量加水印,守护创意,提升效率!

前言 你是否曾在处理海量图片时&#xff0c;被繁琐的步骤和漫长的等待时间折磨得苦不堪言&#xff1f;是否梦想过拥有一款神器&#xff0c;能让你的图片处理工作变得轻松愉快&#xff0c;从此告别加班的烦恼&#xff0c;迎接升职加薪的曙光&#xff1f;那么&#xff0c;让我向…

我主编的电子技术实验手册(18)——认识电感

本专栏是笔者主编教材&#xff08;图0所示&#xff09;的电子版&#xff0c;依托简易的元器件和仪表安排了30多个实验&#xff0c;主要面向经费不太充足的中高职院校。每个实验都安排了必不可少的【预习知识】&#xff0c;精心设计的【实验步骤】&#xff0c;全面丰富的【思考习…

Golang学习笔记-Golang中的锁

同步原语和锁 Golang作为一个原生支持用户态的语言&#xff0c;当提到并发进程&#xff0c;多线程的时候&#xff0c;是离不开锁的&#xff0c;锁是一种并发编程中的同步原语&#xff08;Synchronization Primitives&#xff09;&#xff0c;它能保证多个 Goroutine 在访问同一…

数据库的范式

作用是减小表的冗余。 防止插入删除更新异常。 第一、第二、第三、第四、BC范式。并且不是越高越好。 第一范式&#xff1a;1NF的定义为&#xff1a;符合1NF的关系中的每个属性都不可再分。表1所示的情况&#xff0c;就不符合1NF的要求。 …

终端Tabby介绍和使用

介绍一款开源的跨平台终端模拟器&#xff0c;支持系统&#xff1a;Windows、macOS、Linux 下载安装 下载链接&#xff1a;Release Alpha 164 Eugeny/tabby GitHub 下载适合自己环境的版本&#xff1a; 选项说明 【1】Enable analytics选项的作用主要是允许Tabby收集和分析…

【数据集】遥感影像建筑物变化检测对比实验常用数据集分享

整理了几个变化检测的对比试验中常用的变化检测数据集&#xff08;建筑物&#xff09; LEVIR-CD 下载链接: https://justchenhao.github.io/LEVIR/ 数据介绍&#xff1a; 用于建筑物变化检测数据集 分辨率&#xff1a;0.5m 尺寸&#xff1a;1024*1024 数量&#xff1a;637组&…

python-求和again(赛氪OJ)

[题目描述] 最近小理遇到了麻烦的问题&#xff0c;你能帮帮他吗&#xff1f; 题目是这样的&#xff1a;计算 SUM(n)123...10^n 。输入格式&#xff1a; 输入包含多组数据&#xff0c;每组数据一行&#xff0c;包括一个整数 n 。当 n−1 时输入终止。输出格式&#xff1a; 对于每…

经济学有哪些分支,分别研究什么?

经济学的分支众多&#xff0c;每个分支都专注于研究经济领域的不同方面。 以下是一些主要经济学分支及其研究内容的概述&#xff1a; 微观经济学&#xff1a; 研究个体经济单位&#xff08;如家庭、企业&#xff09;的决策过程以及这些决策如何影响资源分配、市场结构和价格形…

viewBinding的使用(android studio)

引入 在开发安卓软件的时候&#xff0c;我们会大量的使用点击事件。通常情况下&#xff0c;我们是这样做的&#xff1a;将在xml文件里把目标组件添加id属性&#xff0c;如下&#xff1a; 然后在activity里面通过findViewById(R.id.back) 得到一个对象&#xff0c;通过对象调用…

BAT32G137国产项目通用第十节:FreeRTOS 计数信号量

主题:计数信号量可以用于资源管理,允许多个任务获取信号量访问共享资源,但会限制任 务的最大数目。访问的任务数达到可支持的最大数目时,会阻塞其他试图获取该信号量的 任务,直到有任务释放了信号量。 1.常用信号量函数接口 ①创建计数信号量 xSemaphoreCreateCounting()…

AMEYA360:ROHM发售4款非常适用于工业电源的SOP封装通用AC-DC控制器IC

全球知名半导体制造商ROHM(总部位于日本京都市)开发出PWM控制方式*1FET外置型通用控制器IC&#xff0c;非常适用于工业设备的AC-DC电源。目前已有支持各种功率晶体管的4款新产品投入量产&#xff0c;包括低耐压MOSFET驱动用的“BD28C55FJ-LB”、中高耐压MOSFET驱动用的“BD28C5…

树莓派制成的 — 带运动检测和摄像头的安防系统

自动布防/撤防、运动检测、带图片的移动通知 项目所用物品 硬件组件 Raspberry Pi 1 Model A 一个&#xff1a;任何支持摄像头模块的 Raspberry Pi 均可 Raspberry Pi 摄像头模块一个 USB WLAN/WiFi适配器一个&#xff1a;必须支持监控模式&#xff0c;推荐使用RT5370 M…

NGINX高性能web服务器

1.web服务器介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru站点&#xff08;俄文&#xff1a;Рамблер&#xff09;开发的&#xff0c;第一个公开版…

使用一台电脑监控全体员工电脑,怎么实现?安全高效两不误,透视全公司电脑使用情况!

传统的管理模式无法监管员工上班时间内的所有行为&#xff0c;如聊天、浏览与工作无关的网站、玩游戏等等&#xff0c;总不能让企业管理者一直盯着员工办公吧&#xff1f; 员工电脑作为企业运营的神经末梢&#xff0c;其安全与使用效率直接关系到企业的稳定发展。那么&#xf…