springMVC基于注解的控制器

springMVC基于注解的控制器的优点有两个:

1、控制器可以处理多个动作,这就允许将相关操作写在一个类中。

2、控制器的请求映射不需要存储在配置文件中。使用requestMapping注释类型,可以对一个方法进行请求处理。

接下来介绍两个最重要的注释类型:

一、controller注释类型

这种注释类型用于指示Spring类的实例是一个实例;

import org.springframework.stereotype;
public class CustemerController{
    //methods
}

Spring 使用扫描机制来找到应用程序中所有基于注解的控制器类;

1、配置spring-context

<beans
...
xmlns:context="http://www.springframework.org/schema/context"
...
>

2、配置<component-scan/>

假设所有的控制器类都在com.example.controller及其子包中

<context:component-scan base-package="com.example.controller"/>

二、RequestMapping注解类型

1、为每个动作开发相应的处理方法。使用org.springframework.web.bind.annotation.RequestMapping注解类型映射URI和方法;

RequestMapping映射了一个请求和一种方法。可以使用@RequestMapping注解一种方法或类。

看下面例子:

@Controller
public class CustemerController{
    @RequestMapping(value = "/customer_input")
    public String inputCustemer(){
        //do something
        return "CustemerForm";
}
}

value 属性就是将URI映射到方法。

value属性是默认的属性,如果只有一个属性,则可省略属性名称;

@RequestMapping("/customer_input")

超过一个属性,必须写value属性名称;

除了value属性,还有其他属性,如method属性用来指示该方法处理哪些HTTP方法。

@RequestMapping(value = "/customer_input",method={RequestMethod.POST,RequestMethod.PUT})

或者只有一个HTTP方法值,则使用

@RequestMapping(value = "/customer_input",method=RequestMethod.POST)

RequestMapping注释类型也可用来注释一个控制类

@Controller
@RequestMapping(value = "/customer_input")
 public class inputCustemer(){

@RequestMapping(value = "/delete",method={RequestMethod.POST,RequestMethod.PUT})
pulic String deleteCustemer(){
        //do something
        return "CustemerForm";
}
}

2、请求处理方法

每个请求处理方法可以有多个不同类型的参数,记忆一个多钟类型的返回结果。

传递参数的方式:

@RequestMapping(value = "/delete",method={RequestMethod.POST,RequestMethod.PUT})
pulic String deleteCustemer(HttpSession session){
        //do something
        return "CustemerForm";//指向了视图(页面)的名称
}

参数类型:

请求处理方法的返回类型:

ModelAndView

Model

Map

View()

void

代表逻辑视图名的String(就是上面例子中请求处理方法返回的String类型)

callable

等等

时间: 2024-10-27 06:18:12

springMVC基于注解的控制器的相关文章

Spring学习笔记-springMVC基于注解的控制器(基本概念)

在spring2.5以前的版本中,实现一个mvc的Controller的唯一方法就是实现Controller接口,一个控制器只能响应一个客户端请求,在2.5以后的版本中,spring引入了注解,利用注解简化配置文件,利用注解实现bean的声明和依赖注入(DI),注解也同样被引入到spring的web模块springMVC中. 使用基于注解的控制器有两个优点 第一:一个控制器可以处理多个动作,而不是像以前那样一个控制器只能处理一个请求 第二:省略的在配置文件中对bean的声明和依赖注入,显著提高开

Spring学习笔记-springMVC基于注解的控制器(Demo)

springmvc的整体运行流程图: 基于@Controller和@RequestMapping是springmvc示例代码 在web.xml中配置springmvc核心分发器DispatcherServlet .... <servlet> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </

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:服务

缓存初解(五)---SpringMVC基于注解的缓存配置--web应用实例

之前为大家介绍了如何使用spring注解来进行缓存配置 (EHCache 和 OSCache)的简单的例子,详见 Spring基于注解的缓存配置--EHCache AND OSCache 现在介绍一下如何在基于注解springMVC的web应用中使用注解缓存,其实很简单,就是将springMVC配置文件与缓存注解文件一起声明到context中就OK了. 下面我就来构建一个基于spring注解小型的web应用,这里我使用EHCache来作为缓存方案 jar依赖: ehcache-core-1.7.

【spring springmvc】springmvc使用注解声明控制器与请求映射

目录 概述 壹:注解说明 贰:实现注解声明控制器与请求映射 一:使用controller 二:配置包扫描与视图解析器 1.配置包扫描 2.配置试图解析器 三:配置部署描述符 1.读取spring-mvc.xml文件 2.配置匹配映射 四:建立html文件 叁:配置tomcat 一:配置本地tomcat 二:配置maven内置tomcat 肆:结果及问题 一:tomcat启动示意图: 二:结果 三:问题 伍:结构及源码 一:目录结构 二:源码 作者有话 概述 注解: 在Spring中尽管使用XML

SpringMVC 基于注解的Controller @RequestMapping @RequestParam

概述 继 Spring 2.0 对 Spring MVC 进行重大升级后,Spring 2.5 又为 Spring MVC 引入了注解驱动功能.如今你无须让 Controller 继承不论什么接口.无需在 XML 配置文件里定义请求和 Controller 的映射关系.只使用注解就能够让一个 POJO 具有 Controller 的绝大部分功能 -- Spring MVC 框架的易用性得到了进一步的增强.在框架灵活性.易用性和扩展性上.Spring MVC 已经全面超越了其他的 MVC 框架.伴

SpringMVC 基于注解的Controller详解

本文出处 http://blog.csdn.net/lufeng20/article/details/7598801 概述 继 Spring 2.0 对 Spring MVC 进行重大升级后,Spring 2.5 又为 Spring MVC 引入了注解驱动功能.现在你无须让 Controller 继承任何接口,无需在 XML 配置文件中定义请求和 Controller 的映射关系,仅仅使用注解就可以让一个 POJO 具有 Controller 的绝大部分功能 —— Spring MVC 框架的易

[SpringMVC]自定义注解实现控制器访问次数限制

我们需要根据IP去限制用户单位时间的访问次数,防止刷手机验证码,屏蔽注册机等,使用注解就非常灵活了 1 定义注解 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @Documented//最高优先级 @Order(Ordered.HIGHEST_PRECEDENCE) public @interface RequestLimit { /** * * 允许访问的次数,默认值MAX_VALUE */ int count(

SpringMVC之基于注解的Controller

参考博客:https://www.cnblogs.com/qq78292959/p/3760560.html Controller注解: 传统风格的Controller需要实现Controller接口,而现在我们只需要用注解就行了. 基于注解的控制器有几个优点,1.一个控制器可以处理多个action(动作),而一个实现 Controller接口的控制器只能处理一个动作.    2.基于注解的控制器请求映射不需要存储在配置文件中,使用RequesetMapping注解类型就可以对一个方法进行请求处