Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 4
Регистрация: 25.05.2014
Сообщений: 115
1

Вызов метода вывода данных в сервлете

05.04.2016, 22:24. Показов 1581. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно вызвать метод Display. Какие аргументы ему задать?
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
43
44
45
46
47
48
49
import java.io.PrintWriter;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
import java.util.Map;
 
@WebServlet("/MyClass")
public class MyClass extends HttpServlet{
    private static final long serialVersionUID = 1L;
    public HashMap<Integer, String> table;
    public int key;
    public String value;
    
    public MyClass(int key, String value) {
        this.key=key;
        this.value=value;
        table.put(key,value);
       }
    
public void Display(HttpServletRequest request, 
           HttpServletResponse response)
                   throws ServletException, IOException
{
    PrintWriter writer=response.getWriter();
     Set set = table.entrySet();
     Iterator iterator = set.iterator();
     while(iterator.hasNext()) {
     Map.Entry value = (Map.Entry)iterator.next();
     writer.println("\n"+ value.getKey() + " "+ value.getValue());
     writer.close();
         
}
 
 
    }
public static void main(String[] args) {
    int a=3;
    String b="aaaa";
    MyClass table = new MyClass(a,b);
    table.Display();// не понимаю, как правильно вызвать этот метод
    
}}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2016, 22:24
Ответы с готовыми решениями:

Полиморфизм: вызов метода базового класса, переопределенного метода и нового метода
В базовом классе метод помечен как virtual. Насколько я понял из книги: override означает, что...

Вызов данных из метода другого класса
Добрый день! Подскажите пожалуйста, как решить поставленную самим собой задачу. Суть такова: есть...

Вызов метода и передача данных из одного класса в другой
Есть два класса, основной(Form1) и дополнительный(Class1). В дополнительном классе находится метод,...

Вызов методов классов друг у друга (вызов метода из другого класса)
Есть несколько классов, которые могут вызывать методы (функции) друг у друга. Логика: класс1 имеет...

15
Эксперт Java
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
05.04.2016, 22:42 2
Blue_Jeans, какой смысл делать сервлет и потом из мейна его вызывать? Он не для того существует.
0
0 / 0 / 4
Регистрация: 25.05.2014
Сообщений: 115
05.04.2016, 22:57  [ТС] 3
Проблема в том, что мне нужно реализовать его с применением ооп. Рабочая версия имела такой вид
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
import java.io.PrintWriter;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
import java.util.Map;
 
public class MyClass extends HttpServlet {
  private static final long serialVersionUID = 1L;
    public MyClass() {
        super();
       }
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          PrintWriter writer = response.getWriter();
          HashMap<Integer, String> hmap=new HashMap<Integer, String>();
          hmap.put(1, "First");
          hmap.put(2, "Second");
          hmap.put(3, "Third");
          hmap.put(4, "Fourth");
          hmap.put(5, "Fifth");
          Set set = hmap.entrySet();//доступ к данным ключ-значение
          Iterator iterator = set.iterator();//возвращает итератор по коллекции
          while(iterator.hasNext()) {
             Map.Entry value = (Map.Entry)iterator.next();
            writer.println("\n"+ value.getKey() + " "+ value.getValue());
            
          }
            }
 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }
 
}
0
Эксперт Java
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
05.04.2016, 23:01 4
Цитата Сообщение от Blue_Jeans Посмотреть сообщение
Проблема в том, что мне нужно реализовать его с применением ооп
причем тут это?
0
0 / 0 / 4
Регистрация: 25.05.2014
Сообщений: 115
05.04.2016, 23:05  [ТС] 5
Как бы у меня есть рабочий сервлет(второй). Но его нужно переделать с применением конструктора и метода Display. Я не понимаю, как это сделать.
0
Эксперт Java
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
05.04.2016, 23:13 6
Blue_Jeans, main для этого создавать ненужно. Сервлеты вызывается в ответ на запрос пользователя. Откуда должны приходить параметры конструктора? Они нужны вообще?
0
0 / 0 / 4
Регистрация: 25.05.2014
Сообщений: 115
05.04.2016, 23:21  [ТС] 7
Мне нужно вывести значения таблицы HashMap по запросу. Я делала вывод сразу при загрузке странички. По сути, можно без него, так, как задания ввести данные передо мной не стоит.
0
Эксперт Java
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
06.04.2016, 07:36 8
Цитата Сообщение от Blue_Jeans Посмотреть сообщение
Мне нужно вывести значения таблицы HashMap по запросу.
запросу откуда? Как приходит запрос и куда должен быть выведен ответ?
0
0 / 0 / 4
Регистрация: 25.05.2014
Сообщений: 115
08.04.2016, 00:03  [ТС] 9
Вот. При нажатии на кнопку на страничке должны отобразится данные с HashMap. Но сервлет не работает(
HTML5
1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="width=device-width, initial-scale=1.0"> 
</head> 
<body> 
<form action="MyServlet"  method="POST"> 
<input type="submit" value="Вывести данные"> 
</form> 
</body>
</html>
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
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet{
    private static final long serialVersionUID = 1L;
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
           
    }
 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      
    }
    public void Base(){
        
           String a = "ABC";
            String b ="abc";
            Table t = new Table(a,b);
            t.Display();}
 
    }
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
import static java.lang.System.out; 
import java.util.HashMap; 
import java.util.Iterator; 
import java.util.Map; 
import java.util.Set; 
 
