欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringMVC框架学习总结

程序员文章站 2022-06-02 21:21:36
...

什么是MVC模式

M Model模型(JavaBean)  V view视图(JSP/IMG)  C Controller控制器(Action/Servlet)
C控制存在的目的:将视图和模型结合在一块

SpringMVC框架学习总结

什么是SPRING MVC?
   Spring MVC是基于MVC模式的一个框架,它解决WEB开发中常见的问题(参数接收、文件上传、表单验证、国际化、等等),而且使用简单,与spring无缝集成。

HelloWorld程序

1.导入相关的资源.

  • 导入Spring核心的包

SpringMVC框架学习总结

  • 导入web相关的支持包.

SpringMVC框架学习总结

  • 日志相关

SpringMVC框架学习总结

2.导入相关的配置文件application.xml(类似Struts2.xml)


name:代表前台访问的地址
class:对应的处理类>

3.编写核心类.需要实现接口.org.springframework.web.servlet.mvc.Controller

SpringMVC框架学习总结

SpringMVC框架学习总结

SpringMVC框架学习总结

4.常见问题及解决方案

  • springMVC启动的时候默认的去WEB-INF中寻找配置资源.怎么修改?


    contextConfigLocation
    classpath:application.xml

  • 默认找的文件名为-serlvet.xml.
    SpringMVC框架学习总结

  • 在第一次访问的时候去加载spring的配置文件.
    希望在服务器启动的时候就去加载spring配置文件
    SpringMVC框架学习总结

URL映射的方式

SpringMVC框架学习总结

全注解的方式

注解使用的步骤:
1.需要有一个注解.
2.把注解贴到某个地方.
3.需要扫描器去扫描注解.

回顾J2EE三层的注解:
表现层:@Controller
业务层:@Service
DAO持久层:@Repository

例如工具类:@Component

全注解的方式步骤:

1.导入AOP的包.
spring-aop-4.1.2.RELEASE.jar

2.需要在核心类上@Controller注解.

3.需要开启注解扫描
SpringMVC框架学习总结

静态资源的处理


传参的方式

1.使用serlvet原生api来实现

SpringMVC框架学习总结

2.前台需要传入的参数名和方法定义的形参名字一致(基于同名匹配规则)

SpringMVC框架学习总结

当前台名称和后台形参名字不一致的情况,需要使用@RequestParam(“前台参数名”)来注入

SpringMVC框架学习总结

3.使用模型传参.(前台参数名字需要和模型中的字段名一致.)

SpringMVC框架学习总结

中文乱码问题

SpringMVC框架学习总结

定义拦截器

基本步骤

1.定义拦截器类.需要实现接口org.springframework.web.servlet.HandlerInterceptor

2.编写对应的逻辑

SpringMVC框架学习总结

3.将拦截器配置到主配置文件中.

SpringMVC框架学习总结

大概图片描述

SpringMVC框架学习总结

文件上传和下载

步骤


1.导入文件上传的相关jar包.

SpringMVC框架学习总结

2.在application.xml中配置文件上传解析器.

SpringMVC框架学习总结

3.编写核心类.

SpringMVC框架学习总结

开发过程中遇到的问题及原因说明


SpringMVC框架学习总结

需要配置文件上传解析器.

SpringMVC框架学习总结

缺少文件上传的包

源码解析

SpringMVC框架学习总结

HanderMapping 请求映射处理器:(说明书)

作用:根据不同的请求选择最合适的处理器(自己编写的控制器),请求映射处理器可以配置多个,谁最先匹配就执行谁。

[org.springframeworkaaa@qq.com5cfeb005, oraaa@qq.com54d647f5, aaa@qq.com400e5156]

HandlerExecutionChain处理执行链:

HandlerExecutionChain with handler [public org.springframework.web.servlet.ModelAndView springmvc1.AnnotationController.handleRequest(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.lang.Exception] and 1 interceptor

HandlerAdapter 处理器适配:(工具)

作用: 支持多种类型的处理器,如何来执行"处理器(控制器)"; 

[org.springframeworkaaa@qq.com47a034e7, aaa@qq.comcad168, orgaaa@qq.com2e7a32f3]

图片解释代码跳转

SpringMVC框架学习总结

常考面试题

Spring MVC的执行流程

系统启动的时候根据配置文件创建Spring的容器,首先是发送Http请求到核心控制器DispatcherServlet,Spring容器通过映射器去找业务控制器,使用适配器找到相应业务类,在进行业务类的时候进行数据封装,在封装前可能会涉及到类型转换,执行完业务后使用ModelAndView进行视图转发,数据放在model中,用map传递数据进行页面显示。