2012-01-01 2 views
3

Im в настоящее время читает «Весна в действии» 3-е издание и экспериментирует с Spring MVC. Все работает хорошо, пока я не попытался «перенести» мой пример webapp на безстоящий Webapp.Stateless Spring MVC

Чтобы определить, будет ли создан объект сеанса, я поместил сервлет фильтр отладки на /* отображения URL, который просто распечатать req.getSession(false) и продолжить цепочку.

Я попытался изменить всю область своих контроллеров, чтобы запросить наивность, но, конечно же, сеанс по-прежнему создается на странице/контроллере, который привязывает модель к форме. Интересно, как достичь безстоящей пружины MVC? Мне пока что не повезло в учебниках по этому вопросу.

+1

Почему это имеет значение? Если в сеансе ничего не хранится, на самом деле имеет значение «немного» или «нет». Вы пытаетесь решить конкретную проблему? –

+0

@ Даве Ньютон: Нет, это не проблема. Мне просто интересно узнать, как сделать простой пример из книги полностью безгражданством, который, как я прочитал, может быть легче сгруппирован. – bertie

+1

Если в сеансе ничего нет, то репликация не имеет значения, за исключением незначительного (вероятно, очень) удара производительности. Это редкое приложение, которое, по моему опыту, абсолютно без гражданства. –

ответ

4

Убедитесь, чтобы все JSPs использовать

<%@page session="false" %> 

еще сеанс будет создан, как только казнены JSP.

+0

Хит джек-пот! Благодаря ! – bertie

+0

Здесь также указано: http://static.springsource.org/spring-security/site/faq.html#faq-unwanted-session-creation – bertie

1

Случайное создание сеанса является одним из наиболее распространенных источников недействительных отчетов об ошибках в Spring Security (следовательно, часто задаваемые вопросы, на которые вы ссылаетесь в своем комментарии выше).

Весна Безопасность debugging filter может быть полезна, если у вас возникли проблемы с созданием сеанса. Он будет автоматически регистрировать сообщение, когда будет создан сеанс, с помощью stacktrace, в котором это происходит. Он также предоставляет другую полезную информацию с более понятным для человека выводом, который содержит стандартные записи в журнале, поэтому полезен в среде разработки. Если вы используете поддержку пространства имен Spring Security, вам просто нужно добавить элемент

<debug /> 

в вашу конфигурацию.

+0

Спасибо! До свидания к моему сеансовому отладчику сервлет-фильтра :) – bertie