![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringMVC
文章平均质量分 64
偷偷学习被我发现
记录个人点滴
展开
-
springmvc的参数校验的两种方式
前后端传参的参数校验,自然就想到了springmvc的参数校验;这里有两种方式:一、使用Annotaion JSR-303标准的验证1、首先需要导入依赖<dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator&...原创 2020-03-11 20:04:38 · 732 阅读 · 0 评论 -
RequestContextHolder的简单使用&&RequestContextHolder源码简单解析&&processRequest源码简单解析
RequestContextHolder持有上下文的Request容器,可以通过RequestContextHolder的静态方法getRequestAttributes()获取Request相关的变量,如request, response等。RequestAttributes ra = RequestContextHolder.getRequestAttributes();HttpServl...原创 2020-03-09 20:41:56 · 646 阅读 · 0 评论 -
SpringMVC中的Controller是单例还是多例,怎么保证并发的安全。
controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。package com.riemann.springbootdemo.controller;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Co...原创 2019-09-17 02:21:37 · 2263 阅读 · 2 评论 -
SpringMVC常用注解
一、组件型注解:@Component 在类定义之前添加@Component注解,他会被spring容器识别,并转为bean。@Repository 对Dao实现类进行注解 (特殊的@Component)@Service 用于对业务逻辑层进行注解, (特殊的@Component)@Controller 用于控制层注解 , (特殊的@Component) 以上四种注解都是注解在类上的,被注解...原创 2019-09-10 20:58:06 · 121 阅读 · 0 评论 -
SpringMVC_DispatcherServlet初始化&&CommonsMultipartResolveran的id必须为multipartResolver的原因&&配置视图解析器可以不配置id
我们都知道DispatcherServlet是中央控制器,也叫前端控制器,在SpringMVC中,它是一个十分重要的核心分发器,那么我们来源码跟踪解析一下。首先我们看看它的继承结构看到了HttpServlet以及它的父类GenericServlet,我们知道我们可以自定义Servlet继承HttpServlet,关于这方面的知识,我其他博客有讲解,这里不再多说实例化->初始化-&g...原创 2019-08-08 21:54:47 · 1400 阅读 · 0 评论 -
mvc:annotation-driven的作用
###SpringMVC执行流程用户发送请求到DispatcherServlet前端控制器,DispatcherServlet解析请求得到资源标识符URL;调用HandleMapping处理器映射器根据URL去查找相对应的Handle处理器,把处理器Handle以及相应的拦截器封装到HandlerExecutionChain对象去,DispatcherServlet前端控制器根据返回的Handl...原创 2019-07-13 21:24:42 · 166 阅读 · 0 评论 -
SpringMVC___配置异常处理
编写错误页面,异常页面,当项目发布出现了异常和错误,你肯定不想给客户看到那些错误码,严重影响体验。Jar包:控制层MyController:package com.zsl.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation....原创 2019-07-13 21:23:11 · 107 阅读 · 0 评论 -
SpringMVC___服务器端校验(普通校验和分组校验)
最早的校验,就是服务端校验。早期的网站,用户输入一个邮箱地址,校验邮箱地址需要将地址发送到服务端,服务端进行校验,校验成功后,给前端一个响应。有了JavaScript,校验工作可以放在前端去执行。那么为什么还需要服务端校验呢? 因为前端传来的数据不可信。前端很容易获取都后端的数据接口,如果有人绕过页面,就会出现非法数据,所以服务端也要数据校验,总的来说:1.前端校验要做,目的是为了提高用户体验...原创 2019-07-13 21:22:35 · 181 阅读 · 0 评论 -
SpringMVC___执行流程
相关组件:1、DispatcherServlet:前端控制器,中央控制器。用户请求到达前端控制器,它就相当于mvc模式中的c,DispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet的存在降低了组件之间的耦合性。2、HandlerMapping:处理器映射器。HandlerMapping负责根据用户请求找到Handler即...原创 2019-07-13 21:20:26 · 144 阅读 · 0 评论 -
SpringMVC__自定义简单的拦截器
自定义拦截器:FirstIntercepter实现了HandlerInterceptorpackage com.intercepter;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.ser...原创 2019-07-13 21:18:55 · 179 阅读 · 0 评论 -
SpringMVC___拦截器与过滤器进行比较分析,流程以及DispatcherServlet中央控制器与Servlet的关系
SpringMVC中的拦截器对应了Web基础中的过滤器。关于过滤器可以看我写的博客:https://www.cnblogs.com/zhangsonglin/p/10774409.html对比拦截器和过滤器来理解拦截器一、拦截器与过滤器的区别:1、拦截器不依赖与servlet容器是SpringMVC自带的,过滤器依赖于Servlet容器。2、拦截器是基于java的反射机制的,而过滤器是基...原创 2019-07-13 21:18:15 · 873 阅读 · 0 评论 -
SpringMVC__表单回显以及@ModelAttribute
通过Model方式如果使用对象去接收客户端传来的数据,那么对象默认会被自动放到model中,在前端页面可以直接使用对象中的数据。@ModelAttribute(“stu”)是给这个需要回传的对象取别名,如果不使用,则以该对象名首字母小写为名,如Student对象不使用@ModelAttribute(“stu”)就是student;使用了就用stu;@RequestMapping(value=...原创 2019-07-13 21:15:44 · 288 阅读 · 0 评论 -
SpringMVC__简单文件上传与下载
一、文件上传1、要用的基本两个包:2、简单的表单:<form action="/SpringDemo08/upLoad" method="post" enctype="multipart/form-data"> 账号:<input type="text" name="userName"><br> 头像:<input type="file"...原创 2019-07-13 21:14:40 · 126 阅读 · 0 评论 -
SpringMVC___静态资源配置
在SpringMVC中,你可能会遇到访问页面的时候,发现所有静态资源被拦截,那是因为在默认情况下,所有的静态资源都会被拦截(js,css。html,图片、视频、音频)对于静态资源,需要手动配置静态资源过滤。两种解决方案:一、web.xml配置<servlet-mapping> <servlet-name>default</servlet-name>...原创 2019-07-13 21:13:32 · 108 阅读 · 0 评论 -
SpringMVC__@SessionAttributes结合代码使用说明
JavaWeb项目下通常使用的是HttpSession,或许你是使用HttpSevletRequest来创建的session,但是它也是属于HttpSession方式的session在SpringMVC中使用注解@SessionAttributes来设置创建session我们主要是讲SpringMVC中使用注解@SessionAttributes结论:1、可以通过SpringMVC特有...原创 2019-07-13 21:12:56 · 522 阅读 · 0 评论 -
SpringMVC___参数绑定以及配置过滤器解决POST乱码
该demo是动态web的projectController@Controllerpublic class MyController{/** * 可以通过对象来获取参数,前端只需直接使用与对象里属性名相同的参数名来传值 例如:name=xxx * HandleAdept处理器适配器利用反射从request里把与对象里属性名相同的进行了取值与封装 * 如果对象里是属性还是一个对象,...原创 2019-07-13 21:12:20 · 240 阅读 · 0 评论 -
SpringMVC__配置视图解析以及服务端重定向和服务端跳转简单代码
1、不响应 使用void类型以及加上@ResponseBody注解2、ModelAndView‘ 使用.setViewName("/index.jsp");指定跳转页面名称3、直接指向页面名称 返回值类型为String,返回值直接指向要跳转的页面名称4、客户端重定向 使用redirect:地址,进行页面重定向5、使用原生的HttpServletRequest、HttpServletR...原创 2019-07-13 21:11:42 · 350 阅读 · 0 评论 -
SpringMVC___使用xml以及注解简单配置
它是一个动态的web项目一、xml配置的形式applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i...原创 2019-07-13 21:10:47 · 128 阅读 · 0 评论 -
Spring__SpringMVC__Mybatis整合
Springmvc是controller层的,mybatis是dao和mapper层的,而spring类似粘合剂,springmvc与mybatis之间是不能直接整合的,而是通过springmvc和spring之间,mybatis与spring之间整合的。##Spring容器和SpringMVC容器的关系Spring容器是一个父容器,SpringMVC容器是一个子容器,它继承自Spring容器...原创 2019-07-13 20:55:07 · 351 阅读 · 0 评论