摘要:
B/S 系统中对http 请求数据的校验多数在客户端进行,这也是出于简单及用户体验性上考虑,但是在一些安全性要求高的系统中服务端校验是不可缺少的,实际上,几乎所有的系统,凡是涉及到数据校验,都需要在服务端进行二次校验。为什么要在服务端进行二次校验呢?这需要理解客户端校验和服务端校验各自的目的。 客户 阅读全文
摘要:
项目中,可能会抛出多个异常,我们不可以直接将异常的堆栈信息展示给用户,有两个原因: 用户体验不好 非常不安全 所以,针对异常,我们可以自定义异常处理,SpringMVC 中,针对全局异常也提供了相应的解决方案,主要是通过 @ControllerAdvice 和@ExceptionHandler 两个 阅读全文
摘要:
SpringMVC 中对文件上传做了封装,我们可以更加方便的实现文件上传。从 Spring3.1 开始,对于文件上传,提供了两个处理器: CommonsMultipartResolver StandardServletMultipartResolver 第一个处理器兼容性较好,可以兼容 Servle 阅读全文
摘要:
默认支持的参数类型 默认支持的参数类型,就是可以直接写在@RequestMapping所注解的方法中的参数类型,一共有四类: HttpServletRequest HttpServletResponse HttpSession Model/ModelMap 简单数据类型 Integer、Boolea 阅读全文
摘要:
返回ModelAndView 如果前后端不分的开发,大部分情况下,我们返回ModelAndView,即数据模型+视图: @Controller @RequestMapping("/user") public class HelloController { @RequestMapping("/hell 阅读全文
摘要:
请求url 标记请求URl很简单,只需要在相应的方法上添加注解即可: @Controller public class HelloController { @RequestMapping("/hello") public ModelAndView hello() { return new Model 阅读全文
摘要:
HandlerMapping 基于XML配置 HandlerMapping 是负责根据 request 请求找到对应的 Handler 处理器及 Interceptor 拦截器,将它们封装在 HandlerExecutionChain 对象中返回给前端控制器。 BeanNameUrlHandlerM 阅读全文
摘要:
DispatcherServlet作用 DispatcherServlet 是前端控制器设计模式的实现,提供 Spring Web MVC 的集中访问点,而且负责职责的分派,而且与 Spring IoC 容器无缝集成,从而可以获得 Spring 的所有好处。DispatcherServlet 主要用 阅读全文
摘要:
1.DispatcherServlet:前端控制器 用户请求到达前端控制器,它就相当于 mvc 模式中的c,DispatcherServlet 是整个流程控制的中心,相当于是 SpringMVC 的大脑,由它调用其它组件处理用户的请求,DispatcherServlet 的存在降低了组件之间的耦合性 阅读全文
摘要:
服务注册 服务注册就是把一个微服务注册到 Eureka Server 上,这样,当其他服务需要调用该服务时,只需要从Eureka Server 上查询该服务的信息即可。 这里我们创建一个 provider,作为我们的服务提供者,创建项目时,选择 Eureka Client 依赖,这样,当服务创建成功 阅读全文
摘要:
Eureka 本身可以分为两大部分,Eureka Server 和 Eureka Client Eureka Server Eureka Server 主要对外提供了三个功能: 服务注册,所有的服务都注册到 Eureka Server 上面来 提供注册表,注册表就是所有注册上来服务的一个列表,Eur 阅读全文
摘要:
使用了注册中心之后,所有的服务都要通过服务注册中心来进行信息交换。服务注册中心的稳定性就非常重要了,一旦服务注册中心掉线,会影响到整个系统的稳定性。所以,在实际开发中,Eureka 一般都是以集群的形式出现的。Eureka 集群,实际上就是启动多个 Eureka 实例,多个 Eureka 实例之间, 阅读全文
摘要:
注册中心 Eureka 是 Spring Cloud 中的注册中心,类似于 Dubbo 中的 Zookeeper。那么到底什么是注册中心,我们为什么需要注册中心? 我们首先来看一个传统的单体应用: 在单体应用中,所有的业务都集中在一个项目中,当用户从浏览器发起请求时,直接由前端发起请求给后端,后端调 阅读全文
摘要:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="../js/vue.js"></script> </head> <body> <div id="app"> 阅读全文