一、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 框架中的核心组件之一,负责处理 HTTP 请求并将其路由到相应的控制器中。本文将对 DispatcherServlet 组件的实现进行解析...
浅谈SpringMVC的DispatcherServlet分析 在本篇文章中,我们将对SpringMVC的DispatcherServlet进行深入分析,并了解其在Web应用程序中的作用。 一、DispatcherServlet的配置 在SpringMVC中,DispatcherServlet是...
SpringMVC DispatcherServlet 初始化过程详解 DispatcherServlet 是 SpringMVC 框架中的核心组件,对于 SpringMVC 的请求处理和响应起着至关重要的作用。DispatcherServlet 的初始化过程是 SpringMVC 实现原理的...
在SpringMVC中 所有的请求都由dispatcherServlet处理(url-pattern配置的是/),当配置文件中有对静态资源的处理 时候 ,先匹配 welcome-file-list 中的文件,依次查找,找到了就 返回,如果没有找到就继续匹配到...
SpringMVC 的主要组件包括 DispatcherServlet、HandlerMapping、Controller、ModelAndView 和 ViewResolver。 二、DispatcherServlet DispatcherServlet 是 SpringMVC 的前端控制器,它负责接收所有请求,并根据...
首先,Spring会初始化并管理所有组件,包括SpringMVC的DispatcherServlet、Controller以及Hibernate的SessionFactory。然后,当用户发起HTTP请求时,DispatcherServlet捕获请求并转发给相应的Controller。Controller...
1. **web.xml**:Web应用的部署描述符,配置SpringMVC DispatcherServlet和监听器。 2. **servlet-context.xml**:SpringMVC的配置文件,配置视图解析器(ViewResolver)、模型-视图映射(ModelAndView)等。 3. **...
首先,SpringMVC通过DispatcherServlet作为前端控制器,它负责接收HTTP请求,并根据请求的URL和HTTP方法分发到相应的处理器。在源码中,我们可以看到DispatcherServlet的配置以及它如何映射请求。 接下来,描述中...
4. `webapp/WEB-INF/web.xml`:Web应用的部署描述符,配置SpringMVC DispatcherServlet。 七、实现步骤 1. 创建上传图片的表单,包含`<input type="file">`和文本输入框。 2. 配置SpringMVC的MultipartResolver,如...
1. **配置SpringMVC DispatcherServlet**:在`web.xml`中,你需要定义一个DispatcherServlet,并指定其配置文件位置。 2. **定义配置文件**:创建一个名为`servlet-context.xml`的配置文件,其中包含视图解析器、...
配置SpringMVC DispatcherServlet** 在web.xml文件中,配置SpringMVC的核心组件DispatcherServlet,它负责接收HTTP请求并分发到相应的处理器。 ```xml <servlet-name>dispatcher <servlet-class>org.spring...
SpringMVC是Java EE开发中一个非常重要的Web MVC框架,由Spring Framework提供,主要用于构建表现层。对于初学者来说,理解其工作原理和组件是非常关键的。以下是对SpringMVC框架的详细解释。 1. SpringMVC架构 ...
SpringMVC通过DispatcherServlet作为入口,负责请求分发,实现各组件间的解耦。 **2. 配置文件** 在SpringMVC项目中,主要的配置文件通常包括`web.xml`、`spring-servlet.xml`以及可能的`applicationContext.xml`...
在本文中,我们将深入探讨`DispatcherServlet`的初始化流程,这是SpringMVC的核心组件。`DispatcherServlet`扮演着中央调度者的角色,负责接收请求、解析请求信息,并调用合适的控制器进行业务逻辑处理。 首先,让...
SpringMVC的核心组件包括DispatcherServlet、Controller、ViewResolver和ModelAndView等。通过注解驱动的方式,开发者可以轻松地将控制器方法与URL映射,简化了代码。 **2. MyBatis** MyBatis是一个轻量级的持久层...
SpringMVC的核心组件包括DispatcherServlet、Controller、Model、ViewResolver等。 1. **DispatcherServlet**:作为整个SpringMVC的入口点,负责接收HTTP请求,并将其转发给适当的处理器。 2. **Controller**:处理...
SpringMVC通过DispatcherServlet接收请求,使用HandlerMapping映射到相应的Controller,Controller处理完业务逻辑后,通过ViewResolver返回视图,最后呈现给用户。 Mybatis是一个优秀的持久层框架,它支持定制化SQL...
在`hou_job_springmvc2`或`hou_spring_mvc2`项目中,你可能会找到对应的配置文件(如`web.xml`),里面会定义DispatcherServlet的初始化参数。 2. **配置文件**:SpringMVC的配置通常在XML文件(如`servlet-context...