关于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:指定请求必须包含一些指定的头值,以便此方法处理请求。

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

关于RequestMapping注解的作用说明