Можно ли портировать старый сервлет в фреймворк по одному компоненту за раз? - PullRequest
1 голос
/ 20 марта 2009

Я слышал, что вы можете запустить приложение ASP.NET и приложение ASP.NET mvc бок о бок, чтобы вы могли портировать существующий код по одному фрагменту за раз. Мне было интересно, если вы могли бы сделать это с помощью Java Framework?

У меня есть старое приложение с сервлетами, которое я сейчас нахожусь в процессе рефакторинга. Я подумываю о постепенном превращении его в приложение jsp, поскольку это относительно просто сделать (можно вызвать jsps из сервлета). Мне было интересно, если бы я мог сделать еще один шаг вперед, и вместо того, чтобы портировать на jsps, портировать непосредственно на фреймворк, например, struts / jsf / tapestry / что угодно. Это возможно? Мне нужно было бы убедиться, что это будет выполняться параллельно по одному компоненту за один раз.

Есть ли какие-либо ресурсы, которые занимаются этой конкретной проблемой?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 20 марта 2009

Все очень сильно зависит от конкретной среды, которую вы хотите использовать.

В общих чертах, веб-фреймворки, как правило, делятся на две категории:

  1. ориентированные на страницы: JSP + простые сервлеты, JSP + Spring MVC, стойки и т. Д.
  2. компонентно-ориентированный: JSF, гобелен, калитка и т. Д.

Поскольку ваше унаследованное приложение ориентировано на страницы, имеет смысл перенести ваше приложение также на ориентированную на страницы инфраструктуру, уменьшая количество новых концепций, которые вам (и вашей команде) необходимо изучить (и уменьшая количество кода вам нужно будет переписать).

Из всех возможных вариантов я бы порекомендовал использовать:

  • JSP для слоя представления - аналогично существующему подходу использования сервлетов
  • Spring MVC для слоя без вида - очень похоже на сервлеты, но решает довольно много распространенных проблем "из коробки".
  • дополнительно также можно использовать Tiles с этими двумя платформами (хорошо интегрируется с JSP). Здесь является небольшим примером такого подхода.
0 голосов
/ 20 марта 2009

Я думаю, что это больше проблема настройки вашего веб-сервера (apache?) Для маршрутизации разных адресов в разные контейнеры сервлетов через хитро сконфигурированную настройку mod_proxy.

Однако, возможно, есть более простой способ, о котором я не знаю.

...