2016-11-14 2 views
0

У меня есть небольшой проект приложения java Spring Spring для реализации прокси-подхода с использованием Servlets, который содержит зависимость maven от проекта, которая предоставляет мне UtilityServlet, который я распространяю в TestServlet моего проекта и регистрации отображения сервлета с помощью @Bean и @Configuration аннотаций. Мое приложение отлично работает с этим подходом, но у меня есть новый вариант использования.Как создавать, регистрировать и отображать сервлеты динамически во время выполнения

Я пытаюсь модулизовать/параметризовать конфигурацию приложения.

Я хочу, чтобы во время запуска приложения создавались, регистрировались и отображались сервлеты во время запуска приложения на основе количества шаблонов URL, которые должны отображаться в качестве параметра для приложения. Напр.

servletUrl.properties содержат следующие три URL-адрес отображения:

servlet.url1 =/servlet1/*
target.url1 =/target1/
servlet.url2 =/servlet2/*
target.url2 =/target2/
servlet.url3 =/servlet3/*
target.url3 =/target3/

На основе приведенных выше сопоставлений я хочу, чтобы при запуске приложения приложение распознало 3 сопоставления url в файле свойств и создало и зарегистрировало 3 разных сервлета, расширяющих UtilityServlet, по одному для каждого сопоставления.

Есть ли способ сделать что-то вроде этого, было бы предпочтительным решение Spring, но не обязательно прерывание сделки. Заранее спасибо парни

ответ

0

Пусть ваша единственная реализация сервлета вызовет класс маршрутизации.

Маршрутизатор считывает конфигурационный файл и устанавливает различные классы обработчиков в зависимости от его содержимого.

Когда звонки поступают из сервлета, они маршрутизируются по вызову-url в правильный класс-обработчик.

Например, ваш базовый сервлет может иметь базовое url-отображение «api». Когда поступают вызовы с указанием «api/target1? Param = etc», вы просто набираете «target1» в правильный обработчик.