美文网首页
2019-06-09 Spring MVC的学习笔记(一)

2019-06-09 Spring MVC的学习笔记(一)

作者: 北子萌 | 来源:发表于2019-06-11 22:14 被阅读0次

    三层架构与MVC模型

    B/S交互:浏览器和服务器端,将服务器端分为三层架构

    第一层:表现层(Spring MVC)

    第二层:业务层(Spring)

    第三层:持久层(Mybatis)

    浏览器首先发出http请求,传输请求参数,最终由表现层响应结果

    Spring MVC框架介绍:通过一套注解和一个简单的java类成为请求处理的控制器,无须实现任何接口,同时还支持其他风格的编程请求。

    与Struts 2框架相对比的优势:

    共同点:

    都是表现层框架,都是基于MVC框架编写的

    底层都依赖ServletAPI

    他们的处理请求的机制都是一个核心控制器

    区别:

    Spring的入口的Servlet,strus2基于filter

    Spring MVC基于方法,strus2基于类,Spring会较为简洁

    Spring还支持JSR303 处理ajax请求更加方便

    Strus2的OGNL的表达式让页面的开发效率更加高效

    书写一个有前端控制器到视图解析器的处理程序,其中涉及到以下几个组件

    前端控制器:DispatcherServlet,接口用户请求和响应

    处理映射器 handlerMapping:根据用户请求通过HandlerMapping 让controller类中的方法去执行,返回一个执行链

    处理器适配器(handlerAdapter):无论访问什么类,都会经过处理器适配器组件,适配任何Controlleer

    视图解析器:从返回各种jsp页面,页面渲染,跳转各种页面。

    注:在SpringMVC中加上《MVC:annotation-driven》自动加上了处理器映射器、处理器是适配器、视图解析器

    第二讲:requestMapping的注解的作用

    该注解加载类中的方法之前,也可以放在类上。处理请求路径和类中的方法,该注解建立了二者的关联关系。加上一个映射关联

    注解放在类上,有一个类的路径,之后应该在xml文件中将注解的文件

    2. RequestMapping注解的属性:

    根据源码,找到value和path两个API,value是path的别名。二者作用相同

    method方法:属性类型是一个对象,枚举类。设置请求方式;意味着可以添加多个属性。value=。。。;value=。。。’

    params:用于指定限制请求参数条件 params={e.g.: "username"}字符串形式的数组。必须按照params的形式请求

    headers:请求必须包含headers,用于指定限制请求头的条件

    第三讲:请求参数的绑定

    param.jsp页面,含有一个超链接,点击之后,后台的param可以执行。

    method请求为post请求

    直接在value位置编写对应的属性名,可以自动完成赋值操作。

    解决中文乱码问题:

    web.xml中配置filter与fliter-Mapping,初始化参数UTF-8设置命令如下:

    <param-name>encoding</>   ;<param-value>UTF-8</>

    自定义类型转换器:解决自定义转换器的异常

    类型转换器注册,实现Convert接口< S , T >,实现其中的convert方法,将yyyy-mm-dd转换为字符串类型String

    配置bean id的class为这个接口的路径,property-name =converters(转换),<set> bean class=实现接口的类的路径</set>

    第四讲:常用的注解

    RequestBody:get方法不适用,用于获取请求体内容,直接用到的是key value的数据结构

    获得某个请求体的呢绒 在参数前面加上requestBody获取请求体,不是单纯的用户名,而是表单的所有属性组成的json字符串

    pathVariable注解:用于绑定url的占位符。演示过程依然是先写Controller方法,testPathVariable,在requestMapping注解中写上方法名/{id}

    HiddenHttpMethodFilter过滤器

    requestHeader注解:在形式参数的括号里面加上注解requestHeader,可以获取请求头的值

    CookieValue:原理同上,了解即可

    ModelAttribute注解:放在方法上面会优先执行。作用:在提交一个表单的时候,没有新提交的值继续使用原来的值

    Sessionattribute:多次请求

    相关文章

      网友评论

          本文标题:2019-06-09 Spring MVC的学习笔记(一)

          本文链接:https://www.haomeiwen.com/subject/htxnxctx.html