SpringMVC基于注解的使用

news2024/12/23 18:08:17

SpringMVC基于注解的使用

首先导入spring-mvc的依赖文件

然后配置上篇文章的web.xml文件

在配置上篇文章的spring-mvc.xml文件

创建一个ParamsContrller类写个方法方法里面的参数名可以用到客户端请求,且可以为参数写任意类型

如果想改参数名可以用@RequestParam为参数名修改名字

其完别名和如果你没在username的值会报错,如果你真不想用还不想报错的话就设置required=false就不会报错了

注意一点传入的参数类型必须是包装类入int得换成Integer因为如果当没传入参数时会传入一个null,普通数据类型接收不了null,也可以设置默认值,当设置默认值的时候自动隐式就会设置required=false,设置默认值用defaultValue

表单的名字要和参数的名字保持一致,input里的name值要和上图的value值相同,如果没用@RequestParam就和name的值相同,${pageContext.request.contextPath}(spel表达式)代表以绝对路径的方式动态获取项目名(简单数据类型演示)

但是如果在文本中写入中文的话会出现乱码问题

下面是处理get请求的办法

下面是处理post请求的办法

这是没用springmvc处理post请求的办法但是这样太麻烦了需要再每个请求上加入处理方法

用springmvc配置过滤器先在web.xml里面配置CharacterEncodingFilter,如下面解释

servlet-name里的springmvc是要拦截哪些请求,springmvc是前端控制器的名字,因为前端控制器拦截的是除了.jsp以外的所有文件,所以过滤器拦截的也是除了.jsp以外的所有文件

复杂数据类型演示,name的值就是类里面的属性

id,姓名,外号,里面的name和类里面的属性名写一样的就行,checked意思是在客户端上勾选框直接就勾选上了,爱好是list类型里面的参数是引用类型string,name中的写法就按属性名加[],亲属是map类型用属性名加上自定义的键值名,角色是复杂数据类型直接用属性名加上该复杂数据类型中的出参数就行,朋友是list类里面是复杂数据类型所以用属性名加上[]点上想要的属性名就行,value里面写的是要传到服务器上的内容,而后面写的中文名是在客户端能看到的

如果你想要在参数中传入两个复杂数据类型时不能这么写因为数据发生重复或者覆盖的情况

所以我们应该重新封装一个类在这个类里设置这两个类为属性,然后表单里的书写格式为下面第三张图所示

获取头信息

获取cookie信息

api和mvc结合使用,getParameter获取服务器name属性的值,把name属性传入到reuqest域里面

RequestMapping的用法

RequestMapping中method的用法,和简略写法

params的用法在RequestMapping

header在RequestMapping的用法

RequestMapping的consumes的写法

RequestMapping的produces的写法

RequestMapping的通配符使用方法

通配符

?通配符

*通配符

**通配符

@PathVariable注解的用法,此用法就是把在地址栏上设置参数的方法从?改为/,如下图所示

@PathVariable还可以设置多个参数

还可以给类设置,就不用加@PathVariable只要和类属性名字一样就行

rest的写法

查询的方法

basepath就是给request.getContextPath()设置了个名字

新增的方法

由于html不支持put delete请求但是http协议支持,ajax也支持

下面是修改方法由于html不支持put方法所有需要在代码中加入下下面图片第二行,还需要加入过滤器,如果程序中有处理中文乱码的过滤器一定要把所有其他过滤器放在处理中文乱码的过滤器的下面

如果你使用tomcat以上的版本会在服务器报错第一种方法在方法中改为重定向

第二种方案在jsp中加入isErrorPage=true

删除方法和修改方法一样

@RestController用法return返回的内容就是json数据了,写json的时候我会仔细写

当我们向要访问静态资源文件时改怎么办呢,如果我们想访问图片的话

首先在web.xml中DispatcherServlet,中url-pattern会拦截除.jsp文件所有的文件包括图片但是我们又不想改该怎么办呢

我们先导入要显示的图片

然后在spring-mvc.xml文件中写入<mvc:annotation-driven/>

