Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 ServletContext и getServletContext  [new]
Molasar
Member

Откуда:
Сообщений: 722
Всем привет!

Есть способ залить все параметры контекста сразу в мапу, чтобы не дергать по одному?

web.xml
<servlet>
        <servlet-name>start</servlet-name>
        <servlet-class>com.company.servletparam.StartServlet</servlet-class>
        <init-param>
            <param-name>key1</param-name>
            <param-value>value1</param-value>
        </init-param>
        <init-param>
            <param-name>key2</param-name>
            <param-value>value2</param-value>
        </init-param>
</servlet>

@WebServlet(name = "start", urlPatterns = {"/"})
public class StartServlet extends HttpServlet {

    @Override
    protected void doGet(
            HttpServletRequest req,
            HttpServletResponse resp)
            throws ServletException, IOException {
        ServletConfig servletConfig = getServletConfig();
        String value= servletConfig.getInitParameter("key");
        String value2= servletConfig.getInitParameter("key2");
    }

}
26 июл 19, 10:52    [21935129]     Ответить | Цитировать Сообщить модератору
 Re: ServletContext и getServletContext  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 1019
Molasar,
Считай что servletConfig уже мапой. Зачем перекладывать из одного ведра в другое?
26 июл 19, 10:58    [21935139]     Ответить | Цитировать Сообщить модератору
 Re: ServletContext и getServletContext  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 1019
Java прогеры очень любят "мапы". По сути это раньше ini файлы в винде.
26 июл 19, 11:00    [21935140]     Ответить | Цитировать Сообщить модератору
 Re: ServletContext и getServletContext  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 1019
Molasar,

getInitParameterNames
?
26 июл 19, 11:02    [21935146]     Ответить | Цитировать Сообщить модератору
 Re: ServletContext и getServletContext  [new]
Molasar
Member

Откуда:
Сообщений: 722
Вы правы. Я сам себе усложнил задачу.
Спасибо.
PetroNotC Sharp
Molasar,
Считай что servletConfig уже мапой. Зачем перекладывать из одного ведра в другое?
26 июл 19, 11:22    [21935170]     Ответить | Цитировать Сообщить модератору
 Re: ServletContext и getServletContext  [new]
andreykaT
Member

Откуда:
Сообщений: 2246
PetroNotC Sharp
Java прогеры очень любят "мапы". По сути это раньше ini файлы в винде.

шта?
26 июл 19, 12:52    [21935272]     Ответить | Цитировать Сообщить модератору
 Re: ServletContext и getServletContext  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 1019
andreykaT
PetroNotC Sharp
Java прогеры очень любят "мапы". По сути это раньше ini файлы в винде.

шта?
то есть ты видишь волшебство в мапе?
26 июл 19, 13:10    [21935300]     Ответить | Цитировать Сообщить модератору
 Re: ServletContext и getServletContext  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 1019
andreykaT,
Сколько "мап" у тебя в проекте?
26 июл 19, 13:12    [21935309]     Ответить | Цитировать Сообщить модератору
 Re: ServletContext и getServletContext  [new]
mayton
Member

Откуда: loopback
Сообщений: 41377
ServletConfig - это интерфейс.

И следуя правильным практикам разработки мы не должны пытаться его крякнуть или извлечь какие-то
мапы из имплементации которая на фазе разработки еще неизвестна. Но если Молазару очень нуно - то
пускай себе скопирует его в Map<String,String> и работает. Почему нет? Главное чтоб не на каждый get...
26 июл 19, 18:37    [21935689]     Ответить | Цитировать Сообщить модератору
 Re: ServletContext и getServletContext  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 1019
mayton,
Конечно. Появляются всякие тонкости типа не на каждый get...
Я сказал о крайностях. Когда мапа повсюду.
Или наоборот, когда интерфейс передают за границу видимости.
В обоих случаях плохо). Надо посерединке.
Вот у тебя, даже БД это мапа))) LOL
26 июл 19, 19:21    [21935726]     Ответить | Цитировать Сообщить модератору
 Re: ServletContext и getServletContext  [new]
mayton
Member

Откуда: loopback
Сообщений: 41377
Пожалуй да. БД-мапа.

Эй автор. Пиши реализацию.

    @NotNull
    public Map<String, String> createMapFromServletConfig(@NotNull ServletConfig servletConfig) {
        .....
    }


Пиши прям щас. Не отходя от кассы.
26 июл 19, 19:33    [21935733]     Ответить | Цитировать Сообщить модератору
 Re: ServletContext и getServletContext  [new]
забыл ник
Member

Откуда:
Сообщений: 2859
Более того, любая чистая функция суть - мапа, когда понимаешь это начинаешь осознавать что различие то между данными и поведением не такое уж и фундаментальное
26 июл 19, 20:23    [21935756]     Ответить | Цитировать Сообщить модератору
 Re: ServletContext и getServletContext  [new]
leonid_85
Member

Откуда:
Сообщений: 5
если делать свою map, то надо делать ее thread safe например concurrenthashmap, в то время как getInitParam в реализации undertow сделан через final map, что производительнее
31 июл 19, 12:35    [21938765]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить