欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringMVC学习笔记(五)

程序员文章站 2022-07-15 11:45:02
...

SpringMVC(五)

  • 文件上传
    1、导入相应jar包:jakarta commons fileupload及jakarta commons io
    2、配置MultipartResplver
<bean id="miltipartResovler" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="defaultEncoding" value="UTF-8"></property>
		<property name="maxUploadSize" value="5242880"></property>
	</bean>
	注意:defaultEncoding必须和用户JSP的pageEncoding属性一致

3、目标方法

@RequestMapping("/testFileUpload")
	public String testFileUpload(@RequestParam("file")MultipartFile file,@RequestParam("desc")String desc) throws IOException {
		System.out.println("desc:"+desc);
		System.out.println("OriginalFilename:"+file.getOriginalFilename());
		System.out.println("InputStream:"+file.getInputStream());
		return "success";
	}
  • 自定义拦截器
    SpringMVC可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlerIntercepter接口
    -preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求request进行处理。如果程序员决定该拦截器对请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去进行处理,则返回true;如果程序员决定不需要再调用其他的组件去处理请求,则返回false。
    -postHandle():这个方法在业务处理器处理完请求后,但是DispatcherServlet向客户端返回相应前被调用,在该方法中对用户请求request进行处理。
    -afterCompletion():这个方法在DispatcherServlet完全处理完请求后被调用,可以在该方法中进行一些资源清理的操作。
    用法:
    定义一个拦截器类,实现HandlerIntercepter接口以及其三个方法。在配置文件中进行配置
<mvc:interceptors>
		<!-- 配置自定义拦截器 -->
		<bean class="com.gh.spring.interceptor.FirstInterceptor"></bean>	
	</mvc:interceptors>