HIN重要的SPRINGMVC来啦,这个课程注重理论,同时又没那么啰嗦,重点都列出来了,很多店都比较使用,知道了自己用了很久的框架的来龙去脉,同时又有一个体系,值得一看。
Spring mvc
-
M表示模型,数据逻辑。v表示视图,显示数据。c控制器,处理用户输入。
-
常用的mvc框架,struts和Springmvc。注解是后者出彩的部分。mvc的优点,耦合性低,重用型高,生命周期成本低,部署快,可维护性高。缺点:没有明确的定义
-
springmvc体系结构
-
model转为view
-
视图逻辑名,真实输出对象,让viewresolver类找
-
处理器完成需要处理的工作后,返回一个Modelandview对象给dispatcher
-
把请求分派给这个处理器,一般第一步会把http请求的入参绑定到一个 pojo对象,并且对之进行校验,
-
dispatcherservlet从handlermapping找到对应的请求
-
接收到客户端的http请求
-
-
Dispatcherservlet类
-
Mvc的心脏,接受请求,并协调各个请求
-
要使用springmvc必须配置这个类,有很多配置,namespace命名空间,publish context,contextconfiglocation
-
-
运行体系:是一个servlet,init在整个系统启动时运行一次,service运行中处于倾听模式,倾听处理所有的web请求
-
继承结构:继承httpservletbean,和framworkservlet初始化一个spring容器
-
注解类
-
Request mapping,使用controller控制器类,属性有:value代表具体的请求路径。method表示post还是get请求,也可以数组,表示content-type,例如application/json,params属性表示请求必须包括哪些参数才会触发这个处理方法,比如params{a=b},也可以用非,headers属性,必须包含哪些参数,跟produces一样
-
四大注解类:component通用标注,controller,service,repository标注dao层的数据访问。
-
rescource和auto wired注解的异同: 后者按照名称就是name装配,推荐
-
其他注解类:requestparam获取参数的,默认参数名和前端参数一致。cookie value,sessionattributes,responsebody,可以把返回值的类型设置比如json或者xml,requestheadder
-
-
数据校验
- JR303数据校验
- 其他各种变形,可以在SPRINGMVC的DTO进行校验,主要用注解实现,看起来比较方便,不然纯粹代码比较麻烦
- 安全相关
- XSS脚本注入,使用过滤器对参数值进行正则表达式替换,过滤掉那些脚本文件或者SQL