2015-08-13 4 views
0

У меня есть два сервлета, а именно: S1 и S2. S1 содержит переменную x строкового типа, S2 содержит переменную y строкового type.I есть метод m(x,y) реализован в классе C .Как могу я передать x или y к Servlet (S2 или S1) с использованием метода m(x,y)?Как передать значение с одного сервлета на другой сервлет?

+0

'request.setAttribute' –

+0

Остановить мышление при« прохождении ». Начните думать в «облаках» (область запроса, область сеанса и область приложения). Просто поместите данные в требуемую область и не проверите/возьмите данные. Продовольствие для чтения: http://stackoverflow.com/questions/3106452/how-do-servlets-work-instantiation-shared-variables-and-multithreading – BalusC

ответ

2

Вы можете установить атрибуты в запросе

request.setAttribute("attr",val); RequestDispatcher rd = request.getRequestDispatcher("servlet_path"); rd.forward(request,response);

+0

Точный ответ, уточните немного :) –

+0

Предположим, есть ли у нас сервлет S1 & S2, и мы хотим передать значение из S1 в S2, тогда в S1 мы будем писать выше код, а в S2 мы будем извлекать значение, используя 'request.getAttribute ("attr")' –

+0

Вначале спасибо, но у меня одно ясно. В сервлетах s1 у меня есть переменная «финал», я хочу перейти к сервлету s2, затем я: request.setAttribute («attr», финалы); RequestDispatcher rd = request.getRequestDispatcher («C:/Users/thesis/workspace/W7TurismoServer/src/packserver/S2»); rd.forward (запрос, ответ); S2 как я могу вспомнить «финал»? Еще раз спасибо. –

0

Пример из here:

URL yahoo = new URL("http://localhost:portnumber/context/urlpattern/s?x="+x+"&y="+y); 
    URLConnection yc = yahoo.openConnection(); 
    BufferedReader in = new BufferedReader(
          new InputStreamReader(
          yc.getInputStream())); 
    String inputLine; 

    while ((inputLine = in.readLine()) != null) 
     System.out.println(inputLine); 
    in.close(); 

С вашей точки зрения, сервлет просто URL на каком-то сервере. Что касается не ожидая ответа - читайте о потоках Java. Используйте приведенный выше код в методе m (x, y)

Смежные вопросы