springmvc的原理总结

dispatchServlet根据用户请求到handleMappering
在HandlerExecutionChain执行链中,返回具体的handle处理
之后到达适配器handleadapter 处理业务,返回modelAndview到达dispatchServlet
再通过dispatchServlet到达视图解析器viewResolve 然后再返回具体view 之后通过dispatchServlet
到达渲染到达view视图 然后返回dispatchServlet 响应给用户

springmvc拦截器是什么:
HandlerExecutionChain是一个执行链,
当请求到达DispatchServlet时,DispatchServlet根据请求路径到HandlerMapping
查询具体的Handler,从HandlerMapping返回给DispatcherServlet,
其中包含了一个具体的Handler对象和Interceptors(拦截器集合)。
如何自定义拦截器:
springmvc的拦截器接口(HandlerInterceptor)定义了三个方法:
1.preHandle调用Handler之前执行,
称为前置方法
返回值:true表示放行,后续业务逻辑继续执行
false表示被拦截,后续业务逻辑不再执行,
但之前返回true的拦截器的完成方法会倒叙执行
2.postHandle调用Handler之后执行,称为后置方法
3.afterCompletion视图渲染完成之后执行

springmvc的三种映射器:
1、BeanNameUrlHandlerMapping 根据对象的名字来进行处理器映射,此时该对象要继承AbstractController 实现handlerRequestInternal方法;对请求的处理主要在该方法中完成

       <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>

注意:使用 对象名映射 时,对象配置时的name属性必须为 “/xxx.action” 的形式,即 对象名 即为访问的 URL名

2、SimpleUrlHandlerMapping

SimpleUrlHandlerMapping的配置

复制代码

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
            <property name="mappings">
                <props>
                    <prop key="/a.action">indexController</prop>
                    <prop key="/b.action">indexController</prop>
                    <prop key="/c.action">indexController</prop>
                </props>
            </property>
        </bean>

复制代码

3、ControllerClassNameHandlerMapping 控制器类名映射

控制器类名处理器映射对象配置


<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring MVC 是一种基于Java语言开发的Web框架,它基于MVC(Model-View-Controller)设计模式,可以帮助开发者更便捷地开发和维护Web应用程序。Spring MVC 的原理说明如下: 1. 前端请求:当用户发送请求到服务器时,请求首先经过前端控制器DispatcherServlet。DispatcherServlet是Spring MVC的核心组件,它接收所有的请求并将其分发到不同的处理器。 2. 处理器映射:DispatcherServlet根据请求的URL来查找对应的处理器,这一过程就是处理器映射。Spring MVC提供了多种处理器映射策略,可以根据请求的URL、请求的参数等多种条件进行匹配。 3. 处理器适配器:处理器适配器根据处理器的类型来调用具体的处理方法。Spring MVC支持多种处理器类型,如Controller、实现了特定接口的POJO等。 4. 执行处理器:处理器适配器调用处理器的处理方法来执行请求的业务逻辑。处理器方法可以读取请求的参数,处理请求,并返回处理结果(如数据、模型、视图等)。 5. 视图解析器:处理器方法返回的结果通常是模型和逻辑视图名。视图解析器根据逻辑视图名来查找对应的实际视图(如JSP、FreeMarker模板等)。 6. 渲染视图:视图负责将模型中的数据渲染到实际的视图上,并将最终的HTML响应返回给客户端。 7. 响应结果:最终,DispatcherServlet将处理结果返回给客户端,完成整个请求-响应周期。 总结起来,Spring MVC的原理就是通过前端控制器、处理器映射、处理器适配器、视图解析器等组件将请求分发到不同的处理器进行处理,并将处理结果渲染到对应的视图上返回给客户端。这种分层的架构使得开发者可以将业务逻辑和视图层逻辑分离,更加方便地进行开发和维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值