powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / В одном .jsp две Загрузки файлов
10 сообщений из 10, страница 1 из 1
В одном .jsp две Загрузки файлов
    #37947751
tiro_java
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Прошу помощи разобраться, в java новичок.

у меня на странице находится две формы для загрузки файлов, одна для доков и другая для изображений
Проблема в том, что при нажатии на кнопку срабатывает только самый первый сервлет (прописанный в коде самый первый), как можно решить эту проблему?

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<form name="fload" method="post" enctype="multipart/form-data"> 
Upload file:</a>&nbsp;<input type="file" name="filen" id="fileD" multiple="true"/> 
<input type="submit" value="Upload" name="BtnDoc" />
 
</form> 
... 
<form name="fload" method="post" enctype="multipart/form-data"> 
Upload file:</a>&nbsp; <input type="file" name="file[]" id="filename" multiple="true" /> 
<input type="submit" value="Upload" name="BtnImage" onClick="return btnupload('<%=request.getParameter("param")%>');"/> 
</form> 



и два сервлета
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
//IMAGE 
<% 
if(isMultipart) 
{ 
// --- upload --- 
File logImg = new File(mainDir + "upload-log.txt"); //log file 
FileWriter logWrit = new FileWriter(logImg, true); // создаём класс для (до)записи в файл 

//FileItemFactory factoryImg = new DiskFileItemFactory(); // Создаём класс фабрику (управлять параметрами обработки запроса) 
// ServletFileUpload uploadImg = new ServletFileUpload(factoryImg); //Создаём сам загрузчик файла 
List /*FileItem*/items_img = uploadImg.parseRequest(request); // Парсим запрос 
Iterator iterImg = items_img.iterator(); // Обрабатываем результат 
int i = 0; // получили список всех полей из html-формы 
while (iterImg.hasNext()) { 

... 
%> 


<% 
/* upload file */ 
int mode = 0; 
if(isMultipart) mode = 1; 
if(mode == 1){ 
FileItemFactory factory = new DiskFileItemFactory(); 
ServletFileUpload upload = new ServletFileUpload(factory); 
List /*FileItem*/ items = upload.parseRequest(request); 
Iterator iter = items.iterator(); 
while (iter.hasNext()) { 
}... 
%> [SRC java]
...
Рейтинг: 0 / 0
В одном .jsp две Загрузки файлов
    #37947760
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понятно чего вы хотите.
Одна JSP обрабатывает один запрос. Где тут два сервлета я не понял. Это две разные JSP?
Потом у вас в HTML две формы. Очевидно что каждая форма сабмитится самостоятельно.
Если нужно два файла отправить одновременно, то нужно одна форма с двумя file input.

Конкретезируйте задачи и объясните почему у вас именно такое решение. Почему две jsp? Почему две формы? Почему не указываете action?
...
Рейтинг: 0 / 0
В одном .jsp две Загрузки файлов
    #37947773
tiro_java
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот весь код содержит одна JSP. ранее было два файла, сейчас необходимо объединить.
По отдельности два файла работают, если код тупо скопировать в один JSP как я в принципе и сделал, то не отрабатывает загрузка Doc "/* upload file */ ". Только "image upload" (в коде загрузка самая первая идет). Doc и image загружаются в разные места на сервере, загрузка не нужна одновременная
...
Рейтинг: 0 / 0
В одном .jsp две Загрузки файлов
    #37947780
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tiro_javaЭтот весь код содержит одна JSP. ранее было два файла, сейчас необходимо объединить.
По отдельности два файла работают, если код тупо скопировать в один JSP как я в принципе и сделал, то не отрабатывает загрузка Doc "/* upload file */ ". Только "image upload" (в коде загрузка самая первая идет). Doc и image загружаются в разные места на сервере, загрузка не нужна одновременная
Понятнее не стало. Если нужно загружать отдельно, то анализируйте имя параметра и по нему определяйте куда сохранять файл.
...
Рейтинг: 0 / 0
В одном .jsp две Загрузки файлов
    #37947818
tiro_java
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все в одном JSP размещено, в виде двух вкладок, одна загруж. доки, вторая изобр. Подскажите где начать разбор чтобы разделить их работу, сейчас по нажатию на любую из submit отрабатыв код для изображений, для док кнопка не рабочая да и весь прописанный функционал.

А если так:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<div id="Вкладка_1" style="display: block;">                                   
<form name="fupload" method="post" enctype="multipart/form-data">
Upload file:</a>&nbsp;<input type="file" name="filename" id="fileDoc" multiple="true"/>
<input type="submit"  value="Upload" />
</form>
<form name="fuploadrw" method="post" action="?folder=<%=request.getParameter("folder")!=null?request.getParameter("folder"):""%>">
	   <input type="hidden" name="pathupload" id="pathupload" />
	   <input type="hidden" name="rwupload" id="rwupload" />
	</form>
</div>

<div id="Вкладка_2" style="display: none;">
<form name="fload" method="post" enctype="multipart/form-data">                                   
Upload file: <input type="file" name="file[]" id="filename" multiple="true" />
<input type="submit" value="Upload" onClick="return btnupload('<%=request.getParameter("IMG")%>');"/>
</form>
</div>



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
***************Загрузка Изображений*****************************
<%
String mDir  = "/serv/...";
String IMG = String.valueOf(request.getParameter("IMG"));
boolean isMultipartImg = ServletFileUpload.isMultipartContent(request);
if(isMultipartImg){
FileItemFactory factoryImg = new DiskFileItemFactory();  
        ServletFileUpload uploadImg = new ServletFileUpload(factoryImg); //Создаём сам загрузчик файла
        List /*FileItem*/items_img = uploadImg.parseRequest(request); // Парсим запрос
        Iterator iterImg = items_img.iterator(); // Обрабатываем результат
        int i = 0; 
      while (iterImg.hasNext()) {
}
}
...
%>
******************Загрузка Доков*******************************
<%
String folder = String.valueOf(request.getParameter("folder"));
boolean isMultipart = ServletFileUpload.isMultipartContent(request);

if(isMultipart){
FileItemFactory factory = new DiskFileItemFactory();
         ServletFileUpload upload = new ServletFileUpload(factory);
         List /*FileItem*/ items = upload.parseRequest(request);
         Iterator iter = items.iterator();
         while (iter.hasNext()) { ...
}
}
%>
<script>
                 var mes = confirm("...");
                 if(mes){
                    document.getElementById("pathupload").value = '<%=itemName%>';
                    document.getElementById("rwupload").value = 'true';
                    document.forms["fuploadrw"].submit();                  
                 }else{
                    document.getElementById("pathupload").value = '<%=itemName%>';
                    document.getElementById("rwupload").value = 'false';
                    document.forms["fuploadrw"].submit();              
                 }           
                 </script>
...
Рейтинг: 0 / 0
В одном .jsp две Загрузки файлов
    #37947858
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tiro_java,

Одна форма один запрос! Грузите файлы одной формой, в сервлете разбирайте где какой.
...
Рейтинг: 0 / 0
В одном .jsp две Загрузки файлов
    #37947988
pasha701
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В форме через атрибут "action" можно указать на какой сервлет отправлять:
Код: html
1.
<form action="servlet1">

http://htmlbook.ru/html/form/action
...
Рейтинг: 0 / 0
В одном .jsp две Загрузки файлов
    #37948042
tiro_java
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
<form name="1форма" method="post" enctype="multipart/form-data" action=" https://.../upload.jsp#_1">
<form name="2форма" method="post" enctype="multipart/form-data" action=" https://.../upload.jsp#_2">

Код: html
1.
2.
3.
4.
<ul class="вкладки">
     <li><a href="#_1" id="tab_1" >Doc</a></li>
     <li><a href="#_2" id="tab_2" >Img</a></li> 
</ul>
...
Рейтинг: 0 / 0
В одном .jsp две Загрузки файлов
    #37948083
tiro_java
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите,
может ли быть два класса фабрики?? в одной jsp или можно создать один общий - класс фабрика FileItemFactory имя = new DiskFileItemFactory(); // управляет параметрами обработки запроса
...
Рейтинг: 0 / 0
В одном .jsp две Загрузки файлов
    #37948108
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tiro_java,
если кликнуть на submit кнопки, то идёт полная перезагрузка окна html.
Либо делай с AJAX без субмит, либо разные окна-формы либо ....
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / В одном .jsp две Загрузки файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]