Желательно ли приводить HttpSession как ClientSession в Java? Какова лучшая практика? - PullRequest
1 голос
/ 23 июня 2009

Вопрос, само собой разумеется, я думаю. Вот что я делаю:

Student student = Student.findStudent(s.getRegNumber(), (ClientSession)httpSesn);

Метод findStudent () возвращает мне объект класса Student. Как вы можете видеть, я использую объект HttpSession в ClientSession Желательно ли это? Есть ли у них какие-то скрытые загадки? Каковы лучшие практики?

Ответы [ 2 ]

1 голос
/ 23 июня 2009

Итак, я предполагаю, что вы запускаете этот код на сервере приложений, а это строка из сервлета. Поскольку HttpSession не обязательно наследуется или реализуется ClientSession в спецификации Java EE (если я не пропустил что-то фундаментальное), код, вероятно, взорвется, когда вы запустите его на другом сервере (например, Glassfish, Tomcat или JBoss, если назвать несколько). ).

Кроме того, если вы попытаетесь макетировать объекты для тестирования, в Mocks будет реализован интерфейс HttpSession, а не интерфейс ClientSession. Это даст вам ClassCastException.

0 голосов
/ 14 мая 2010

Я не думаю, что есть вещь под названием ClientSession. Это класс, который вы разработали? Но вопрос в том, зачем приводить httpSesn в ClientSession? Почему бы не передать httpSesn непосредственно в метод и использовать getAttribute?

...