Изображение в JSP и блоге

#java #image #jsp #weblogic

Вопрос:

Контекст

Я разрабатываю реализацию, и у меня проблема с визуализацией изображения, вы увидите весь проект, у меня он есть в локальном сервисе в Weblogic, мой путь, например:

 / home / user / user_projects / domains / project
 

И я пытаюсь сделать логин с изображением логотипа, у меня есть это изображение в пути:

 /home/user/user_projects/domains/project/img/logo.png
 

И я не привожу изображение с этого пути, у меня есть таблица свойств в базе данных, свойство pathImgLogo и значение /home/user/user_projects/домены/проект/img/логотип.png

Я извлекаю это изображение в файл с именем login.jsp следующим образом:

 String pathLogo = String.valueOf(ConfigurationListener.getInstance().GetPropertyValue("pathImgLogo"));
 

И чтобы иметь возможность видеть изображение, я работаю с байтами и читаю их следующим образом:

 File file = new File (pathLogo);
byte [] byteArray = new byte [(int) file.length ()];
FileInputStream fileIS = new FileInputStream (file);

fileIS.read (byteArray);
response.reset ();
response.setContentType ("image / png"); response.setContentLength (byteArray.length);
OutputStream os = response.getOutputStream ();
 

Все вышесказанное находится в файле logo.jsp, как и в этом примере:

 <%
    String pathLogo = String.valueOf(ConfigurationListener.getInstance().getPropertyValue("imgLogoLogin"));
    try {
        File file = new File(pathLogo);
        byte[] byteArray = new byte[(int) file.length()];
        FileInputStream fileIS = new FileInputStream(file);
        fileIS.read(byteArray);
        response.reset();
        response.setContentType("image/png");
        OutputStream os = response.getOutputStream();
        os.write(byteArray);
        os.flush();
        os.close();
        return;

                } catch(IOException e) {
        out.println("Error: "   e);
    }
%>
 

В моем файле под названием «login.jsp» есть моя форма входа в систему, а также тег img, подобный следующему:

 <img src="logo.jsp" alt="Error loading logo">
 

Стоит отметить, что мои файлы logo.jsp и «login.jsp» находятся в одном каталоге

 WEB-INF / jsp /
 

Отображение входа в систему
Изображение ошибки не удалось загрузить

Комментарии:

1. Во-первых: почему бы просто не включить изображение в веб-приложение как обычно? Во-вторых, JSP не является отличной технологией для записи двоичных форматов, поскольку она имеет тенденцию выводить непреднамеренные пробелы. Если вам действительно нужно «динамичное» изображение, обычно лучше написать a Servlet . Наконец, если вы загружаете содержимое logo.jsp using curl или аналогичное, как это выглядит? Возможно, вы могли бы прикрепить или связать его с вопросом?

2. Спасибо вам за информацию, ! Изображение не прикреплено к проекту, как обычно, потому что оно предназначено для разных клиентов, и у них должна быть возможность изменить логотип входа в систему во время работы проекта. 🙁