SpringMVC杂项学习(三)
来源:互联网 发布:linux 查找文件命令 编辑:程序博客网 时间:2024/05/19 20:42
自定义视图
1.自定义视图,实现view接口或者继承AbstractView抽象类,并通过@Component加入到IOC容器中。
2.在springmvc配置文件中配置BeanNameViewResolver视图解析器。
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver"><property name="order" value="100"></property></bean> -->
数据格式化标签
1.在SpringMVC配置文件中配置<mvc:annotation-driven/>
2.在目标POJO对象的属性上加上@NumberFormat 或者 @DateTimeFormat 注解
数据类型转换
1. 自定义类型转换器(eg:EmployeeConverter)实现Converter<S,T>接口并加入到SpringMVC的IOC容器中;(使用@Component注解)
2.配置自定义转换器到FormattingConversionServiceFactoryBean工厂中!
<!-- 将ConversionService再作为annotation-driven的一个属性存在! --><mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
<!-- 配置ConversionService --><bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"><property name="converters"><set><ref bean="employeeConverter"/></set></property></bean>
SpringMVC如何处理JSON数据
1.加入json的jar包
2. 编写目标方法,使其返回 JSON 对应的对象或集合
3. 在方法上添加 @ResponseBody 注解
文件上传
1.加入上传文件的jar包
2.在SpringMVC配置文件中配置CommonsMultipartResovler
<!-- 配置CommonsMultipartResolver --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="defaultEncoding" value="utf-8"></property><!-- 以字节为单位 --><property name="maxUploadSize" value="1024000"></property></bean>
文件下载
用ResponseEntity<byte[]> 返回值完成文件下载
自定义拦截器:
1.自定义实现类实现 HandlerInterceptor接口
– preHandle():该方法在目标方法之前被调用,
若返回值为true,则继续调用后续的拦截器和目标方法
若返回值为false,则不会再调用后续的拦截器和目标方法
可以考虑做权限,日志或者事务等!
–postHandle():调用目标方法之后,但渲染视图之前被调用
可以对请求域中的属性或者视图做出修改!
–afterCompletion():渲染视图之后被调用,
可以在该方法中进行一些资源清理的操作。
2.在springmvc配置文件中配置相对应的拦截器
<mvc:interceptors><!--配置自定义拦截器 ,所有的路径都拦截 --><bean class="com.neuedu.springmvc.filter.MyFilter"></bean><!-- 关于拦截器的配置问题 ,可以通过<mvc:interceptor>来配置使用哪个拦截器来【不】拦截的路径--><mvc:interceptor><!-- 用<mvc:mapping>标签指定要拦截的路径 用mvc:exclude-mapping指定不拦截的路径--><mvc:mapping path="/employ"/><!-- 指定使用哪个拦截器进行拦截 --><bean class="com.neuedu.springmvc.filter.SecondFilter"></bean></mvc:interceptor></mvc:interceptors>
SpringMVC的异常处理:
1.加上<mvc:annotation-driven>标签:
2.在当前Handler中定义由@ExceptionHandler注解修饰的方法,用于处理异常信息!
>>>@ExceptionHandler方法修饰的入参中可以加入Exception类型的参数,该参数即对应发生的异常信息
>>>@ExceptionHandler方法的入参中不能传入Map.若希望把异常信息传到页面上,需要使用ModelAndView作为方法的返回值。
3.@ExceptionHandler 注解定义的方法优先级问题:会根据异常的最近继承关系找到继承深度最浅的那个 @ExceptionHandler 注解方法
- SpringMVC杂项学习(三)
- android uiautomator学习(三)杂项
- android uiautomator学习(三)杂项
- SpringMVC学习笔记三
- SpringMVC学习总结(三)
- SpringMVC学习(三)
- springmvc学习(三)
- 杂项(三)
- (三)linux杂项
- 学习SpringMVC(三)之RequestParam
- SpringMVC学习笔记(三)
- SpringMVC学习笔记(三)
- CSS学习杂项
- C++学习_杂项
- Android学习积累杂项
- c++学习杂项
- 杂项设备的学习
- 汇编学习笔记杂项
- JAVA时间类
- 语言小知识-python-random生成随机数
- C语言Window控制台实现弹弹方块(单个方块,多个方块)
- angularjs技术实现购物车加减页面,订单页面
- ubuntu下使用git的简单使用
- SpringMVC杂项学习(三)
- Robot Race UVALive
- 查找算法
- 剑指Offer—39—平衡二叉树
- Python列表,元组,字典的区别
- Python中下划线
- Scala学习之构造器
- Linux基础
- EventBus的Sticky粘性事件