我用了一个SmartUpload组件上传图片 抛出了如下异常信息 各位大哥帮小弟解决下啊
javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause java.lang.NullPointerException
com.jspsmart.upload.SmartUpload.initialize(SmartUpload.java:153)
com.ditian.sjjy.struts.action.PresumeAction.execute(PresumeAction.java:95)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
/****************************************************************/
jsp页面如下
<form name= "resume " method= "post " action= "presume.do " onsubmit= "return formcheck(); " >
上传个人照片: <input type= "file " name= "photo " id= "photo "/> <br>
验证码: <input type= "text " name= "check " id= "check "/> <img id= "randImage " src= "jspPage/image.jsp " />
<a href= "javascript:loadimage(); "> 看不清点我 </a>
<br>
<input type= "submit " value= "保存 " name= "ok " >
</form> /*******************************************************/
PresumeAction 上传代码如下
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {
PresumeForm presumeForm = (PresumeForm) form;// TODO Auto-generated method stub
SmartUpload sUpload=new SmartUpload();
String filedir= "upload/ ";
long maxsize=50*1024;//50kb
try {
sUpload.initialize((PageContext) PageContext);
sUpload.setMaxFileSize(maxsize);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
sUpload.upload();
sUpload.save(filedir,SmartUpload.SAVE_VIRTUAL); } catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause java.lang.NullPointerException
com.jspsmart.upload.SmartUpload.initialize(SmartUpload.java:153)
com.ditian.sjjy.struts.action.PresumeAction.execute(PresumeAction.java:95)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
/****************************************************************/
jsp页面如下
<form name= "resume " method= "post " action= "presume.do " onsubmit= "return formcheck(); " >
上传个人照片: <input type= "file " name= "photo " id= "photo "/> <br>
验证码: <input type= "text " name= "check " id= "check "/> <img id= "randImage " src= "jspPage/image.jsp " />
<a href= "javascript:loadimage(); "> 看不清点我 </a>
<br>
<input type= "submit " value= "保存 " name= "ok " >
</form> /*******************************************************/
PresumeAction 上传代码如下
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {
PresumeForm presumeForm = (PresumeForm) form;// TODO Auto-generated method stub
SmartUpload sUpload=new SmartUpload();
String filedir= "upload/ ";
long maxsize=50*1024;//50kb
try {
sUpload.initialize((PageContext) PageContext);
sUpload.setMaxFileSize(maxsize);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
sUpload.upload();
sUpload.save(filedir,SmartUpload.SAVE_VIRTUAL); } catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
里有 private FormFile file;// org.apache.struts.upload.FormFile
在你的PresumeAction 里没有拿到<input type= "file " name= "photo " id= "photo "/>的值