SpringMVC框架学习总结

什么是MVC模式

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

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

HelloWorld程序

1.导入相关的资源.

  • 导入Spring核心的包

  • 导入web相关的支持包.

  • 日志相关

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


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

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

4.常见问题及解决方案

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


    contextConfigLocation
    classpath:application.xml

  • 默认找的文件名为-serlvet.xml.

  • 在第一次访问的时候去加载spring的配置文件.
    希望在服务器启动的时候就去加载spring配置文件

URL映射的方式

全注解的方式

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

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

例如工具类:@Component

全注解的方式步骤:

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

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

3.需要开启注解扫描

静态资源的处理


传参的方式

1.使用serlvet原生api来实现

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

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

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

中文乱码问题

定义拦截器

基本步骤

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

2.编写对应的逻辑

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

大概图片描述

文件上传和下载

步骤


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

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

3.编写核心类.

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


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

缺少文件上传的包

源码解析

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

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

[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping@5cfeb005, org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping@54d647f5, org.springframework.web.servlet.handler.SimpleUrlHandlerMapping@400e5156]

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.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter@47a034e7, org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter@5dcad168, org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter@2e7a32f3]

图片解释代码跳转

常考面试题

Spring MVC的执行流程

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

猜你喜欢

转载自blog.csdn.net/Jolie_Laide0212/article/details/73734093
今日推荐