springMVC总结02

  1. 当control返回以 redirect: 为前缀的字符串时,会进行重定向处理,原理还是同之前的ModelAndView;以forward: 为前缀的则表示转发。
  2. 时间类型格式化注解:@DateTimeFormat(pattern=“yyyy-MM-dd”);浮点型数据格式化注解:@NumberFormat(pattern="#,###.#")
  3. JSR 303 验证
  • 使用JSR 303验证标准
  • 加入hibernate validator 验证框架的jar包
  • 在springMVC配置文件中加入<mvc: annotation-driven />
  • 在bean的属性上添加对应的注解
  • 在目标方法bean类型的前面添加@Valid 注解
  1. 通过BindErrorType 或 Errors 类型来获取JSR 303 验证错误信息,需要注意的是,方法中需校验的bean对象和其绑定结果对象或错误对象是成对出现的,它们之间不允许声明其他的入参

  2. @RsponseBody 注解

    将数据直接转换为相应的格式,如json,xml,详情参考博客

  3. 国际化

  • 在页面上根据浏览器的语言设置情况对文本(不是内容),时间,数值等进行本地化处理
  • 可以在bean中获取国际化资源文件Locale对应的消息
  • 可以通过超链接切换Locale,而不再依赖浏览器语言设置情况
  1. 文件上传

springMVC通过MultipartResolver 接口实现文件上传功能,提供默认的实现类CommonsMultipartResolver,通过MultipartFile 对象来获取文件的信息

  1. 拦截器

实现步骤:

  • 实现HandlerInterceptor 接口

  • 将拦截器注册进容器

    • 在 <mvc: interceptors>中直接配置拦截器

      <bean clsss="拦截器全限定类名">
      
    • 在 <mvc: interceptors>中配置<mvc: interceptor>子标签:

      <mvc: interceptor>
          <mvc: mapping path="指定作用的目标路径"> 
          <bean clsss="拦截器全限定类名">
      <mvc: interceptor>
      

      <mvc: interceptor> 中也有配置排除目标路径的属性

HandlerInterceptor 接口 的方法

  • preHandle:
    • 在目标方法(即@RequestMaping 注解的方法)执行之前被调用
    • 若返回值为false 则后续的拦截器和目标方法不会被执行
  • postHandle:
    • 在目标方法调用之后,页面渲染之前被调用
    • 可以对请求域属性或视图做修改
  • afterCompletion:
    • 页面渲染之后被调用
    • 可以释放资源

多个拦截器的执行顺序:

  • 默认情况下,preHandle 方法按拦截器声明的正序执行,postHandle 与 afterCompletion 方法按拦截器声明的反序执行
  • 图示:

  1. 异常处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值