Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取Spring文件上载的异常_Java_Spring_Tomcat_Servlets - Fatal编程技术网

Java 获取Spring文件上载的异常

Java 获取Spring文件上载的异常,java,spring,tomcat,servlets,Java,Spring,Tomcat,Servlets,我在使用spring文件上传功能上传文件时遇到以下异常 正在尝试上载291 KB jpg文件 对于小于50KB的文件,它可以正常工作。下面是bean条目 <bean id="fileUploadController" class="com.businesscaliber.controller.FileUploadController"> <property name="commandClass" value="com.businesscaliber.bean.F

我在使用spring文件上传功能上传文件时遇到以下异常

正在尝试上载291 KB jpg文件

对于小于50KB的文件,它可以正常工作。下面是bean条目

<bean id="fileUploadController" class="com.businesscaliber.controller.FileUploadController">
        <property name="commandClass" value="com.businesscaliber.bean.FileUploadBean"/>
        <property name="formView" value="admin.do"/>
        <property name="successView" value="admin.do"/>
    </bean>

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- one of the properties available; the maximum file size in bytes -->
        <property name="maxUploadSize" value="100000"/>
    </bean> 
使用Spring2.0JAR的私有异常

 1782687 [http-localhost%2F127.0.0.1-9090-3] ERROR org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/businesscaliber].[businesscaliber]  - Servlet.service() for servlet businesscaliber threw exception
java.lang.StackOverflowError
    at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
    at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544)    2010-02-04 16:43:31,406 INFO  [STDOUT] a:544)

StackOverflowerError
显示了对
getSession()
进行递归调用的跟踪,这是由于请求通过servlet或筛选器错误调度,而servlet或筛选器之前在请求链中已被调用,从而导致它一次又一次地调用自身

实际上,我看不出这与上传文件有什么关系,可能Spring文件上传功能在内部将请求转发给某个特殊的servlet或过滤器,而这个servlet或过滤器恰好也包含在原始请求的相同
url模式中,因此事先已经调用过了


至少,您现在知道应该从何处着手解决特定问题。servlet或筛选器映射中存在歧义和递归。

“紧急”没有任何意义;这不是支持热线。我们需要2行以上的堆栈跟踪来诊断堆栈溢出。不幸的是,在堆栈跟踪变得有趣之前,您的日志已经截断了堆栈跟踪。您使用的是哪个版本的Tomcat和Spring?我使用的是Jboss4.0和Spring版本:2.0.1hi我用新的2.5 jar替换了旧的Spring jar,得到了与循环路径异常相同的错误
 1782687 [http-localhost%2F127.0.0.1-9090-3] ERROR org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/businesscaliber].[businesscaliber]  - Servlet.service() for servlet businesscaliber threw exception
java.lang.StackOverflowError
    at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
    at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544)    2010-02-04 16:43:31,406 INFO  [STDOUT] a:544)