,,关于RequestMapping注解的作用说明

,,关于RequestMapping注解的作用说明

本文主要介绍RequestMapping注释的功能,具有很好的参考价值。希望对你有帮助。如有错误或不足之处,请不吝赐教。

目录

@RequestMapping批注的作用以下是@RequestMapping的源代码案例。@RequestMapping注释的六个属性分三类详细解释。

@RequestMapping注解的作用

@RequestMapping是Spring Web应用程序中最常用的注释之一。这个注释将把HTTP请求映射到MVC和REST控制器的处理方法。处理请求地址映射的注释可以用在类或方法上。用在类上,意味着类中响应请求的所有方法都将此地址作为父路径。

以下为@RequestMapping的源码

打包org . spring framework . web . bind . annotation;

导入Java . lang . annotation . documented;

导入Java . lang . annotation . element type;

导入Java . lang . annotation . retention;

导入Java . lang . annotation . retention policy;

导入Java . lang . annotation . target;

导入org . spring framework . core . annotation . alias for;

@Target({ElementType。方法,ElementType。类型})

@保留(RetentionPolicy。运行时间)

@已记录

@映射

public @interface请求映射{

字符串名称()默认为“”;

@AliasFor('path ')

String[] value()默认值{ };

@AliasFor('value ')

String[] path()默认{ };

RequestMethod[]方法()默认{ };

string[]params()default { };

String[] headers()默认值{ };

String[]消耗()默认值{ };

字符串[]产生()默认值{ };

}

方法上:

所请求URL的第二级访问目录。

属性:

值:用于指定请求的URL。它的功能与path属性相同。方法:用于指定请求的方法。Params:用于指定限制请求参数的条件。它支持简单的表达式。请求参数的键和值必须与配置完全一致。

例如:

Params={"accountname"},表示请求参数必须有accountNameparams={"moeny!00 "},这意味着请求参数中的money不能是100。Headers:用于指定限制请求消息头的条件。

注意:

当上述四个属性中的两个或两个以上出现时,它们的关系是with。

作用:

用于建立请求URL和处理请求的方法之间的对应关系。

出现位置:

所请求URL的一级访问目录。如果这里没有写,就相当于应用程序的根目录。如果写的话,需要以/开头。它出现的目的是使我们的URL以模块化的方式进行管理:

例如:

账户模块:

/帐户/添加/帐户/更新/帐户/删除…

订单模块:

/订购/添加/订购/更新/订购/删除

案例

普通案例:分别在类和方法上Annotate @RequestMapping注释,所以在前端写链接的时候要写完整的路径(类标签的路径方法标签上的路径强度)

控制器的代码块:

/**

*请求映射注释出现的位置。

* @作者

* @ http://www.ithiema.com公司

* @版本1.0

*/

@Controller('accountController ')

@RequestMapping('/account ')

公共类AccountController {

@RequestMapping('/findAccount ')

公共字符串findAccount() {

System.out.println('查询了账号。');

返回“成功”;

}

}

JSP中的代码块

% @ page language=' Java ' content type=' text/html;charset=UTF-8 ' page encoding=' UTF-8 ' %

!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN '

' http://www . w3 . org/TR/html 4/loose . dtd '

超文本标记语言

meta http-equiv=' Content-Type ' Content=' text/html;charset=UTF-8 '

titlerequestmapping /title的使用

/头

身体

!-第一种进入方式-

a href=' $ { pagecontext . request . context path }/account/find account ' rel=' external no follow '

查询帐户

/a

!-第二种方法是-

a href=' account/find account ' rel=' external no follow '查询帐户/a

/body

/html

案例:用于指定请求方法。如果请求是get请求,那么前端写请求方法时method=get,否则,如果请求是post请求,前端的medthod=post。

控制器代码块:

/**

*保存帐户

* @返回

*/

@ request mapping(value='/save account ',method=RequestMethod。帖子)

公共字符串saveAccount() {

System.out.println('保存了帐户');

返回“成功”;

}

Jsp代码块

a=' account/Save account ' rel=' external no follow '保存帐户,获取请求/a

表单操作='account/saveAccount '方法='post '

Type=' submit' value='保存帐户,发布请求'

/表单

注意:使用get request时,错误信息为405,表示该方法不支持get request。

params 属性的示例:用于指定限制请求参数的条件。它支持简单的表达式。请求参数的键和值必须与配置完全一致。写完这个属性后,必须在前端发送请求。前端必须有这个属性,否则无法访问。控制器代码块:

/**

*删除账户

* @返回

*/

@ request mapping(value='/remove account ',params={'accountName ',' money100'})

公共字符串removeAccount() {

System.out.println('已删除的帐户');

返回“成功”;

}

Jsp代码块:

a href='account/removeAccount?account name=AAA money 100 ' rel=' external no follow '删除账户,金额为100/a

a href='account/removeAccount?account name=AAA money 150 ' rel=' external no follow '删除账户,金额为150/a

注意:

当我们点击第一个超链接时,我们可以成功地访问它。

当我们点击第二个超链接时,我们无法访问它。

如下图:

支持REST风格的参数:代表性状态转移(REST)是分布式超媒体系统(如万维网)的一种架构风格。(以下测试代码与@PathVariable一起使用)

控制器代码块:

@ request mapping(value='/testRequestMapping/{ Id } ')

公共字符串testRequestMapping(@ path variable String Id){

系统;出;println ('TestRequestMapping已执行' Id);

返回“成功”;

}

Jsp前端代码块

a href=' account/testrequestmapping/21 ' rel=' externalnofowl ' @ request mapping test/a

@RequestMapping注解的六个属性详解

RequestMapping是一个用于处理请求地址映射的注释,可以用在类或方法上。用在类上,意味着类中响应请求的所有方法都将此地址作为父路径。

RequestMapping注释有六个属性。

下面分成三类进行说明

价值,方法

值:指定请求的实际地址。指定地址可以是特定地址,可以由RestFul动态获取,也可以使用常规设置;方法:指定请求的方法类型,包括GET、POST、PUT、DELETE等。

消费,生产

Consumes:指定处理请求所提交的内容类型(Content-Type),如application/json、text/html;Produces:指定要返回的内容类型,仅当指定的类型包含在请求标头中的(Accept)类型中时,才会返回该内容类型。

参数,标题

Params:指定此方法要处理的请求中必须包含一些参数值。Headers:指定请求必须包含一些指定的头值,以便此方法处理请求。

以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • word文档无法编辑是怎么回事-
  • 华为手机怎么设置返回键(华为手机下面的三个按键设置方法)
  • lumia950怎么样(Lumia950体验分享)
  • otg连接是什么意思(OTG连接手机方法)
  • 笔记本触摸板怎么右键(笔记本电脑触控板手势操作设置)
  • 真我x7怎么样(realme X7 系列体验)
  • 苹果的A16处理器有多强(苹果的A16处理器的介绍)
  • 小米互传怎么用(小米手机的连接与共享教程)
  • 怎么设置电脑桌面图标自动对齐 设置电脑桌面自动整理图标的方法
  • 宽带错误651最简单解决方法(处理宽带错误651的措施)
  • 大学生手机有什么推荐(大学生换手机攻略)
  • 天玑1100和骁龙778g哪个好(骁龙778G、天玑900、天玑1100购选建议)
  • yum update 升级报错的解决办法
  • Windows10禁用屏保教程
  • 连接wifi显示无互联网连接怎么办(无线连上了却不能上网处理绝招)
  • 留言与评论(共有 条评论)
       
    验证码: