Установка переменной в области приложения, чтобы она была общей для сеансов - PullRequest
3 голосов
/ 05 марта 2012

Я использую Struts2 с плагином Spring.Я хочу установить значение переменной, которая будет использоваться всеми различными сессиями.Это будет только одно строковое значение, но если один сеанс изменит его, я хочу, чтобы измененное значение было доступно для всех сеансов.

Каков будет лучший способ сделать это?Пример кода будет отличным.

Ответы [ 2 ]

5 голосов
/ 21 марта 2013

Вы можете сделать что-то подобное, используя Spring

package mypackage;  

import javax.servlet.ServletContext;  
import org.springframework.web.context.ServletContextAware;  

public class MYDataLoader implements ServletContextAware {  

    public void setServletContext(ServletContext servletContext) {  
        servletContext.setAttribute("myKey", value);  
    }  
} 

В остальном коде вы просто получаете объект servletContext из request-> session и получаете значение «mykey».

5 голосов
/ 06 марта 2012

http://docs.oracle.com/cd/E17802_01/products/products/servlet/2.3/javadoc/javax/servlet/ServletContext.html

В коде сервлета:

Object attr = getServletContext().getAttribute("ATTR_NAME");
// Do something with it and...

getServletContext().setAttribute("ATTR_NAME", attr);

Это общий способ сервлета Java EE;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...