Форум программистов, компьютерный форум, киберфорум
Наши страницы

Java EE (J2EE)

Войти
Регистрация
Восстановить пароль
 
Flamе
9 / 9 / 0
Регистрация: 25.10.2009
Сообщений: 152
#1

Получить атрибут запроса после его выполнения - Java EE

11.01.2013, 01:23. Просмотров 1016. Ответов 4
Метки нет (Все метки)

Привет) такая проблема, есть сервлет, который загружает на сервер картинку, выбранную пользователем. внутри сервлета в методе doPost выполняется такая строчка:
Java
1
request.setAttribute("fileName", fname);
Теперь на странице jsp идёт вызов метода Post, после чего я пытаюсь извлечь атрибут fileName:
HTML5
1
2
3
4
5
6
7
8
<form name="uploadFileForm" method="POST" action="/load" enctype="multipart/form-data">
        <table>
            <tr><td><input type="file" name="file" size="30" /></td></tr>
            <tr><td><input name="uploadButton" type="submit" value="Загрузить файл"/></td></tr>
        </table>
        <%--<h:graphicImage value="pictures/<%=request.getAttribute("imgName")%>" />--%>
 
        <img src="pictures/<%=request.getAttribute("imgName")%>" width="100" height="100" >
но видимо последняя строка выполняется ещё до того, как выполнился метод doPost, в результате никакой картинки нет... Что делать? помогите пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2013, 01:23
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Получить атрибут запроса после его выполнения (Java EE):

Stateful session bean. Для чего нужен Timeout и что делать после его выполнения - Java EE
Добрый день. У меня такой вопрос. Начну сразу с простого кода одного ejb и сопутствующего Servlet ejb @Stateful ...

Как получить результата cgi запроса? - Java
Всем привет. Вопрос: Например есть такой url: http://www.somesite.ru/cgi-bin/forum/forum9.cgi?page=1&amp;ask=173465 Если попытаться...

Загрузка апплета в браузер после запроса к сервлету. - Java
есть кусок программы с сервлетом и апплетом. Загружаем сервлет в среде разработки(JBuilder) и потом в браузере(IExplorer) прописываем:...

Помогите получить значение после выполнения запроса - C# ASP.NET
Set Conn = Server.CreateObject('ADODB.Connection') Set rs = server.createobject('adodb.recordset') Conn.Provider =...

Кодировка после выполнения запроса - Java БД
Имеется таблица CREATE TABLE `gtd` ( `ND` char(23) NOT NULL DEFAULT '', `G31_1` varchar(7500) DEFAULT NULL ) ENGINE=MyISAM...

Вывод сообщения после выполнения запроса - PHP БД
Здравствуйте! Прошу помочь: Нужно чтобы запрос сравнивал наличие в БД определенного номера документа и выдавал сообщение либо о его...

4
raiderx
66 / 55 / 2
Регистрация: 16.04.2010
Сообщений: 190
Записей в блоге: 1
11.01.2013, 11:37 #2
Я думаю, Вы разные атрибуты устанавливаете и потом читаете.
0
Flamе
9 / 9 / 0
Регистрация: 25.10.2009
Сообщений: 152
11.01.2013, 12:15  [ТС] #3
Цитата Сообщение от raiderx Посмотреть сообщение
Я думаю, Вы разные атрибуты устанавливаете и потом читаете.
ой, я извиняюсь)) просто строки вверху от руки писала, и название из головы взяла=) а потом скопировала код из программы и забыла поменять названия.

на самом деле в код написано так: в jsp
HTML5
1
2
3
4
5
6
7
8
    <form name="uploadFileForm" method="POST" action="/load" enctype="multipart/form-data">
        <table>
            <tr><td><input type="file" name="file" size="30" /></td></tr>
            <tr><td><input name="uploadButton" type="submit" value="Загрузить файл"/></td></tr>
        </table>
        <%--<h:graphicImage value="pictures/<%=request.getAttribute("imgName")%>" />--%>
 
        <img src="pictures/<%=request.getAttribute("imgName")%>" width="100" height="100" >
