Атрибуты системных объектов. Назначение. Принципы применения

Атрибуты контекста

Атрибуты являются динамически элементами контекста и могут быть установлены, изменены или удалены в методах сервлетов или в скриплетах JSP. На рис. 5.7 приводится фрагмент сервлета, использующего атрибуты контекста.

public void init() throws ServletException {

super. init ();

this. Ab = new ABean ("qwerty");

ServletContext sc = getServletContext ();

String a1 = "a1";

Integer n1 = 3;

sc.setAttribute("atr_a1", a1);

sc.setAttribute("atr_n1", n1);

sc.setAttribute("atr_Ab", Ab);

}

protected void service(HttpServletRequest rq, HttpServletResponse rs)

throws ServletException, IOException {

ServletContext sc = getServletContext ();

PrintWriter pw = rs.getWriter();

Enumeration en = sc.getAttributeNames();

String x;

while (en.hasMoreElements()) {

x = (String) en.nextElement();

pw.println("<br />" + x + "= " + sc.getAttribute(x));

}

}

В методе init сервлета осуществляется установка значений атрибутов с помощью метода контекста setAttribute. Первый параметр этого метода задает имя атрибута, второй – его значение.Обратите внимание на атрибут с именем atr_Ab – его значением является ссылка на объект java-класса с именем ABean.

В методе service сервлета с помощью методов контекста getAttributeNames и getAttribute в окно браузера выводится имена всех атрибутов и их значения. Следует знать, что некоторые атрибуты могут создаваться и устанавливаться самими webконтейнером. Для того чтобы не изменить или не удалить их, необходимо в документации сервера выяснить имена этих атрибутов и не использовать их в своих приложениях. При необходимости удалить атрибут используют метод removeAttribute.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: