springmvc+mybatis框架学习总结

来源:互联网 发布:tk免费域名注册网站 编辑:程序博客网 时间:2024/04/29 12:06

7上传图片

7.1 需求

7.2 springmvc中对多部类型解析

在页面form中提交 enctype=”multipart/form-data”的数据时,

<form id="itemForm"         action="${pageContext.request.contextPath }/editItemsSubmit.action" method="post" enctype="multipart/form-data">

需要springmvc对multipart类型的数据进行解析
在springmvc.xml中配置multipart类型解析器。

<!-- 文件上传 --><bean               class="org.springframework.web.multipart.commons.CommonsMu  ltipartResolver">        <!-- 设置文件上传的最大尺寸20MB -->        <property name="maxUploadSize" >            <value>20971520</value>        </property>    </bean>

7.3加入上传图片的jar

7.4 创建图片虚拟目录存储图片

8 json数据交互

8.1 为什么要使用json数据交互

8.2 springmvc进行交互

  1. 请求json、输出json,要求请求的是json串,所以在前段页面中需要将请求的内容转变成json,不太方便。
  2. 请求key/value、输出json。此方法比较常用。

8.3 环境准备

jackson-core-asl-1.9.11.jar
jackson-mapper-asl-1.9.11.jar

8.4 json交互测试

8.4.1 输入json串,输出是json

8.4.1.1 jsp页面
8.4.1.2 controller
8.4.1.3 测试结果

9 RESTful支持
9.1什么是RESTful
9.2 REST的例子
9.2.1 需求
9.2.2 controller
9.2.3 REST方法的前段控制器
9.3对静态资源的解析
10 拦截器
10.1 拦截器定义
10.2 拦截器配置
10.2.1 针对HandlerMapping
10.2.2 类似全局的拦截器
10.3 拦截测试
10.3.1 测试需求
10.3.2 编写两个拦截器
10.3.3 两个拦截器都放行
HandlerIntercepter1…………………….preHandle()…………………….
HandlerIntercepter2…………………….preHandle()…………………….

HandlerIntercepter2…………………….postHandle()…………………….
HandlerIntercepter1…………………….postHandle()…………………….

HandlerIntercepter2…………………….afterCompletion()…………………….
HandlerIntercepter1…………………….afterCompletion()…………………….
总结:
perHandle方法按顺序执行,
postHandle和afterCompletion按拦截器配置的逆向顺序执行。
10.3.4 拦截器1放行,拦截器2不放行
HandlerIntercepter1…………………….preHandle()…………………….
HandlerIntercepter2…………………….preHandle()…………………….
HandlerIntercepter1…………………….afterCompletion()…………………….
总结:
拦截器1放行,拦截器2prehandle才会执行。
拦截器2prehandle不放行,拦截器2 postHandle和afterCompletion不会执行。
只要有一个拦截器不放行,postHandle不会执行。
10.3.5 拦截器1不放行,拦截器2不放行
HandlerIntercepter1…………………….postHandle()…………………….
拦截器1 preHandle不放行,postHandle、afterCompletion都不执行。
拦截器1 preHandle不放行,拦截器2不执行。
10.3.6 小结
根据测试结果,对拦截器应用。

比如:统一日志处理拦截器,需要该拦截器 preHandle一定要放行,且将它放在拦截器链接中第一个位置。

比如:登录认证拦截器,放在拦截器链接中第一个位置,权限校验拦截器,放在登录认证拦截器之后(因为登录通过后才校验权限)

0 0
原创粉丝点击