в сервлете:
Java
1
request.setAttribute("imgName", fileName);
0
raiderx
66 / 55 / 2
Регистрация: 16.04.2010
Сообщений: 190
Записей в блоге: 1
11.01.2013, 12:31 #4
Цитата Сообщение от Flamе Посмотреть сообщение
Теперь на странице jsp идёт вызов метода Post
Объясните, как Вы это понимаете? JSP формирует разметку в самом простом варианте.
Никакого "вызова метода Post" я не увидел в вашем коде.
Приведенный Вами фрагмент формирует HTML-форму. Эта форма отправляет изображение на сервер.
HTML-тэг <img ...> на этом этапе не к месту, так как изображение еще не загружено на сервер.

Только после того как оно будет выбрано пользователем, загружено на сервер, обработано Вашим сервлетом, его можно отобразить.

Цитата Сообщение от Flamе Посмотреть сообщение
Что делать?
Я вам советую сделать две страницы:
1) Страницы для загрузки изображения
2) Страница для отображения загруженного изображения

И еще: я надеюсь, атрибут imgName хранит только имя изображения, а не полный путь к локальному файлу?
А также это изображение доступно в браузере по ссылке вида: http://<ваш сервер>:<возможно порт>/<какой-то путь>/pictures/<имя изображения>
1
Flamе
9 / 9 / 0
Регистрация: 25.10.2009
Сообщений: 152
11.01.2013, 16:07  [ТС] #5
Цитата Сообщение от raiderx Посмотреть сообщение
Объясните, как Вы это понимаете? JSP формирует разметку в самом простом варианте.
Никакого "вызова метода Post" я не увидел в вашем коде.
Приведенный Вами фрагмент формирует HTML-форму. Эта форма отправляет изображение на сервер.
HTML-тэг <img ...> на этом этапе не к месту, так как изображение еще не загружено на сервер.

Только после того как оно будет выбрано пользователем, загружено на сервер, обработано Вашим сервлетом, его можно отобразить.


Я вам советую сделать две страницы:
1) Страницы для загрузки изображения
2) Страница для отображения загруженного изображения

И еще: я надеюсь, атрибут imgName хранит только имя изображения, а не полный путь к локальному файлу?
А также это изображение доступно в браузере по ссылке вида: http://<ваш сервер>:<возможно порт>/<какой-то путь>/pictures/<имя изображения>
да, imgName хранит только имя) спасибо большое!) через две страницы получилось) но почему то не все картинки отображаются, хотя формат у всех jpg. пока не поняла с чем это связано, но хорошо, что хоть какой-то сдвиг есть)

Добавлено через 6 минут
хотя поняла. те фотографии, которые я загружаю первый раз - не отображаются. потом если запустить приложение ещё раз и загрузить опять такую картинку, то она уже загружается...

Добавлено через 2 часа 49 минут
интересно, почему так?...такое ощущение,что HTML-тэг <img ...> либо начинает работать до того, как картинка сохранилась в папку pictures (хотя как-то это не логично, ведь сначала сервлет отрабатывает код, а потом уже тэг), либо этот тэг использует старую информацию о файлах в папке...
0
11.01.2013, 16:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2013, 16:07
Привет! Вот еще темы с ответами:

MS SQL Обновление первичного ключа после выполнения запроса - C#
У меня в классе есть такой метод: public void Delete(int id) { using (SqlCeConnection cn = new...

Освобождение памяти после выполнения SQL запроса - C#
Моя программа последовательно выполняет простые запросы к двум БД, извекая из них нужные записи. Не смотря на то, что из БД извекаются не...

Нет возврата после выполнения запроса к базе MySQL - PHP БД
Доброго времени суток! :) Пишу механизм авторизации (login). В качестве хранилища использую базу MySQL. Суть проблемы в том, что...

Вывод 3 столбцов с условиями после выполнения SQL запроса - Delphi БД
Помогите пожалуйста сделать запрос. with qqry do begin SQL.Clear; SQL.Add('SELECT SUM(PRICE) FROM OOC WHERE...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru