当前位置: 首页 > news >正文

springMVC---常用注解

目录

一、创建项目

1.依赖

2.web.xml

3.spring-mvc.xml

二、RequestParam注解

1.作用

2.属性

3.代码

DeptController类

启动tomcat

三、RequestBody注解 

1.作用

2.属性

3.代码

(1)DeptController类

(2)index.jsp

(3)启动tomcat

四、PathVaribale注解

1.作用

2.属性

3.Restful风格的URL

4.代码

(1)DeptController类

(2)web.xml

(3)启动tomcat

五、RequestHeader注解

1.作用

2.属性

3.代码

(1)DeptController类

(2)启动tomcat

六、CookieValue注解

1.作用

2.属性

3.代码

(1)只有value

(2)只有value,但是没有提供

(3)两个都有


一、创建项目

1.依赖

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.qcby</groupId><artifactId>springMVC13</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--版本锁定--><spring.version>5.0.2.RELEASE</spring.version></properties><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency></dependencies>
</project>

2.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!-- 配置过滤器,解决中文乱码的问题 --><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!-- 指定字符集 --><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--前端控制器--><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><!--配置启动加载--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping>
</web-app>

3.spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- 配置spring创建容器时要扫描的包 --><context:component-scan base-package="com.qcby.controller"></context:component-scan><!-- 配置视图解析器 --><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/pages/"></property><property name="suffix" value=".jsp"></property></bean><!-- 配置spring开启注解mvc的支持--><!--    <mvc:annotation-driven></mvc:annotation-driven>-->
</beans>

二、RequestParam注解

1.作用

把请求中的指定参数传递给控制器中的形参赋值

2.属性

(1)value:请求参数中的名称

(2)required:请求参数中是否必须提供此参数,默认是true(必须提供),false(表示可以不传值)

3.代码

DeptController类

package com.qcby.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;@Controller
@RequestMapping("/dept")
public class DeptController {/** RequestParam注解* required=false, 默认为true,表示必须传值,不传就会报错,抛出异常;为false表示可以不传值* defaultValue="abc",abc是传的值;如果没有传值,就按默认值,默认值是""(空字符串)* */@RequestMapping("/save1.do")public String save(@RequestParam(value = "username",required = false,defaultValue = "abc") String name ){System.out.println("姓名:"+name);return "success";}
}

启动tomcat

三、RequestBody注解 

1.作用

