您的位置:首页 > 编程语言 > Java开发

struts2 报错:java.lang.NullPointerException: Source must not be null

2015-08-21 20:34 736 查看
今天使用strut2+ajax进行异步上传时出错,控制台没有打印信息,ajax回调函数中alert返回值得到如下信息,大概就是空指针的意思。

实际上是上传的input name值和action变量名不一致造成。input name为myfile,变量为myFile.

最主要的还不是这个,变量可以不一样,重要的是set方法。setter和getter方法是自动生成的,set方法应该是setMyfile,然而生成的是setMyFile,找不到对应的set方法了,自然报错了。这个错误也是太难找了。

一个字母的大小写造成的错误!注意这个地方!

HTTP Status 500 -

type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception java.lang.NullPointerException: Source must not be null

org.apache.commons.io.FileUtils.copyFile(FileUtils.java:761)

org.apache.commons.io.FileUtils.copyFile(FileUtils.java:731)

com.etoak.action.UploadAction.execute(UploadAction.java:44)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

java.lang.reflect.Method.invoke(Method.java:606)

com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450)

com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252)

org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)

org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:239)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:239)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:325)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:161)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)

org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)

org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:563)

org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.6 logs.

Apache Tomcat/7.0.6

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: