Primefaces ошибка NullPointerExceptio

139
12 октября 2019, 22:40
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://xmlns.jcp.org/jsf/html"
  xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
  xmlns:f="http://xmlns.jcp.org/jsf/core" 
  xmlns:p="http://primefaces.org/ui">
     <h:form enctype="multipart/form-data">
         <p:fileUpload  value="#{someBean.uploadedFile}" mode="simple" />
         <p:commandButton value="Upload" action="#{someBean.upload}" ajax="false"/>
     </h:form>
</html>

Код

package web;
import org.primefaces.model.UploadedFile;

import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
@Named
@RequestScoped
public class SomeBean implements Serializable {
    private UploadedFile uploadedFile; // +getter+setter
    public void upload() {
        String fileName = uploadedFile.getFileName();
        String contentType = uploadedFile.getContentType();
        try {
            InputStream inputStream = uploadedFile.getInputstream();
            FileOutputStream outputStream = new FileOutputStream("Example.pdf");
            byte[] buffer = new byte[inputStream.available()];
            inputStream.read(buffer, 0, buffer.length);
            // записываем из буфера в файл
            outputStream.write(buffer, 0, buffer.length);
            inputStream.close();
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public UploadedFile getUploadedFile() {
        return uploadedFile;
    }
    public void setUploadedFile(UploadedFile uploadedFile) {
        this.uploadedFile = uploadedFile;
    }
}

Подскажите пожалуйста почему при добавлении PDFа на задеплоином приложении получаю NullPointerException.Спасибо.

Answer 1

Код рабочий, загрузка и сохранение файла проходит без ошибок. Скорее всего, проблема с настройками веб-приложения. Проверьте, чтобы при старте сервера и приложения в логах не было ошибок, например ClassNotFoundException. Проверьте конфигурацию в web.xml, прилагаю вариант, на котором тестирование прошло успешно:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<welcome-file-list>
    <welcome-file>/index.xhtml</welcome-file>
</welcome-file-list>
<context-param>
    <param-name>primefaces.UPLOADER</param-name>
    <param-value>commons</param-value>
</context-param>
<listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<filter>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
</web-app>

Если ошибка повторится, добавьте лог стектрейса в вопрос.

READ ALSO
Unable to find explicit activity class have you declared this activity in your AndroidManifest.xml?

Unable to find explicit activity class have you declared this activity in your AndroidManifest.xml?

Пробую сделать recycling view, но столкнулась с такой ошибкой

130
Как задать тип данных столбца при создании столбца в JTable?

Как задать тип данных столбца при создании столбца в JTable?

Хочу при создании столбца по нажатии кнопки из ComboBox выбирать тип данных в столбце, но не могу найти ни свойство, ни методПодскажите, как менять...

150
В чем разница между методами map и flatMap в Java 8?

В чем разница между методами map и flatMap в Java 8?

Чем отличаются методы Streammap и Stream

119
Помогите пожалуйста

Помогите пожалуйста

Всем доброго времени сутокЯвляясь полнейшим профаном в программировании в целом я наткнулся на сайт http://strolen

131