![](https://i-blog.csdnimg.cn/direct/0a7237f70e0d4c86af7b606353f93e0e.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring MVC
文章平均质量分 90
Spring MVC
morris131
这个作者很懒,什么都没留下…
展开
-
【springmvc】对国际化的支持
准备工作国际化的准备工作如下:向容器中注入@Bean public ResourceBundleMessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasename("i18n"); // 资源文件 messageSource.setDefaultEncoding("U原创 2022-06-01 08:00:00 · 2271 阅读 · 1 评论 -
【springmvc】对请求和响应参数的处理
处理模型数据Spring MVC提供了以下几种途径输出模型数据:ModelAndViewMap及Model@SessionAttributes@ModelAttributeModelAndView处理方法返回值类型为ModelAndView时, 方法体即可通过该对象添加模型数据。ModelAndView中可以指定模型和数据。@RequestMapping("modelAndView")public ModelAndView modelAndView() { ModelAndV原创 2022-05-30 08:00:00 · 2552 阅读 · 0 评论 -
【springmvc】对异步处理的支持
异步执行,顾名思义就是调用后无须等待它的执行,而继续往下执行,对于比较耗时的操作,我们可以抽取成异步方法来让主线程稳定快速继续执行,对于异步方法的执行结果可根据自己的要求是否需要在主线程处理。servlet3.0和SpringMVC都提供了对异步执行的支持。servlet同步处理package com.morris.servlet;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;i原创 2022-05-27 08:00:00 · 2007 阅读 · 0 评论 -
【springmvc】处理文件上传
Spring MVC提供MultipartResolver接口来实现对文件上传的支持,Spring MVC本身并未有此接口的实现,需借助第三方jar实现。MultipartResolver的两种实现:Commons FileUploadServlet 3.0Commons FileUpload上传文件的使用要使用Commons FileUpload首先需要引入如下依赖:<dependency> <groupId>commons-fileupload</grou原创 2022-05-25 08:00:00 · 800 阅读 · 0 评论 -
【spring】对跨域请求的处理
CORS全称是Cross-Origin Resource Sharing,直译过来就是跨域资源共享。从站点A请求站点B的资源的时候,由于浏览器的同源策略的影响,这样的跨域请求将被禁止发送;为了让跨域请求能够正常发送,我们需要一套机制在不破坏同源策略的安全性的情况下、允许跨域请求正常发送,这样的机制就是CORS。基本概念:域:指的是一个站点,由protocal、host和port三部分组成,其中host可以是域名,也可以是ip;port如果没有指明,则是使用protocal的默认端口资源:是指一个U原创 2022-05-23 08:00:00 · 691 阅读 · 0 评论 -
【springmvc】九大组件之HandlerExceptionResolver
在Spring MVC中,如果对异常不做任何处理,Spring MVC会将异常直接抛给容器。例如下面的代码抛出了异常:@GetMapping("e1")public String exception() { int i = 1 / 0; return "exception";}浏览器页面上会显示500错误。对异常的处理@ExceptionHandler处理当前Controller的异常@ExceptionHandler能对当前Controller中指定的异常进行处理,可以通过Mode原创 2022-05-22 17:25:11 · 69102 阅读 · 0 评论 -
【springmvc】拦截器Interceptor的使用与源码分析
拦截器Interceptor的使用自定义拦截器需要实现HandlerInterceptor接口。package com.morris.spring.mvc.interceptor;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;imp原创 2022-05-22 11:26:01 · 69635 阅读 · 0 评论 -
【springmvc】九大组件之HandlerAdapter
HandlerAdapter处理器适配器用来执行Controller中的目标方法,由于上面有三种HandlerMapping,对应这里三种HandlerAdapter:RequestMappingHandlerAdapter:对应RequestMappingHandlerMappingHttpRequestHandlerAdapter:对应SimpleUrlHandlerMappingSimpleControllerHandlerAdapter:对应BeanNameUrlHandlerMapping原创 2022-05-21 18:07:12 · 68877 阅读 · 0 评论 -
【springmvc】九大组件之HandlerMapping
HandlerMapping表示的是一个URL与一个Handler(可以简单的理解为Controller中有@RequestMapping注解的方法)之间的映射关系。HandlerMapping的继承关系图如下:我们主要关注这3个HandlerMapping:RequestMappingHandlerMappingBeanNameUrlHandlerMappingSimpleUrlHandlerMappingRequestMappingHandlerMappingRequestMappi原创 2022-05-15 21:12:12 · 924 阅读 · 0 评论 -
【springmvc】SpringMVC请求流程分析
MVC开发模式MVC是一种程序开发设计模式,它实现了显示模块与功能模块的分离。提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。它主要分模型、视图、控制器三层:模型(model):它是应用程序的主体部分,主要包括业务逻辑模块(web项目中的Action,dao类)和数据模块(pojo类)。模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。视图(view) :用户与之交互的界面、在web中视图一般原创 2022-05-10 20:58:08 · 12845 阅读 · 0 评论 -
【springmvc】使用@EnableWebMvc自定义配置
如果不使用@EnableWebMvc注解,web项目同样能正确接收请求,只不过使用的是默认配置的一些组件,这些组件都配置在DispatcherServlet.properties文件,如果想修改这些默认的组件或者添加一些新的组件,就需要使用@EnableWebMvc注解开启自定义配置,并注入一个实现了WebMvcConfigurer接口的Bean。自定义配置的使用开启MVC配置要实现SpringMVC自定义配置,需要使用@EnableWebMvc开启MVC配置,并实现WebMvcConfigurer接原创 2022-05-10 20:55:49 · 13234 阅读 · 0 评论 -
【springmvc】SpringMVC启动流程及源码分析
上节说到SpringMVC在启动过程中向WEB容器中注入了两个对象:ContextLoaderListener:由AbstractContextLoaderInitializer注入。DispatcherServlet:由AbstractDispatcherServletInitializer注入。下面分别分析这两个对象在WEB容器启动时做了什么工作?ContextLoaderListener初始化父容器ContextLoaderListener实现了Servlet规范中的javax.serv原创 2022-05-05 20:13:39 · 13680 阅读 · 0 评论 -
【springmvc】SpringMVC无需配置web.xml配置文件的原理
从Servlet3.0开始就可以不需要web.xml了,而Spring MVC中也很好的支持了这一个特性。简单使用gradle配置description = "Spring MVC Demo"apply plugin: "groovy"apply plugin: "kotlin"dependencies { compile(project(":spring-webmvc")) compileOnly 'javax.servlet:javax.servlet-api:3.1.0原创 2022-05-02 11:44:09 · 2617 阅读 · 0 评论 -
【springmvc】servlet3.0无需配置web.xml配置文件的原理
在最新的SpringMVC项目中,一个web项目中无需配置传统的web.xml配置文件就能正常启动运行,这是怎么实现的呢?其实这并不是SpringMVC的功劳,而是servlet3规范支持无需web.xml,以及web容器对这个规范的实现。简单使用配置引入依赖:... .... <!-- 指定servlet版本为3.0 --> <dependency> <groupId>javax.servlet</groupId>原创 2022-05-02 11:25:59 · 2003 阅读 · 1 评论 -
SpringMVC使用@EnableWebMvc自定义配置
如果不使用@EnableWebMvc注解,web项目同样能正确接收请求,只不过使用的是默认配置的一些组件,这些组件都配置在DispatcherServlet.properties文件,如果想修改这些默认的组件或者添加一些新的组件,就需要使用@EnableWebMvc注解开启自定义配置,并注入一个实现了WebMvcConfigurer接口的Bean。自定义配置的使用开启MVC配置要实现spring mvc自定义配置,需要开启MVC配置:package com.morris.spring.mvc.con原创 2021-04-02 15:36:28 · 1982 阅读 · 1 评论 -
SpringMVC启动流程源码分析
Spring MVC向WEB容器中注入了两个对象:ContextLoaderListener:由AbstractContextLoaderInitializer注入。DispatcherServlet:由AbstractDispatcherServletInitializer注入。下面分别分析这两个对象在WEB容器启动时做了什么工作?ContextLoaderListenerContextLoaderListener实现了Servlet规范中的javax.servlet.Servlet原创 2021-04-01 15:24:48 · 957 阅读 · 0 评论 -
SpringMVC无web.xml原理
从Servlet3.0开始就可以不需要web.xml了,而Spring MVC中也很好的支持了这一个特性。简单使用gradle配置description = "Spring MVC Demo"apply plugin: "groovy"apply plugin: "kotlin"dependencies { compile(project(":spring-webmvc")) compileOnly 'javax.servlet:javax.servlet-api:3.1.0原创 2021-04-01 10:58:56 · 2630 阅读 · 1 评论 -
Servlet3无web.xml的原理
在最新的SpringMVC中,一个web项目中无需传统的web.xml文件,这是怎么实现的呢?其实这并不是SpringMVC的功劳,而是servlet3规范以及web容器对这个规范的支持。简单使用配置引入依赖:... .... <!-- 指定servlet版本为3.0 --> <dependency> <groupId>javax.servlet</groupId> <原创 2021-04-01 10:13:34 · 2629 阅读 · 1 评论 -
spring mvc修改配置文件路径
1.1. Classpath工程目录在web.xml文件如下配置: 配置springmvc 的核心servlet --> servlet> servlet-name>springservlet-name> servlet-class>org.springframework.web.servle原创 2014-12-23 21:47:05 · 12182 阅读 · 7 评论 -
spring mvc一个Controller响应多个请求
1.1. 控制器的实现package com.morris.controller; import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelA原创 2014-12-23 22:52:36 · 9756 阅读 · 5 评论 -
spring mvc中redirect/forward:url与拦截器的关系
spring控制器最后返回一个ModelAndView(urlName),其中urNamel可以是一个视图名称,由视图解析器负责解析后将响应流写回客户端;也可以通过redirect/forward:url方式转到另一个控制器进行处理.redirect方式相当 于"response.sendRedirect()".这种方式外部特征就是浏览器地址栏最后显示的路径是转发后的新的路径.工作方式是这转载 2014-12-25 15:59:56 · 8854 阅读 · 10 评论 -
spring mvc静态文件访问
当web.xml文件中如下配置时,spring mvc会无法访问静态资源文件 配置springmvc 的核心servlet --> servlet> servlet-name>springservlet-name> servlet-class>org.springframework.web.servlet.Dispatch原创 2014-12-24 21:29:58 · 6626 阅读 · 8 评论 -
Spring中拦截/和拦截/*的区别
在基于Spring MVC的Application中,需要在web.xml中增加下面类似的配置信息:servlet> servlet-name>servletNameservlet-name> servlet-class> org.springframework.web.servlet.DispatcherServlet servlet-class> load-on-原创 2014-12-25 16:07:21 · 6826 阅读 · 9 评论 -
spring mvc注解基本配置
1.1. 配置web.xmlxmlversion="1.0"encoding="UTF-8"?>web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="原创 2014-12-24 22:23:21 · 6752 阅读 · 8 评论 -
spring mvc注解
1.1. Spring mvc注解优化是方法映射的,不同方法有不同url请求,在类找方法。 2)DefaultAnnotationHandlerMapping DefaultAnnotationHandlerMapping根据扫描的包下面找类,即通过url找类 --> bean class="org.springframew原创 2015-12-25 17:27:53 · 6355 阅读 · 1 评论 -
springMVC文件上传
page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">html>原创 2015-12-25 17:29:08 · 6406 阅读 · 1 评论 -
spring学习之@ModelAttribute运用详解
@ModelAttribute使用详解1.@ModelAttribute注释方法 例子(1),(2),(3)类似,被@ModelAttribute注释的方法会在此controller每个方法执行前被执行,因此对于一个controller映射多个URL的用法来说,要谨慎使用。 (1)@ModelAttribute注释void返回值的方法原创 2015-12-25 17:29:43 · 8229 阅读 · 1 评论 -
spring mvc简介
1.1. spring mvc简介1.1.1. MVC:Model-View-Control框架性质的C层要完成的主要工作:封装web请求为一个数据对象、调用业务逻辑层来处理数据对象、返回处理数据结果及相应的视图给用户。1.1.2. 简要概述spring mvcSpring C 层框架的核心是 DispatcherServlet,它的作用是将请求分发给不同的后端处理器,也原创 2015-12-25 17:31:04 · 9385 阅读 · 1 评论 -
SpringMVC介绍之Validation
对于任何一个应用而言在客户端做的数据有效性验证都不是安全有效的,这时候就要求我们在开发的时候在服务端也对数据的有效性进行验证。SpringMVC自身对数据在服务端的校验有一个比较好的支持,它能将我们提交到服务端的数据按照我们事先的约定进行数据有效性验证,对于不合格的数据信息SpringMVC会把它保存在错误对象中,这些错误信息我们也可以通过SpringMVC提供的标签在前端JSP页面上进行展示。原创 2015-12-25 17:32:30 · 9229 阅读 · 1 评论 -
spring mvc入门
1.1. spring mvc简介1.1.1. MVC:Model-View-Control框架性质的C层要完成的主要工作:封装web请求为一个数据对象、调用业务逻辑层来处理数据对象、返回处理数据结果及相应的视图给用户。1.1.2. 简要概述spring mvcSpring C 层框架的核心是 DispatcherServlet,它的作用是将请求分发给不同的后端处理器,也即原创 2014-12-22 21:43:50 · 5396 阅读 · 7 评论