public class Table { 
public HashMap<String,String> table; 
public String key; 
public String value; 
public Table(String key,String value){ 
this.key=key; 
this.value=value; 
table.put(key, value); 
} 
public void Display(){ 
Set set = table.entrySet(); 
Iterator iterator = set.iterator(); 
while(iterator.hasNext()) { 
Map.Entry mentry = (Map.Entry)iterator.next(); 
out.print("Фамилия: "+ mentry.getKey() + " Имя: "); 
out.println(mentry.getValue()); 
 
} 
} 
}
0
Эксперт Java
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
08.04.2016, 01:49 10
Blue_Jeans, метод Base() у вас нигде не вызывается
0
0 / 0 / 4
Регистрация: 25.05.2014
Сообщений: 115
08.04.2016, 07:05  [ТС] 11
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
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet{
    private static final long serialVersionUID = 1L;
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
           MyServlet m= new MyServlet();
        m.Base();
    }
 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      
    }
    public void Base(){
        
           String a = "ABC";
            String b ="abc";
            Table t = new Table(a,b);
            t.Display();}
 
    }
Сервлет запускается, но ничего не делает.
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
08.04.2016, 07:49 12
может воспользоваться JS'ом?
вещаете на кнопку событие, тот делает запрос к сервлету, дальше сервлет собирает инфу и передает в любом виде обратно. у Вас будет асинхронный запрос и одна страница...
0
Эксперт Java
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
08.04.2016, 09:37 13
Цитата Сообщение от Blue_Jeans Посмотреть сообщение
MyServlet m= new MyServlet();
* * * * m.Base();
может вам рано сервлеты пока? Основы бы неплохо подучить. Зачем вы создаете объект класса MyServlet?

Добавлено через 2 минуты
asus, ТС не осилил самую базовую ф-циональность а вы ему про JS
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
08.04.2016, 09:48 14
KEKCoGEN, может Вы правы... в соседнем теме тоже такая ситуация... к сожалению...
0
0 / 0 / 4
Регистрация: 25.05.2014
Сообщений: 115
09.04.2016, 19:32  [ТС] 15
Код не работает и так(
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
import java.util.HashMap; 
import java.util.Iterator; 
import java.util.Map; 
import java.util.Set; 
 
public class Table { 
public HashMap<String,String> table; 
public String key; 
public String value; 
public Table(String key,String value){ 
this.key=key; 
this.value=value; 
table.put(key, value); 
} 
public  String  Display(){ 
String a = null;
Set set = table.entrySet(); 
Iterator iterator = set.iterator(); 
while(iterator.hasNext()) { 
Map.Entry mentry = (Map.Entry)iterator.next(); 
a =("Номер: "+ mentry.getKey() + " Имя: " + mentry.getValue()); 
 
}
return a;
 
 
 
 
 
} 
}
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
package com.testing;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
@WebServlet("/Servlet")
public class Servlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
   
    public Servlet() {
        super();
        // TODO Auto-generated constructor stub
    }
 
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
            String a = "ABC";
            String b ="abc";
            Table t = new Table(a,b);
         
            String c = t.Display();
            PrintWriter out = response.getWriter();
            out.println(c);
        
    }
 
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
         
    }
 
}
0
15 / 15 / 3
Регистрация: 20.05.2014
Сообщений: 157
12.04.2016, 20:06 16
надо читать лог сервера что именно не работает
0
12.04.2016, 20:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2016, 20:06
Помогаю со студенческими работами здесь

Вызов метода, ожидающего завершение другого метода
Имеется процедура Proc. Я её вызываю в Button. Только вот программа, не дожидаясь завершения...

Вызов метода агрегата из метода агрегируемого класса
Есть класс-агрегат Game function Game() { this.game_map = null; // другие члены } ...

Вызов переменной метода из другого метода
class A(): def m(self): number = x #переменный параметр - номер заявки,...

Вызов переменной метода A из метода В
Добрый день. Подскажите как происходит вызов Например даны два класс А и В, в каждом классе есть...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru