iis springmvc SpringMvc控制器注解简介 - IIS - 服务器之家

服务器之家

专注于服务器技术!
当前位置:首页 > Web服务器 > IIS

iis springmvc SpringMvc控制器注解简介

发布时间:2017-04-18 来源:服务器之家

Spring2.5之前,我们是通过实现Control接口或实现来定义我们的处理器类。

Spring2.5引入了注解处理器支持,通过@controller和@requestMapping注解定义我们的类,并提供了一组强大的注解:

需要通过处理器映射

DefaultAnnotationHandlerMapping和处理器适配器AnnotationMethodHandlerAdapter来开启支持@Controller 和@RequestMapping注解的处理器。

@controller 用于标识是处理器类

@RequestMapping:请求到处理器功能方法的映射规则;

@RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定;

@ModelAttribute:请求参数到命令对象的绑定;

Spring3.0

使用了新的HandlerMapping 和HandlerAdapter支持@Controller和@RequestMapping注解处理器

新的@Contoller和@RequestMapping注解支持类:处理器映射RequestMappingHandlerMapping

和处理器适配器RequestMappingHandlerAdapter组合来代替Spring2.5开始的处理器映射DefaultAnnotationHandlerMapping和处理器适配器AnnotationMethodHandlerAdapter

下面我们来了解下基本的注解

处理器的映射分配以下几种

URL路径映射:使用URL映射请求到处理器的功能处理方法;

请求方法映射限定:如限定功能处理方法只处理GET请求;

请求参数映射限定:如限定只处理包含“abc”请求参数的请求;

请求头映射限定:如限定只处理“Accept=application/json”的请求

控制器的实现 1 定义处理器@Controller @Controller ///①将一个POJO类声明为处理器
@RequestMapping("/ExamQueryQuestion") ///②请求URL到处理器功能处理方法的映射
public classQueryQuestionController {
}
1.1窄化请求映射@RequestMapping

@Controller ///①将一个POJO类声明为处理器

@RequestMapping("/ExamQueryQuestion") ///通用请求前缀

 public class QueryQuestionController {

@RequestMapping("/toQuestionTypesExcel")

public StringtoQuestionTypesExcel(HttpServletRequest request,

HttpServletResponse resposne) {

return"/ExamQueryQuestion";

}

}

可以通过在一个POJO类上放置@Controller或@RequestMapping,即可把一个POJO类变身为处理器;


2 Spring配置文件spring-mvc.xml <!--Spring3.1开始的注解 HandlerMapping -->
<bean
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<!--Spring3.1开始的注解 HandlerAdapter -->
<bean
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
3 视图解析器的配置

还是使用之前的org.springframework.web.servlet.view.InternalResourceViewResolver。

4 处理器的配置 <!-- 处理器 -->
<beanclass="com.tgb.itoo.exam.questionbankmanage.controller.QueryQuestionController"/>

只需要将处理器实现类注册到spring配置文件即可,spring的DefaultAnnotationHandlerMapping或RequestMappingHandlerMapping能根据注解@Controller或@RequestMapping自动发现。

小结:

 本内容是Spring其中的一小部分,其内容为简单的注入方法,不再有配置文件, 当然前期学习的配置文件方式的注入也是各有千秋的,理解起来基本不多什么,简单记录两种方式的学习。