在写入要映射的路径<mvc:resources mapping="/images/**" location="/images/"/>

mapping="/images/**就是下图地址路径下images

location="/images/"指的是本地文件夹下的images

在index配置要访问的路径

注意images一定要在编译文件夹下也有

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

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

相关文章

3D模型OBJ格式详解

竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生~ 个人主页&#xff1a; rainInSunny | 个人专栏&#xff1a; C那些事儿、 Qt那些事儿 文章目录 写在前面OBJ格式解析OBJ文件示例MTL文件OBJ渲染简述 写在前面 OBJ格式是一种简单的文本格式&#xff0c;用于描述三维模型的几何形状和材质…

golang本地缓存fastcache高性能实现原理

1. git仓库 https://github.com/abbothzhang/fastcache 2. 整体原理 initCache时不会申请内存&#xff0c;只有第一次set时候才会申请&#xff0c;且会一次性申请64MB&#xff0c;后面不够了又一次性申请1024*64MB大小内存 2.1. 时序图 3. 高性能原因 将cache分为512个buc…

Unity(2022.3.41LTS) - 网格,纹理,材质

目录 零.简介 一、网格&#xff08;Mesh&#xff09; 二、材质&#xff08;Material&#xff09; 三、纹理&#xff08;Texture&#xff09; 四、三者之间的关系 零.简介 在 Unity 中&#xff0c;网格&#xff08;Mesh&#xff09;、纹理&#xff08;Texture&#xff09;和…

软考评测知识点

常见的存储单位&#xff1a; 1B8bit 1TB1024GB 1GBMBKBB 机器数&#xff1a;将符号数字化的数&#xff0c;是数字在计算机中的二进制表示形式。&#xff08;最高位0表示正数&#xff0c;1表示负数&#xff09; 二进制正数的原码、反码、补码不变&#xff0c;移码等于补码符号位…

外包干了两年,快要废了。。。

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 简单的说下&#xff0c;我大学的一个同学&#xff0c;毕业后我自己去了自研的公司&#xff0c;他去了外包&#xff0c;快两年了我薪资、技术各个方面都有了很大的…

Ubuntu下部署Hadoop集群+Hive(三)

Hive部署 准备环境 apache-hive-4.0.0-bin.tar.gz、mysql-connector-j-8.1.0.jar 如果是离线安装的话&#xff0c;使用mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar&#xff0c;在线安装的话则不用&#xff1b; hive下载地址&#xff1a;Index of /hive (apache.org) mysql …

面试中的SEO优化:从基本概念到实用策略

前言 为什么要学习SEO SEO对于Web站点很重要&#xff0c;有助于优化网页在搜索引擎中的排名&#xff0c;提升网站可见性和流量。掌握SEO技术可以确保网页结构和内容对搜索引擎友好&#xff0c;从而提高用户访问量和用户体验。而且SEO被面试问的很多 SEO是什么&#xff1f; …

day02-面向对象-多态抽象类接口

一、⭐多态⭐ 1.1 概述 1.多态是在继承/实现情况下的一种现象, 表现为对象多态和行为多态 ​ 2.⭐对象多态写法&#xff1a; ​继承&#xff1a;父类 变量 new 子类1()&#xff1b; ​父类 变量 new 子类2()&#xff1b;实现&#xff1a;接口 变量 new 实现类(); ​ 3.多态…

Comsol 微穿孔板吸声性能优化、提升吸声系数

微穿孔板吸声体是由穿孔直径在1毫米以下的薄板和板后空腔组成的共振吸声结构。与传统的吸声材料及普通穿孔板吸声体相比,微穿孔板吸声体清洁,可收回重复利用,不燃,坚固,重量轻,由于不需另加纤维等多孔性吸声材料即可获得良好的吸声性能,且制造不受材料限制,不污染环境,已成功应…

【Python 千题 —— 基础篇】简易银行

= Python 千题持续更新中 …… 脑图地址 👉:⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目描述 题目描述 编写一个面向对象的程序,模拟一个简化的银行系统。要求定义一个 BankAccount 类,具有基本的存款、取款和查询余额的功能。然后,创建一个 S…

