我是用fileupload控件上传照片的,在jsp页面中按了提交后就出现java.lang.NullPointerException,路径为空。
下面是错误提示java.lang.NullPointerException
at util.UploadImage.uploadPhoto(UploadImage.java:48)
at servlet.AddAlbumServlet.doPost(AddAlbumServlet.java:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)UploadImage.java:48:Iterator  fileitor = filelist.iterator();
AddAlbumServlet.java:50: int uploadflag = uri.uploadPhoto();

解决方案 »

  1.   

    我是新手,在UploadImage.java:48前面一行设置断点,没有发现异常啊,不知道哪里出错了
      

  2.   

    楼主在后台是否得到文件?
    得不到那是不是前台jsp写错了
      

  3.   

    发现问题了,是页面获取account为空,出现D:\MyBlog\WebRoot\PhotoAlbum\null\album,我的路径是这样的
    String account = (String) session.getAttribute("account");
    String uploadpath = this.getServletContext().getRealPath("")+"\\PhotoAlbum\\"+account+"\\album";
    现在就是不知道怎么在jsp里面获取account
    我是新手,希望高手多多指教!感激不尽!
      

  4.   

    你这个思路是有问题的,你是想获取图片的路径,但是这个路径是相对于客户机而言的,你读取这个路径时是对你本机来说的。你只有本地测试的时候才是可行的。你应该使用ServletFileUpload解析多段提交,得到FileItem,然后new一个File(),使用FileItem的write方法得到提交的图片。
      

  5.   

    session.getAttribute("account") why request.getAttribute("account")ok 而且楼上面说的及时 你用的绝对路径 客户端不是本机是无法获取到图片的