Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает сеанс в связке апплет-сервлет, Не работает сеанс в связке апплет-сервле 
:(
    Опции темы
Hopeless
Дата 12.7.2006, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 12.7.2006

Репутация: нет
Всего: нет



 Не понимаю почему все время создается новый сеанс в сервлете. 
Код сервлета ниже:
Код

package Servlet1;
import java.io.*;

import javax.servlet.ServletException;
import javax.servlet.http.*;

public class EchoServlet extends HttpServlet {
        public void doPost(
                HttpServletRequest request,
                HttpServletResponse response)
                throws ServletException, IOException {

              HttpSession session = request.getSession(true);
              System.out.println(session.isNew());
              if (session.isNew()) session.invalidate();
              
              OutputStream outstr = response.getOutputStream();
              ObjectOutputStream oos = new ObjectOutputStream(outstr);

                try {
                        response.setContentType("application/x-java-serialized-object");

                        InputStream in = request.getInputStream();
                        ObjectInputStream inputFromApplet = new ObjectInputStream(in);
                        String echo = (String) inputFromApplet.readObject();

                        oos.writeObject(echo);

                } catch (Exception e) {
                        e.printStackTrace();
                }
                oos.flush();
                oos.close();
        }
}

Код апплета где происходит вызов сервлета:
Код

        private URLConnection getServletConnection()
                throws MalformedURLException, IOException {

                URL urlServlet = new URL("http://localhost:8083/WebModule1/echoservlet");
                URLConnection con = urlServlet.openConnection();

                con.setDoInput(true);
                con.setDoOutput(true);
                con.setUseCaches(false);
                con.setRequestProperty(
                        "Content-Type",
                        "application/x-java-serialized-object");

                return con;
        }

        private void onSendData() {
                try {
                        String input = inputField.getText();

                        URLConnection con = getServletConnection();
                        OutputStream outstream = con.getOutputStream();
                        ObjectOutputStream oos = new ObjectOutputStream(outstream);
                        oos.writeObject(input);
                        oos.flush();
                        oos.close();

                        InputStream instr = con.getInputStream();
                        ObjectInputStream inputFromServlet = new ObjectInputStream(instr);
                        String result = (String) inputFromServlet.readObject();
                        inputFromServlet.close();
                        instr.close();

                        outputField.setText(result);

                } catch (Exception ex) {
                        ex.printStackTrace();
                        exceptionArea.setText(ex.toString());
                }
        }
 
PM MAIL   Вверх
Tony
Дата 12.7.2006, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Ты имееш в виду по4ему создаётся каждий раз новая сессия?Тоесть по4ему сервер определает его как нового клиента а не как сессионного?Это? 


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Hopeless
Дата 12.7.2006, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 12.7.2006

Репутация: нет
Всего: нет



Угу. smile  
PM MAIL   Вверх
Tony
Дата 12.7.2006, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Ех...Я не специалист по appletam скорее всего ето из-за.Каро4е  происходит конект к серверу тот сбрасывает cooki,e но не простие cookie a сессию.Т.к у тебя не browser каторий хранит етот волшбний cookie(session cookeie) а апплет поетому когда просходит 2,3,4 коннект сервер не  чего не получает(session cookie) от клиента-апплета.Поэтому каждый раз создаётся новая сессия.Вот.Но как это решить другой вопрос.Какимто хреном нужно полу4ать(1 raz polu4it') и отсилать cookie-session.Попробуй не 4ерез URLConnection а 4ерез jakarta http client.To4no ne pomnu ,но там была работа с сессией. 


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0647 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.