HPM5301系列--VSCODE开发环境问题修复(一)

一、目的 问题描述&#xff1a;在配置工程和编译工程时出现以下提示&#xff0c;并且无法进入调试。 [cpptools] The build configurations generated do not contain the active build configuration. Using "release" for CMAKE_BUILD_TYPE instead of "Relea…

自定义注解+拦截器+多线程,实现字典值的翻译

上一篇,自定义注解拦截器,实现字段加解密操作,奈何公司的这个项目里没有字典值翻译的功能,正好可以再自定义注解拦截器方式的基础上,扩展一下 第一步,新建一个注解 Target(ElementType.FIELD) Retention(RetentionPolicy.RUNTIME) public interface Dict {//对应数据字典的cod…

IO进程线程8月27日

1&#xff0c;思维导图 2&#xff0c;使用两个线程分别复制文件的上下两部分到同一个文件 #include<myhead.h> sem_t fastsem; //pthread_mutex_t fastmutex; void *capy_up(void *c) { // pthread_mutex_lock(&fastmutex);int len*(int *)c;int fp1open("./1…

STM32的IAP

STM32的IAP(In-Application Programming,在应用编程)地址主要涉及IAP程序本身的存储地址以及它所要操作的应用程序(APP)的存储地址。这些地址通常与STM32的FLASH存储器映射相关,并且可以根据具体的STM32型号和IAP程序的设计进行调整。 1. IAP程序存储地址 IAP程序本身…

可视耳勺好用吗?四大可视挖耳勺超值好物分享!

在近年来&#xff0c;可视挖耳勺以其高效的清洁效能&#xff0c;逐渐成为备受青睐的护理产品设备。面对市面上琳琅满目的可视挖耳勺品牌&#xff0c;其质量参差不齐&#xff0c;用户在选择时往往面临着挑战。劣质可视挖耳勺不仅不能达到应有的清洁效果&#xff0c;还可能由于不…

我要做全栈:自学前端第一天

大家好&#xff0c;今天要介绍的是我自学前端的一些经验。 前端想要知道学习哪些内容&#xff0c;首先要知道前端的结构是什么样的&#xff0c;前端是有哪些东西构成的。 所以我先了解了前端的构成是由三部分&#xff1a; 1、HTML&#xff1a;定义了网页的结构 2、CSS&…

DDOS攻击学习-渗透测试-域名信息收集

文章目录 wordpress漏洞利用域名信息收集域名介绍域名分类 whoiswhois反查子域名收集子域名发现网络空间安全搜索引擎SSL证书查询js文件发现子域名 wordpress漏洞利用 这个一般都需要安装wordpress服务使用wpscan扫描&#xff0c;但现在一般很少人知道或者使用wordpress所以这个…

Tkinter Checkbutton设置了一个多选,为什么初始值都是勾选的:

代码如下&#xff1a; from tkinter import *master Tk()renyuan ["唐僧", "沙僧", "悟空", "八戒"]def r_change():rec ""ci 0for el in vars:rec el.get() "、"ci 1rec "九点" rec "离…

论文速览【LLM】 —— 【ORLM】Training Large Language Models for Optimization Modeling

标题&#xff1a;ORLM: Training Large Language Models for Optimization Modeling文章链接&#xff1a;ORLM: Training Large Language Models for Optimization Modeling代码&#xff1a;Cardinal-Operations/ORLM发表&#xff1a;2024领域&#xff1a;使用 LLM 解决运筹优化…

浙商之源——龙游商帮丨情义担当与信誉丰碑——姜益大布行

在龙游这片古老而繁华的土地上&#xff0c;流传着一段关于龙商精神的光辉篇章——姜益大的故事。这不仅是一段商业传奇&#xff0c;更是龙游商人智慧、勇气与诚信的生动写照。 初来乍到&#xff0c;逆锋起笔 清朝同治六年(1867)&#xff0c;安徽绩溪人姜德明在龙游商帮朋友点拨…