Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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 上载文件时,文件路径附近出现空指针异常_Java_Struts2 - Fatal编程技术网

Java 上载文件时,文件路径附近出现空指针异常

Java 上载文件时,文件路径附近出现空指针异常,java,struts2,Java,Struts2,这里我使用struts2上传文件,当我要上传文件时,字符串文件路径附近出现空指针异常,任何人都可以帮我解决这个问题…我想找到我上传的文件的扩展名 public class ImportAction extends ActionSupport implements ServletRequestAware { public File getUploadfile() { return uploadfile; } public

这里我使用struts2上传文件,当我要上传文件时,字符串文件路径附近出现空指针异常,任何人都可以帮我解决这个问题…我想找到我上传的文件的扩展名

 public class ImportAction extends ActionSupport implements ServletRequestAware {

        public File getUploadfile() {
            return uploadfile;
        }

        public String getUploadFileName() {
            return uploadFileName;
        }

        public void setUploadFileName(String uploadFileName) {
            this.uploadFileName = uploadFileName;
        }

        public void setUploadfile(File uploadfile) {
            this.uploadfile = uploadfile;
        }
        private static final long serialVersionUID = 1L;
        private LoginBean bean;
        private File uploadfile;

        public String getFileContentType() {
            return fileContentType;
        }

        public void setFileContentType(String fileContentType) {
            this.fileContentType = fileContentType;
        }
        private String uploadFileName;
        private String fileContentType;
        private HttpServletRequest servletRequest;
        RegisterDAO dao = new RegisterDAO();

        public LoginBean getBean() {
            return bean;
        }

        public void setBean(LoginBean bean) {
            this.bean = bean;
        }

        /**
         *
         * @return
         * @throws
         * Exception
         */
        @SuppressWarnings("unchecked")
        @Override
        public String execute() throws Exception {
            try {
                String filePath = servletRequest.getSession().getServletContext().getRealPath("/");
                System.out.println("Server path:" + filePath);
                File fileToCreate = new File(filePath, this.uploadFileName);
                FileUtils.copyFile(this.uploadfile, fileToCreate);
            } catch (Exception e) {
                e.printStackTrace();
                addActionError(e.getMessage());
                return INPUT;
            }
            Model m = new Model();
            String result = m.fileimport(uploadfile, uploadFileName);
            if (result.equals(SUCCESS)) {
                return SUCCESS;
            } else {
                addActionError(getText(result));
                return "failure";
            }
        }

        @Override
        public void validate() {
            System.out.println("inside validate of LA");
        }

        @Override
        public void setServletRequest(HttpServletRequest servletRequest) {
            this.servletRequest = servletRequest;
        }
    }

您的
servletRequest
很可能为null,因此它会导致null指针异常。您可能必须通过上下文初始化它。

这是错误的:

private File   uploadfile;
private String uploadFileName;
private String fileContentType;
应将其(连同设置器)更改为:


.

字段名称错误。改为

private File uploadfile;
private String uploadfileFileName;
private String uploadfileContentType;

//getters & setters

您是否获得了有效/非null的servletRequest对象?很抱歉,我没有收到此评论,谢谢。请检查您的servletRequest对象是否非null。如果检查,请尝试输入null。您正在讲述此正确的私有HttpServletRequest servletRequest;谢谢……您是否尝试过
servletRequest.getContextPath().getRealPath(“/”)
??@Andrea您刚刚错过了,名称是
uploadfile
,因此其他参数将是
UploadFileFileFileFileName
uploadfileContentType
,因为您甚至没有,或者@白痴:你说得对,接得好。我仍然更喜欢上传,或者文件上传(camelCased),以避免像
uploadfilefilefilename
这样的丑陋。
private File uploadfile;
private String uploadfileFileName;
private String uploadfileContentType;

//getters & setters