0 0

springMVC过滤器过滤文件上传请求,获取请求参数为空5

使用是springMVC,用户注册功能,过滤器拦截获取不了参数,值为null。

页面发起的请求中带有三个参数:op,name,picture。op是操作字段

HTML如下:

<form action="<%=request.getContextPath()%>/app"  method="post" enctype="multipart/form-data">
		op:<input name="op" value="user.regist" /><br/>

		姓名(name):<input name="name" /><br/>
	
		头像(picture):<input name="picture" type="file"><br/> 
		<input type="submit"/>
	</form>

 

请求过滤器功能是获取op参数进行请求转发。

过滤器代码如下:

 

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		HttpServletRequest httpRequest = (HttpServletRequest)request;
		String op = httpRequest.getParameter("op");
		op = op.replace(".", "/");
		request.getRequestDispatcher("/app/"+op).forward(request, response);
	}

 现在遇到的具体问题是表单的属性是enctype="multipart/form-data"时,过滤器获取不到op的值,op为null。

请教大家过滤器如何在表单属性enctype="multipart/form-data"时获取到op的值?

 

2013年5月31日 01:02

1个答案 按时间排序 按投票排序

0 0

请使用spring的Interceptor  有这个问题。

2013年5月31日 07:57

相关推荐

    防止SpringMVC拦截器拦截js等静态资源文件的解决方法

    通过在web.xml文件中对默认Servlet进行映射(通常是url-pattern为/*),可以让默认Servlet先于SpringMVC的DispatcherServlet处理静态资源的请求。这种方法的优点是不需要在SpringMVC的拦截器中进行繁琐的配置,而且...

    idea+maven+springmvc 登录过滤器

    在IT行业中,构建一个安全的Web应用程序是至关重要的,而登录过滤器和请求拦截器是实现这一目标的关键组件。本文将详细讲解如何使用IntelliJ IDEA(Idea)、Maven和Spring MVC框架来创建一个登录过滤器,以及如何将...

    利用SpringMVC过滤器解决vue跨域请求的问题

    之前写过通过注释的方法解决跨域请求的方法,需要每次都在controll类使用注解,这次通过springmvc的拦截器解决: 继承SpringMVC的类HandlerInterceptor重写preHandle方法,这个方法会在到达 controll之前调用,如下 ...

    webuploader+springMVC实现大文件上传.zip

    在这个项目中,SpringMVC作为后端控制器,处理WebUploader上传的文件请求,进行文件存储和状态管理。 4. **SSM框架**: SSM是Spring、SpringMVC和MyBatis的组合,是Java开发中常用的Web开发框架。Spring负责依赖...

    SpringMVC-11 文件上传

    在本教程"SpringMVC-11 文件上传"中,我们将深入探讨如何使用Spring MVC来实现这一功能,特别是借助Apache Commons库中的`CommonsMultipartResolver`组件。 **一、MultipartResolver的角色** 在Spring MVC中,`...

    SpringMVC之请求参数的获取方式.pdf

    在Spring MVC框架中,处理HTTP请求参数是常见的任务,尤其是GET和POST请求。本文将详细介绍在Spring MVC中获取这两种请求参数...在实际应用中,还可以结合拦截器(Interceptor)和过滤器(Filter)进一步处理请求参数。

    spring mvc拦截器过滤json中的null值

    在`preHandle`方法中,我们可以读取请求体(request body),将其转换为JSON对象,然后遍历并替换null值为""(空字符串)。 ```java import org.springframework.web.servlet.HandlerInterceptor; import org....

    SpringMVC拦截器

    SpringMVC提供了一个名为`CharacterEncodingFilter`的过滤器,用于解决HTTP请求中的乱码问题。该过滤器通常被配置在`web.xml`文件中,或者通过Spring的配置类来配置。通过设置`CharacterEncodingFilter`的`encoding`...

    springmvc异步ajax请求

    在Spring MVC框架中,异步Ajax请求是一种常见的前端与后端交互方式,它允许Web应用在不刷新整个页面的情况下更新部分视图。这种方式极大地提升了用户体验,因为它减少了不必要的数据传输和页面渲染时间。以下是对这...

    解决springmvc项目中使用过滤器来解决请求方式为post时出现乱码的问题

    "解决springmvc项目中使用过滤器来解决请求方式为post时出现乱码的问题" Spring MVC 项目中,使用过滤器来解决请求方式为 POST 时出现乱码的问题是非常重要的。本文将详细介绍如何使用过滤器来解决这个问题,并给...

    springMVC实现多文件上传需要的jar

    它们负责解析多部分请求,将上传的文件数据转化为可以操作的对象。 3. **DispatcherServlet配置**:在Spring MVC应用中,需要在`web.xml`配置文件中配置`DispatcherServlet`,并启用多文件上传功能。这通常涉及设置...

    SpringMVC+Mybatis+Web配置文件详解

    过滤器(如CharacterEncodingFilter)则可以确保请求和响应的字符编码正确。 此外,可能还有Spring的全局配置文件`applicationContext.xml`,用于管理Bean的定义,包括Service层、DAO层以及一些工具类。在这里,...

    SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系

    在Java Web开发中,Spring MVC框架提供了两种机制来处理请求:拦截器(Interceptor)和过滤器(Filter)。它们都是在请求被控制器处理之前和之后执行的一系列预处理和后处理操作,但它们在功能、使用场景和工作原理...

    springmvc跨域处理和过滤器方式跨域处理主要代码

    Spring MVC提供了多种解决跨域问题的方法,其中两种常见的策略是使用CORS(Cross-Origin Resource Sharing)配置和Filter过滤器。 ### CORS配置 CORS是一种标准的W3C规范,它允许服务器放宽同源策略的限制。在...

    springmvc 拦截器

    9. **与其他过滤器的区别** 虽然拦截器与Servlet Filter在功能上有相似之处,但它们的执行时机和作用范围不同。Filter更底层,作用于所有请求,而拦截器只作用于Spring MVC的请求处理路径。 10. **最佳实践** - ...

    SpringMvc框架jar包及配置文件

    3. **web.xml**:Web应用的部署描述符,配置DispatcherServlet、过滤器、监听器等。 在使用SpringMvc.rar解压后的文件时,我们通常需要将其中的jar包添加到项目的类路径中,然后根据提供的配置文件进行相应的设置。...

    SpringMVC.pdf

    拦截器与过滤器是两个不同的概念,过滤器是在请求到达Servlet之前对请求或响应进行预处理或后处理的一种技术,而拦截器则是在SpringMVC框架内部通过反射机制实现的,能够更加精细地控制请求的处理。 在Web应用开发...

    SpringMVC参数收集及乱码处理.docx

    我们可以在 web.xml 文件中添加 Spring 字符编码过滤器,以处理所有请求地址的字符编码。例如: ```xml &lt;filter-name&gt;characterEncodingFilter &lt;filter-class&gt;org.springframework.web.filter....

    过滤器与过滤器

    在Java Web开发中,过滤器(Filter)和拦截器(Interceptor)是两种常见的处理请求和响应的机制。它们主要用于在请求被实际处理之前或之后执行某些预定义的任务,如认证、授权、数据转换、日志记录等。在这个基于...

Global site tag (gtag.js) - Google Analytics