ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

hj_springmvc

2021-07-30 12:04:58  阅读:240  来源: 互联网

标签:请求 springmvc spring 视图 hj MVC 接口 DispatcherServlet


官方文档: springmvc官方文档 ;

编程帮文档: 编程帮 ;

源码解析 : java知音 .

MVC设计模式一般指MVC框架.M<model>数据模型,V<view>视图层,C<controller>控制器,MVC的主要目的是实现M和V的分离,结构清晰;

  • 视图层<view> : 格式化数据并呈现给用户,主要有数据展示,用户交互,数据验证,界面设计等功能;
  • 控制层<controller> : 接收并转发请求,对请求做好处理后,指定视图并将响应结果发送给客户端;
  • 数据模型层<model> : 负责数据逻辑(业务规则)的处理和实现数据操作(数据库中存取数据).

Spring MVC 主要由Dispatcher Servlet,处理器映射,处理器(控制器),视图解析器,视图组成.俩核心:

  • 处理器映射 : 选择使用某个控制器来处理请求;
  • 视图解析器 : 选择响应结果应如何渲染.

运行原理:

  • 1,http请求 : 客户端请求提交到DispatcherServlet;
  • 2,寻找处理器 : 由DispacherServlet控制器查询一个或多个HandlerMapping,找到处理请求的controller;
  • 3.调用处理器 : DispatcherServlet将请求提交到Controller;
  • 4 & 5,调用业务处理和返回结果 : Controller调用业务逻辑处理后,返回ModelAndView;
  • 6 & 7,处理视图映射并返回模型 : DispatcherServlet查询一个活多个ViewResoler视图解析器,找到ModelAndView指定的视图.
  • 8,Http响应 : 视图负责将结果显示到客户端.

mvc四个主要接口:

  • DispatcherServlet接口 : spring提供的前端控制器,统一分发请求.借助spring提供的HandlerMapping接口将请求定位到具体的controller;
  • HandlerMapping接口 : 完成client请求到controller的映射;
  • Controller接口 : 处理client请求,返回ModelAndView对象给DispatcherServlet前端控制器;
  • ViewResolver接口 : 视图解析器,在web应用中查找view对象,将对应结果渲染给客户端.

web.xml配置

<servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 配置springMVC需要加载的配置文件
        spring-dao.xml,spring-service.xml,spring-web.xml
        Mybatis - > spring -> springmvc
     -->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/spring-*.xml</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <!-- 默认匹配所有的请求 -->
    <url-pattern>/</url-pattern>
</servlet-mapping>

spring-web.xml

<!-- 配置SpringMVC -->
<!-- 1.开启SpringMVC注解模式 -->
<!-- 简化配置:
    (1)自动注册DefaultAnootationHandlerMapping,AnotationMethodHandlerAdapter
    (2)提供一些列:数据绑定,数字和日期的format @NumberFormat, @DateTimeFormat, xml,json默认读写支持
-->
<mvc:annotation-driven />

<!-- 2.静态资源默认servlet配置
    (1)加入对静态资源的处理:js,gif,png
    (2)允许使用"/"做整体映射
 -->
 <mvc:default-servlet-handler/>

 <!-- 3.配置jsp 显示ViewResolver -->
 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
     <property name="prefix" value="/WEB-INF/jsp/" />
     <property name="suffix" value=".jsp" />
 </bean>

 <!-- 4.扫描web相关的bean -->
 <context:component-scan base-package="com.xxx.xxx.web" />

  

常用注解 : @Controller , @RequestMapping , @Resource , @Autowired , @ModelAttribute , @SessionAttributes ,

                  @PathVariable , @RequestParam , @ResponseBody , @Repository , @Component

 

一句话总结 : SpringMVC是目前最好的实现了MVC设计模式的框架,能与spring很好的衔接,是对MVC流程的进一步封装,屏蔽掉很多底层代码,以servlet为处理器替换传统的filter,开放出接口,简化开发者基于MVC模式的Web开发,让代码实现更简单~

标签:请求,springmvc,spring,视图,hj,MVC,接口,DispatcherServlet
来源: https://www.cnblogs.com/hua-jian/p/15079003.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有