Pull to refresh

Comments 36

Интересно, спасибо. Как раз сегодня выложу очередную «чашку», про сервлеты :)
UFO just landed and posted this here
Всегда с удовольствием читаю ваши чашки! :)
а почему какие-то странные и томкато-ориентированные валвы, можно ли сделать обычный фильтр?
Пробовал. У меня не получилось.

В фильтр передается ServletResponse, а у него невозможно получить куки. Т.е. и подменить их не удалось.
Чего то не понял как через фильтры не получилось, там же и request тоже есть.
Нужно взять у response (т.е. исходящие) куки и если среди них есть JSESSIONID, установить в этой куке правильный домен.

Но в фильтр передается объект ServletResponse у которого невозможно получить установленные в нем куки.

Возможно я что-то упустил, но с Фильтром у меня ничего не получилось
а если попробовать добавить куку таким образом?

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain){

HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.addCookie(...);
UFO just landed and posted this here
Что указать?

Вот строка создающая ту самую куку (из исходников Томката):

Cookie cookie = new Cookie(Globals.SESSION_COOKIE_NAME, session.getIdInternal());

имя домена просто не указывается.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Ох уж этот томкат. Может кто-нибудь смог «научить» Tomcat 5.5 понимать UTF-8 GET-ы? У меня — ничего не вышло.
Гугл и wiki.apache.org/tomcat/Tomcat/UTF-8 — не предлагать =)

Понял, что там все непросто, когда увидел в исходниках коммент:

/** Default encoding used to convert to strings. It should be UTF8,
as most standards seem to converge, but the servlet API requires
8859_1, and this object is used mostly for servlets.
*/
public static final String DEFAULT_CHARACTER_ENCODING=«ISO-8859-1»;
есть в настройках такой элемент как Context, так вот в этом элементе указать атрибут encodingURI=«UTF-8».
Ой, ошибся надо в server.xml вот так сделать />
в элементе Connector прописываем атрибут URIEncoding=«UTF-8», коннектор должен быть для того порта который принимает запросы
Мда ребят… Вот смотрю я на эти танцы с явой, и как же рад что выбрал путь PHP :)
UFO just landed and posted this here
Решение типовой задачи должно быть простым и лаконичным.
UFO just landed and posted this here
«… можно было бы просто написать...»

если совсем быть точным написать надо:

if(cc != null) {
for(Cookie i: cc)
if(Globals.SESSION_COOKIE_NAME.equals(i.getName()))
return i;
}

именно из за этого первый вариант мне нравится больше :)

UFO just landed and posted this here
да это понятно, но так меньше строк получается :)
Параметр emptySessionPath говорит что кука сессии ставится на путь "/". Это позволяет использовать одну сессию в разных контекстах одного домена.

Задача же — использовать одну сессию для разных доменов. Для этого и бубен.

Может кто-нибудь знает как заставить два приложения томкета (два контекста) рабьотать с одной сессией
т.е чтобы localhost/context1/* и localhost/context2/* имели один jsessionid?

На один камент вверх посмотрите :))

>> Параметр emptySessionPath говорит что кука сессии ставится на путь "/".
>> Это позволяет использовать одну сессию в разных контекстах одного домена.

>> Задача же — использовать одну сессию для разных доменов. Для этого и бубен.
проблема в том что мы не можем использовать cookie, jsessionid передается в url
(wap)
вернее проблема не в самом jsessionid, а в том что сессии в любом случае разные у разных приложений,
объекты в одной сессии не видны в другой и наоборот. нет ли какого механизма поддержки
общего хранилища сессий?
Вроде есть. Но деталей не знаю…

попробуйте в web.xml вписать

… в web.xml вписать

<Context distributable=«true» />
У нас эта проблема решилась с после добавления в контекст атрибута crossContext=«true»
А у нас и так стоял этот атрибут в обоих контекстах,
хотя я не знал что он значит…

А больше ничего не требуется?
У вас и правда оба приложения имеют общую сессию и видят объекты в сессии, которые
туда положило каждое из них?

Sign up to leave a comment.

Articles