SpringMVC RequestMapping注解类·Ant和占位符URL

RequestMapping注解类

一、RequestMapping注解类的使用方法

•开发Controller控制器类,使用@Controller注解标注,并在配置文件中用<context:component-scan/>扫描

•在Controller控制器类的类定义和方法定义处都可以标注@RequestMapping注解

•DispatcherServlet截获请求后,就可以通过控制器上的@RequestMapping提供的映射信息确定请求所对应的处理方法


RequestMapping注解类的属性,分别有value, method, consumes, produces, params, headers

这里介绍value属性:

•代表具体的请求路径,比如上面的 /user, /login都是value的值

•value可以省略,就像例子中一样,直接用@RequestMapping("/login") 的格式,它等同于@RequestMapping(value ="/login") 

这里介绍method属性:

•指定请求的method类型, GET、POST、PUT、DELETE等

•例:@RequestMapping(value = "/login", method =RequestMethod.POST) 那么只有发送POST请求才会触发这个方法

•例:@RequestMapping(value = "/login", method ={RequestMethod.POST, RequestMethod.GET}) 

介绍consumes属性:

•指定请求的提交内容类型(Content-Type),例如application/json,text/html

•它的值既可以是字符串也可以是数组

这里介绍produces属性:

•指定请求中必须包含某些参数值,才会触发这个处理方法。

这里介绍params属性:

•指定请求中必须包含某些参数值,才会触发这个处理方法

•参数中除了使用=等号外,还可以使用!=号,表示在参数的值不等于的情况下触发这个方法

•也可以不指定具体的值,直接使用"paramName" 的格式,代表请求中必须包含参数名为 paramName 的参数

•直接使用“!paramName”格式表示请求不能包含名为paramName的请求参数

这里介绍headers属性:

•请求头Header中必须包含某些指定的参数值,才能让该方法处理请求

定义Ant风格和带占位符的URL

@RequestMapping不仅支持标准的URL,还支持Ant风格和带{xxx}占位符的URL,下面的URL都是合法的:

•/user/*/login:匹配/user/aaa/login,/user/任意字符/login等

•/user/**/login:匹配/user/login,/user/aaa/bbb/login 等

•/user/login??:匹配/user/loginAA,/user/loginbb 等

•/user/{userId}:匹配/user/123,/user/234 等

•/user/**/{userId}:匹配/user/aaa/bbb/123,/user/aaa/234等

这些占位符需要用pathvariable绑定后使用

时间: 2024-10-27 00:53:14

SpringMVC RequestMapping注解类&#183;Ant和占位符URL的相关文章

SpringMVC 其他注解类

•PathVariable注解类 •@RequestMapping注解中使用占位符的情况下,需要使用@PathVariable注解指定占位符参数 •RequestParam注解类 •在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取 •有三个属性 value(参数名), required(是否需要传递参数),defaultValue(默认值) •不带任何参数,表示需要

SpringMVC四大注解 Component&amp;#183;Controller&amp;#183;Service&amp;#183;Repository

如何使用Component\Controller\Service\Repository四大注解类: •@Component 是通用标注 •@Controller 标注 web 控制器 •@Service 标注 Servicec 层的服务 •@Respository 标注 DAO 层的数据访问 •这些注解都是类级别的,可以不带任何参数,也可以带一个参数,代表bean名字,在进行注入的时候就可以通过名字进行注入了. •在不清楚使用那个注解的时候,可以统统使用Component •为了代码逻辑清晰,还

SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable

SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable 我的開發環境框架:        springmvc+spring+freemarker開發工具: springsource-tool-suite-2.9.0JDK版本: 1.6.0_29tomcat版本:apache-tomcat-7.0.26 前置文章-SpirngMVC配置入門 http://www.cnblogs.com/sunang/p/

【SpringMVC整合MyBatis】RequestMapping注解与controller方法返回值

我们讲解一下之前用的@RequestMapping注解和controller方法返回值 一.@RequestMapping注解作用 1.url映射 定义controller方法对应的url,进行处理器映射使用. //商品查询列表 //@RequestMapping实现 对queryItems方法和url进行映射,一个方法对应一个url //一般建议将url和方法写成一样 @RequestMapping("/queryItems") public ModelAndView queryIt

04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

 1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mvc结构  DispatcherServlet:中央控制器,把请求给转发到具体的控制类 Controller:具体处理请求的控制器(配置文件方式需要配置,注解方式不用配置) handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略 ModelAndView:服

value属性-SpringMVC中注解事物注解

问题描述 SpringMVC中注解事物注解 @Transational(value="",rollbackFor = Exception.class)中的value属性是什么意思,有什么用呢 解决方案 这个value的意思是指定,事务处理器.如spring配置中:,java代码中:@Transational(value="transactionManager",rollbackFor = Exception.class).说明此事务交由谁去处理,一般用于多事务处理器

注解类作用是什么

问题描述 最近看了一下注解类的编写,大概就是用@interface声明一个注解类,然后再注解类里面写入一些成员,如下:@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface MyAnnotation {        boolean value() default true;        int result() default 0; }但是,这个类是不能写入一些具体实现的.当在一个代码类中

java中注解类的问题,public修饰不用写get/set方法

问题描述 java中注解类的问题,public修饰不用写get/set方法 为什么源码运用注解用public修饰属性,调用的时候用get/set方法,换到我的电脑上一直报错,是什么原因 解决方案 报什么错,把错误代码贴出来,才好解决. 解决方案二: 就是这么写的,在另一个类调用属性的时候用的get方法,不是在私有化的时候才用get方法么,而且在我的电脑上报错,就是报须要创建一个方法的提示的错误,在别的电脑上没错.我把jdk换成了一样的还是不行.我把代码全改成了私有化并且写了get.set方法才不

HTML5 input Placeholder(占位符)样式

 placeholder 属性 placeholder(占位符)在实际的应用中非常常见,主要用作提示输入内容,现代浏览器都支持:   <input placeholder="搜索" type="text"> placeholder 样式   这里网上搜索了一下 placeholder 样式相关知识,分享一下:   /* all */ ::-webkit-input-placeholder { color:#f00; } ::-moz-placeholde