springmvc基础知识

本文介绍了 Spring MVC 框架的基本概念与工作原理,详细阐述了 DispatcherServlet 的作用及配置方式,并解释了处理器映射器与适配器的工作机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

springmvc是spring的一个模块,无需与spring进行中间整合层的整合,是一个基于MVC的web框架

MVC(B/S下)
MVC是一个设计模式,controller负责流程控制,逻辑处理,model负责数据的存储于读写,view显示数据

流程

请求来:
(C)前端控制器 DispatcherServlet,根据用户请求响应请求Handler->处理器映射器HandlerMapping返回Handler->前端控制器 ->处理器适配器执行处理器(HandlerAdpter)->Handler 处理器(M)

处理后:
Handler(modelandview)->HandlerAdpter->DispatcherServlet->视图解析器(返回view)->DispatcherServlet将view填充到请求(request)

DispatcherServlet与所有组件交互,减少组件之间的耦合性

web.xml中配置DispatcherServlet,contextConfigLocation配置处理器映射器、处理器适配器的配置文件

<servlet>
     <servlet-name>springmvc</servlet-name>
     <servlet-class>***(略)</servlet-class>
     <init-param>
           <param-name>contextConfigLocation</param-name>
           <param-value>classpath:***.xml</param-value>
     </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <!-- /解析所有,/*会解析JSP页面,由于JSP找不到对应的Handler导致报错,*.action解析action结尾的违建 -->
     <url-pattern></url-pattern>
</servlet-mapping>
配置文件springmvc.xml

配置处理器映射器、处理器适配器、Handler、视图解析器

非注解的适配器与映射器

两种适配器
1.SimpleControllerHandlerAdapter
2.HttpRequestHandlerAdapter

<!-- 处理器适配器继承HandlerAdapter -->
<!-- 要求Handler实现Controller接口,用ModelAndView -->
<bean class="org.springframework.web.servlet.SimpleControllerHandlerAdapter" />

<!-- 要求Handler实现HttpRequestHandler接口,用request,可通过response设置响应的格式 -->
<bean class="org.springframework.web.servlet.HttpRequestHandlerAdapter" />

两种处理器映射器:
1.SimpleUrlHandlerMapping

<bean class="...SimpleUrlHandlerMapping">
      <property>
          <!-- id既是url -->
          <prop id=""></prop>
      </property>
</bean>

2.BeanNameUrlHandlerMapping

<bean class="...BeanNameUrlHandlerMapping"></bean>

多个映射器可以并存,SimpleUrlHandlerMapping是BeanNameUrlHandlerMapping的增强

注解的适配器与映射器
<!-- 两种,1.适配器与映射器的bean,2.如下 -->
<mvc:annotation-driver></mvc:annotation-driver>

Handler不需要实现什么接口,类上注解@Controller,用ModelAndView ,对应方法注解映射器,配置handler是用扫描

<context:component-scan base-package=""></context:component-scan>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值