用户获取请求体的内容(注:get方法不可以

2.属性

required:是否必须有请求体,默认是true

3.代码

(1)DeptController类

加了一个save2()方法

/*
* @RequestBody
* */
@RequestMapping("/save2.do")
public String save2(@RequestBody String body){System.out.println("请求体内容:"+body);return "success";
}

(2)index.jsp

<%--Created by IntelliJ IDEA.User: lenovoDate: 2024/11/3Time: 19:13To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body><form action="dept/save2.do" method="post">用户名:<input type="text" name="name" /><br/>密码:<input type="password" name="password" /><br/>年龄:<input type="text" name="age" /><br/><input type="submit" value="提交" />
</form></body>
</html>

(3)启动tomcat

现在<form>换成get请求:

<form action="dept/save2.do" method="get">用户名:<input type="text" name="name" /><br/>密码:<input type="password" name="password" /><br/>年龄:<input type="text" name="age" /><br/><input type="submit" value="提交" />
</form>

 运行

四、PathVaribale注解

1.作用

有绑定url中的占位符的

例:url中有/delete/{id},{id}就是占位符

2.属性

value:指定url中的占位符

3.Restful风格的URL

(1)请求路径一样,可以根据不同的请求方式去执行后台的不同方法

(2)Restful风格的URL优点

①结构清晰

②符合标准

③易于理解

④扩展方便

4.代码

(1)DeptController类

加了一个save3()方法

/*
* @PathVariable 指定url占位符的名称
* */
@RequestMapping(path = "/save3.do/{id}")
public String save3(@PathVariable(value = "id") Integer id){System.out.println("id:"+id);return "success";
}

(2)web.xml

(3)启动tomcat

五、RequestHeader注解

1.作用

获取指定请求头的值

2.属性

value:请求头的名称

3.代码

(1)DeptController类

加了一个save4()方法

/*
* @RequestHeader  获取请求头的值
* */
@RequestMapping("/save4.do")
public String save4(@RequestHeader(value = "Accept-Language") String header){System.out.println("Accept请求头的值:"+header);return "success";
}

(2)启动tomcat

六、CookieValue注解

1.作用

用于获取指定cookie的名称的值

2.属性

value:cookie的名称

defaultValue:如果没有value提供的值,则使用defalutValue的值

3.代码

(1)只有value

①DeptController类

加了一个save5()方法

/*
* @CookieValue 获取到cookie的值
* */
@RequestMapping("/save5.do")
public String save5(@CookieValue(value = "JSESSIONID") String cookie){System.out.println("值:"+cookie);return "success";
}

②启动tomcat

(2)只有value,但是没有提供

①DeptController类

加了一个save6()方法

@RequestMapping("/save6.do")
public String save6(@CookieValue(value = "cookie") String cookie){System.out.println("值:"+cookie);return "success";
}

②启动tomcat

(3)两个都有

①DeptController类

加了一个save7()方法

@RequestMapping("/save7.do")
public String save7(@CookieValue(value = "cookie",defaultValue = "abc") String cookie){System.out.println("值:"+cookie);return "success";
}

②启动tomcat

相关文章:

springMVC---常用注解

目录 一、创建项目 1.依赖 2.web.xml 3.spring-mvc.xml 二、RequestParam注解 1.作用 2.属性 3.代码 DeptController类 启动tomcat 三、RequestBody注解 1.作用 2.属性 3.代码 (1&#xff09;DeptController类 (2&#xff09;index.jsp (3)启动tomcat 四、P…...

青龙面板脚本开发指南:高效自动化任务的实现

青龙面板脚本开发指南&#xff1a;高效自动化任务的实现 青龙面板&#xff08;Qinglong Panel&#xff09;是一款强大的任务管理平台&#xff0c;支持多种语言的脚本开发和执行。通过在青龙面板中编写和管理脚本&#xff0c;用户可以轻松实现自动化任务&#xff0c;提高工作效…...

深入详解DICOM医学影像定位线相关知识:理解定位线的概念、定位线的作用以及定位线显示和计算原理

DICOM医学影像中的定位线(Localization Line) 在医学影像学中,DICOM是用于存储和交换医学影像的标准格式。定位线(Localization Line)在医学影像的显示和分析中起着重要作用,它帮助医生和医学专业人员在影像中精确地标定重要的解剖结构、区域或特征,辅助进行定位、治疗计…...

网络应用技术 实验七:实现无线局域网

一、实验简介 在 eNSP 中构建无线局域网&#xff0c;并实现全网移动终端互相通信。 二、实验目的 1 、理解无线局域网的工作原理&#xff1b; 2 、熟悉无线局域网的规划与构建过程&#xff1b; 3 、掌握无线局域网的配置方法&#xff1b; 三、实验学时 2 学时 四、实…...

kubeneters-循序渐进Cilium网络(一)

文章目录 概要传统网络不同的网络&#xff08;或子网&#xff09;之间通信Kubernetes 中的网络在同一栋大楼内的公寓之间通信跨大楼的通信总结 概要 本文通过“封包追踪”方法&#xff0c;深入解析 Kubernetes 网络通信过程。基于 eBPF 的 Cilium 工具&#xff0c;直观展示了数…...

elasticsearch中IK分词器

1、什么是IK分词器 ElasticSearch 几种常用分词器如下&#xff1a; 分词器分词方式StandardAnalyzer单字分词CJKAnalyzer二分法IKAnalyzer词库分词 分词∶即把一段中文或者别的划分成一个个的关键字&#xff0c;我们在搜索时候会把自己的信息进行分词&#xff0c;会把数据库…...

Qt之http客户端类

一、HTTP客户端类功能&#xff1a; 1、POST请求发送&#xff1a; 支持发送JSON格式的数据自动处理请求头设置提供上传进度监控、 2、GET请求发送&#xff1a; 简单的GET请求实现支持下载进度监控 3、状态监控&#xff1a; 通过信号槽机制监控上传/下载进度错误处理和状态回调 /…...

18.C语言文件操作详解:指针、打开、读取与写入

目录 1.文件指针2.fopen3.标准流4.fclose5.EOF6.freopen()7.fgetc与getc8. fputc与putc9.fprintf10.fscanf11.fgets12.fputs13.fwrite14.fread15.feof16.fseek17.ftell18.rewind19.fgetpos()与fsetpos20.ferror与clearerr21.remove22.rename 1.文件指针 本篇原文为&#xff1a…...

深入浅出 OpenResty

1. 引言 1.1. OpenResty简介 OpenResty 是一个基于 Nginx 的高性能 Web 平台&#xff0c;它集成了大量模块&#xff0c;并原生支持 Lua 脚本。这使得开发者能够以非常灵活的方式实现复杂的逻辑&#xff0c;而无需重新编译或扩展 Nginx 核心。OpenResty 的主要特点包括&#x…...

在 .NET 9 中使用 Scalar 替代 Swagger

前言 在.NET 9发布以后ASP.NET Core官方团队发布公告已经将Swashbuckle.AspNetCore&#xff08;一个为ASP.NET Core API提供Swagger工具的项目&#xff09;从ASP.NET Core Web API模板中移除&#xff0c;这意味着以后我们创建Web API项目的时候不会再自动生成Swagger API文档了…...

ue5 蒙太奇,即上半身动画和下半身组合在一起,并使用。学习b站库得科技

本文核心 正常跑步动画端枪动画跑起来也端枪 正常跑步动画 端枪动画的上半身 跑起来也端枪 三步走&#xff1a; 第一步制作动画蒙太奇和插槽 第二步动画蓝图选择使用上半身动画还是全身动画&#xff0c;将上半身端枪和下半身走路结合 第三步使用动画蒙太奇 1.开始把&a…...

多活架构的实现原理与应用场景解析

一、多活架构为何如此重要? 企业的业务运营与各类线上服务紧密相连,从日常的购物消费、社交娱乐,到金融交易、在线教育等关键领域,无一不依赖于稳定可靠的信息系统。多活架构的重要性愈发凸显,它宛如一位忠诚的卫士,为业务的平稳运行保驾护航。 回想那些因系统故障引发的…...

一 rk3568 Android 11固件开发环境搭建 (docker)

一 目标 搭建 rk3568 android 系统内核 及固件开发编译调试环境, 支持开发环境导出分享 基于荣品 rk3568 核心板 系统环境: ubuntu22.04 /ubuntu20.04 64位桌面版 编译环境: docker + ubuntu20.04 , 独立的容器隔离环境,不受系统库版本冲突等影响,无性能损耗, 可…...

小结:华为路由器常用的操作指令

以下是华为路由器常用的操作指令&#xff08;适用于华为企业级路由器&#xff0c;基于VRP操作系统&#xff09;&#xff1a; 1. 基本操作命令 进入用户视图模式 <Huawei> &#xff08;默认进入用户视图&#xff09; 进入系统视图模式 <Huawei> system-view [Huawe…...

旅游网站设计与实现

文末附有完整项目代码 在当今数字化时代&#xff0c;旅游网站成为人们获取旅游信息的重要途径。本文将详细介绍旅游网站的设计与实现&#xff0c;让你轻松了解其中的技术奥秘&#xff01; 一、项目背景 随着社会经济的发展&#xff0c;人们对精神消费愈发重视&#xff0c;旅游…...

【AI大模型】BERT GPT ELMo模型的对比

目录 &#x1f354; BERT, GPT, ELMo之间的不同点 &#x1f354; BERT, GPT, ELMo各自的优点和缺点 &#x1f354; 小结 学习目标 理解BERT, GPT, ELMo相互间的不同点理解BERT, GPT, ELMo相互比较下的各自优点和缺点 &#x1f354; BERT, GPT, ELMo之间的不同点 关于特征提取…...

qt 快捷功能 快速生成 setter getter 构造函数 父类虚函数重写 成员函数实现 代码框架 查看父类及父类中的虚函数

qt 快速生成 setter getter 构造函数 父类虚函数重写 成员函数实现 代码框架 1、找到要实现的头文件 2、鼠标移动到在头文件中的类定义的类名上&#xff0c;右键进行选择。 这是插入父类虚函数(父类虚函数重写) 选项弹出来的结果。可以查看到所有父类及父类中的所有的虚函数...

【计算机网络】深入浅出计算机网络

第一章 计算机网络在信息时代的作用 计算机网络已由一种通信基础设施发展成一种重要的信息服务基础设施 CNNIC 中国互联网网络信息中心 因特网概述 网络、互联网和因特网 网络&#xff08;Network&#xff09;由若干结点&#xff08;Node&#xff09;和连接这些结点的链路…...

springMVC---resultful风格

目录 一、创建项目 pom.xml 二、配置文件 1.web.xml 2.spring-mvc.xml 三、图解 四、controller 一、创建项目 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi…...

汽车基础软件AutoSAR自学攻略(三)-AutoSAR CP分层架构(2)

汽车基础软件AutoSAR自学攻略(三)-AutoSAR CP分层架构(2) 下面我们继续来介绍AutoSAR CP分层架构&#xff0c;下面的文字和图来自AutoSAR官网目前最新的标准R24-11的分层架构手册。该手册详细讲解了AutoSAR分层架构的设计&#xff0c;下面让我们来一起学习一下。 Introductio…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...