springmvc
2019-01-26 14:14:55 0 举报
AI智能生成
SpringMVC架构流程
作者其他创作
大纲/内容
springmvc
入门
概述
什么是springmvc?
springmvc与struts2的区别
前端控制器(web.xml中配置)
拦截规则
.action .do
拦截以.action和以.do结尾的请求
/
避免静态资源被拦截的方式
在web.xml中配置defaultServlet来处理静态文件
在mvc配置文件中添加<mvc:resource>标签
在mvc配置文件中添加<mvc:default-servlet-handler/>标签
/*
拦截所有资源包括jsp(不建议使用)
框架架构
架构图
流程描述
组件配置
DispatcherServlet
Controller
ViewResolver
常用注解
@Controller:标记在一个类上,说明这个类是一个Spring MVC控制器类
@RequestMapping:用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径
@RequestParam:用于将请求参数区数据映射到功能处理方法的参数上
@RequestBody:@RequestBody 注解则是将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象
@ReponseBody:@Responsebody 注解表示该方法的返回的结果直接写入 HTTP 响应正文(ResponseBody)中,一般在异步获取数据时使用
@PathVariable:将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数
@Autowired:Autowired注解是按照类型(byType)装配依赖对象,默认情况下它要求依赖对象必须存在
@Component:相当于通用的注解,当不知道一些类归到哪个层时使用
@Repository:用于标注数据访问层,也可以说用于标注数据访问组件,即dao组件
mvc.xml
扫描注解
注解驱动
视图解析
文件上传
参数绑定
简单类型
包装类型
对象
包装对象
高级参数
数组
集合
自定义参数
常见问题
自定义类型转换器
mvc.xml进行配置
页面三要素
post提交方式
file文件上传域
enctype属性:必须设置为multipart/form-data
导入jar包
commons fileupload
commons io
配置解析器
json交互
@RequestBody:通俗一点说就是把json对象转换为java对象
@ReponseBody:将java对象转换为json对象
RESTful
拦截规则(Web.xml)
url模板映射
<a href=\"${pageContext.request.contextPath}/rest/updateById/${user.id}\">修改信息</a>@RequestMapping(\"updateById/{id}\
{}:匹配接受页面Url路径参数
@Pathariable:{}里面参数注入后面参数里面
静态资源访问
统一异常
使用 @ ExceptionHandler 注解
缺点
实现 HandlerExceptionResolver 接口
这种方式可以进行全局的异常控制
使用 @ControllerAdvice+ @ ExceptionHandler 注解
简述
拦截器
自定义拦截器,实现HandlerInterceptor接口
校验登录
自定义拦截器
mvc.xml文件进行配置
0 条评论
下一页