`
xifei321
  • 浏览: 20339 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
文章分类
社区版块
存档分类
最新评论

SpringMVC DispatcherServlet的handlerAdapters

阅读更多


一、interface HandlerAdapter
用于对不同框架实现的handler 返回一个通用的HandlerAdapter 对象。主要提供扩展性。
public interface HandlerAdapter {
   //判断给定的handler对象,这个HandlerAdapter 对象是否支持,一个HandlerAdapter 对应一个类型的handler
   boolean supports(Object handler); 
   //使用给定的handler处理request
   ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception;
  
   long getLastModified(HttpServletRequest request, Object handler);

}


在没有定义HandlerAdapter 的bean则默认使用:
org.springframework.web.servlet.HandlerAdapter=
org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,\
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,\
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter
==============================================================

二、SimpleControllerHandlerAdapter

public class SimpleControllerHandlerAdapter implements HandlerAdapter {

	public boolean supports(Object handler) {
		return (handler instanceof Controller);
	}

	public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {

		return ((Controller) handler).handleRequest(request, response);
	}

	public long getLastModified(HttpServletRequest request, Object handler) {
		if (handler instanceof LastModified) {
			return ((LastModified) handler).getLastModified(request);
		}
		return -1L;
	}

}



public class LoginAction extends SimpleFormController 由这个SimpleControllerHandlerAdapter 处理。

=========================================================













分享到:
评论

相关推荐

    SpringMVC DispatcherServlet重写、自定义拦截器拦截器源码

    SpringMVC DispatcherServlet重写、自定义拦截器拦截器源码

    SpringMVC DispatcherServlet组件实现解析

    SpringMVC DispatcherServlet 组件实现解析 SpringMVC DispatcherServlet 组件是 SpringMVC 框架中的核心组件之一,负责处理 HTTP 请求并将其路由到相应的控制器中。本文将对 DispatcherServlet 组件的实现进行解析...

    浅谈springmvc的DispatcherServlet分析

    浅谈SpringMVC的DispatcherServlet分析 在本篇文章中,我们将对SpringMVC的DispatcherServlet进行深入分析,并了解其在Web应用程序中的作用。 一、DispatcherServlet的配置 在SpringMVC中,DispatcherServlet是...

    Spring框架系列(13) - SpringMVC实现原理之DispatcherServlet的初始化过程.doc

    SpringMVC DispatcherServlet 初始化过程详解 DispatcherServlet 是 SpringMVC 框架中的核心组件,对于 SpringMVC 的请求处理和响应起着至关重要的作用。DispatcherServlet 的初始化过程是 SpringMVC 实现原理的...

    welcome-file-list 与SpringMvc 的 DispatcherServlet

    在SpringMVC中 所有的请求都由dispatcherServlet处理(url-pattern配置的是/),当配置文件中有对静态资源的处理  时候 ,先匹配 welcome-file-list 中的文件,依次查找,找到了就 返回,如果没有找到就继续匹配到...

    SpringMVC PPT_springmvc_

    SpringMVC 的主要组件包括 DispatcherServlet、HandlerMapping、Controller、ModelAndView 和 ViewResolver。 二、DispatcherServlet DispatcherServlet 是 SpringMVC 的前端控制器,它负责接收所有请求,并根据...

    SpringMVC+Hibernate+Spring整合实例

    首先,Spring会初始化并管理所有组件,包括SpringMVC的DispatcherServlet、Controller以及Hibernate的SessionFactory。然后,当用户发起HTTP请求时,DispatcherServlet捕获请求并转发给相应的Controller。Controller...

    简单的SpringMVC小项目(适合刚刚学的)

    1. **web.xml**:Web应用的部署描述符,配置SpringMVC DispatcherServlet和监听器。 2. **servlet-context.xml**:SpringMVC的配置文件,配置视图解析器(ViewResolver)、模型-视图映射(ModelAndView)等。 3. **...

    SpringMVC demo 完整源码实例下载.zip

    首先,SpringMVC通过DispatcherServlet作为前端控制器,它负责接收HTTP请求,并根据请求的URL和HTTP方法分发到相应的处理器。在源码中,我们可以看到DispatcherServlet的配置以及它如何映射请求。 接下来,描述中...

    springMVC图片上传示例

    4. `webapp/WEB-INF/web.xml`:Web应用的部署描述符,配置SpringMVC DispatcherServlet。 七、实现步骤 1. 创建上传图片的表单,包含`<input type="file">`和文本输入框。 2. 配置SpringMVC的MultipartResolver,如...

    简单springmvc+mybatis例子

    1. **配置SpringMVC DispatcherServlet**:在`web.xml`中,你需要定义一个DispatcherServlet,并指定其配置文件位置。 2. **定义配置文件**:创建一个名为`servlet-context.xml`的配置文件,其中包含视图解析器、...

    intellij maven springmvc demo

    配置SpringMVC DispatcherServlet** 在web.xml文件中,配置SpringMVC的核心组件DispatcherServlet,它负责接收HTTP请求并分发到相应的处理器。 ```xml <servlet-name>dispatcher <servlet-class>org.spring...

    SpringMVC详细文档,内容通俗易懂,适合学习springMVC的初学者

    SpringMVC是Java EE开发中一个非常重要的Web MVC框架,由Spring Framework提供,主要用于构建表现层。对于初学者来说,理解其工作原理和组件是非常关键的。以下是对SpringMVC框架的详细解释。 1. SpringMVC架构 ...

    SpringMVC入门最简洁工程

    SpringMVC通过DispatcherServlet作为入口,负责请求分发,实现各组件间的解耦。 **2. 配置文件** 在SpringMVC项目中,主要的配置文件通常包括`web.xml`、`spring-servlet.xml`以及可能的`applicationContext.xml`...

    SpringMVC源码剖析(三)- DispatcherServlet的初始化流程1

    在本文中,我们将深入探讨`DispatcherServlet`的初始化流程,这是SpringMVC的核心组件。`DispatcherServlet`扮演着中央调度者的角色,负责接收请求、解析请求信息,并调用合适的控制器进行业务逻辑处理。 首先,让...

    springmvc+mybatis+postgresql+maven整合

    SpringMVC的核心组件包括DispatcherServlet、Controller、ViewResolver和ModelAndView等。通过注解驱动的方式,开发者可以轻松地将控制器方法与URL映射,简化了代码。 **2. MyBatis** MyBatis是一个轻量级的持久层...

    SpringMVC+sqlitejdbc的jar集合

    SpringMVC的核心组件包括DispatcherServlet、Controller、Model、ViewResolver等。 1. **DispatcherServlet**:作为整个SpringMVC的入口点,负责接收HTTP请求,并将其转发给适当的处理器。 2. **Controller**:处理...

    Spring SpringMVC Mybatis 整合jar包

    SpringMVC通过DispatcherServlet接收请求,使用HandlerMapping映射到相应的Controller,Controller处理完业务逻辑后,通过ViewResolver返回视图,最后呈现给用户。 Mybatis是一个优秀的持久层框架,它支持定制化SQL...

    springMVC练手代码

    在`hou_job_springmvc2`或`hou_spring_mvc2`项目中,你可能会找到对应的配置文件(如`web.xml`),里面会定义DispatcherServlet的初始化参数。 2. **配置文件**:SpringMVC的配置通常在XML文件(如`servlet-context...

Global site tag (gtag.js) - Google Analytics