Что является основной альтернативой Java ASP.NET / PHP? - PullRequest
59 голосов
/ 01 апреля 2010

Я что-то слышал и видел несколько примеров веб-приложений, созданных с использованием ASP.NET / PHP, и мне интересно, каков будет эквивалентный способ делать подобные вещи в мире Java. Глядя на Википедию, я нашел много фреймворков, и я немного растерялся, какой из них лучший.

Ответы [ 2 ]

99 голосов
/ 01 апреля 2010

Java-эквивалент PHP и "Классический" ASP будет JSP (JavaServer Pages) с скриптлетами (встроенный необработанный Java код). Scriptlets считаются плохой практикой в мире веб-разработки на Java. Taglibs и EL (Expression Language) должны быть предпочтительнее, чем scriptlets . Java-эквивалент ASP.NET (MVC) будет являться средой Java MVC. Существует множество MVC-платформ на основе Java, в основном предоставляющих контроллер на основе сервлетов / фильтров и библиотеки тегов для взаимодействия с моделью (обычно Javabean ) и представлением (обычно страницей JSP, но XHTML). также возможно).

Для начала Java EE API предоставляет для этого JSF (JavaServer Faces) , что в свою очередь идет вместе с технологией шаблонного представления на основе XHTML, известной как Facelets . Facelets рассматривается как замена старого доброго JSP. Кроме того, существует множество сред с открытым исходным кодом Java MVC, которые построены на основе JSP / Servlet API и предназначены для альтернативы / конкуренции для JSF. Вы можете найти немного информации обо всех здесь , наиболее популярными из которых являются Spring MVC , Struts2 и Stripes .

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

5 голосов
/ 01 апреля 2010

Лучшее не обязательно совпадает с большинством. Я думаю, что наиболее прямым эквивалентом (благодаря его стандартному характеру треков) является JSF 2.0 & Facelets.

Сказав это, есть причины, по которым существуют другие фреймворки ... лучше всего оценить несколько и определить, какой из них лучше всего соответствует стилю разработки вашей команды.

См. Также этот вопрос .

...