springMvc
时间:2019-11-26
本文章向大家介绍springMvc,主要包括springMvc使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
spring Web Mvc是基于Servlet Api构建的原始Web框架,从一开始就包含在spring框架下,其正式名称“Spring Web Mvc”来自它的源模块(Spring-webmvc)的名称,但它更常见的名称是的“Spring MVC".
一、springMvc 本质上还是在使用servle处理,并在其基础上进行了封装简化了开发流程,提高易用性,并使应用程序逻辑结构变得更清晰。
1 基于注解的 URL映射
2 http表单参数转换
3 全局统一异常处理
4 拦截器的实现
二、各组件执行流程
dispatchSevlet 前端控制器 接受客户端的请求 --> HandlerMapping --> HandlerAdapter --> handler 执行业务处理 ---> viewResolver 基于view Name查找view ---> view 执行试图解析
HandlerMapping :基于URL查找Handler, 返回HandlerExecutionChain(包括handler和interceptorList)
HandlerAdapter :处理适配器, 基于Handler查找适配器
HandlerExceptionResolver 异常解析器
接口方法ModelAndView resolveException(HttpServletRequest var1, HttpServletResponse var2, @Nullable Object var3, Exception var4);
实现统一异常处理返回ModelAndView
HandlerInterceptor 拦截器
三个方法
//前置拦截器
default boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
return true;
}
在preHandle和postHandle之间执行handlerAdapter
// 后置拦截器
default void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) throws Exception {
}
// 完成之后调用
default void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable Exception ex) throws Exception {
}
原文地址:https://www.cnblogs.com/gwxHome/p/11823395.html
- 如何使用java代码通过JDBC访问Sentry环境下的Hive
- 如何为HttpFS服务配置SSL
- 如何使用Java访问集成OpenLDAP并启用Sentry的Impala和Hive
- 如何向Hive表加载数据
- 如何使用Spark Streaming读取HBase的数据并写入到HDFS
- Hive Load本地数据文件异常分析
- 使用Java代码通过JDBC连接只启用Sentry的Impala异常分析
- 如何在CDSW中定制Docker镜像
- 干货:排名前 16 的 Java 工具类!
- 危险:会话固定攻击漏洞,你们的系统都堵上了吗?
- 深度学习入门者必看:25个你一定要知道的概念
- 如何在CM中启用YARN的使用率报告
- 如何修改CDSW服务的DNS和HOSTNAME
- 想尝试搭建图像识别系统?这里有一份TensorFlow速成教程
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 第17天:NLP实战(一)——爬取语料及其简单分析
- 搞懂 Redis 缓存穿透、击穿、雪崩
- win10_opencv4.2_cuda11_vs2019 编译
- (Demo分享)利用JavaScript(JS)做一个可输入分钟的倒计时钟功能
- Flutter ListView 列表控件
- 第18天:NLP实战(二)——用DNN实现手势识别
- 「0821更新」Flutter入门系列教程汇总
- (Demo分享)利用JavaScript(JS)实现一个九宫格拖拽功能
- 第19天:NLP实战(三)——用CNN实现微博谣言检测
- (Demo分享)利用原生JavaScript-ScrollLeft-实现做轮播广告通知
- Flutter问题:Column里面嵌套两个SingleChildScrollView无法滚动
- 搞不懂JS中赋值·浅拷贝·深拷贝的请看这里
- 第20天:NLP实战(四)——用GRU模型实现电影评论情感分析
- Flutter SingleChildScrollView 滚动控件
- Flutter Stack、Positioned 层叠布局