2010-05-10 4 views
1

Я программист .NET, который скоро перейдет в мир Java EE. У меня много опыта работы с веб-технологиями .NET, веб-сервисами, WebForms и MVC. Я также очень хорошо знаком с языком Java и написал несколько сервлетов и модифицировал несколько JSP-страниц, но я еще не коснулся EE.Java EE Вопросы планирования сайта

Я бы хотел создать общедоступный веб-сайт с использованием Java EE, чтобы я мог ознакомиться с тем, что является текущим. Я думаю, что это просто игровая площадка с технологией на данный момент, не имея особой цели. Какие технологии Java являются текущей жаркой для такого рода вещей? (Например, если кто-то спросил меня, что бы я посоветовал научиться настраивать новый сайт .NET, я бы сказал, что используйте ASP MVC вместо WebForms и рекомендую LINQ-to-SQL как быстрый, простой и широко используемый ORM.)

Итак, что я хотел бы знать:

  • есть ли рекомендуемая технология для представления слоя? Является ли JSP хорошим подходом, или есть что-то более чистое/более новое/более широкое распространение?
  • Hibernate все еще широко используется для настойчивости? Это устарело? Есть ли что-нибудь лучше? (Я работал с NHibernate, поэтому я бы не начинал с нуля.)
  • Доступен ли доступный веб-хостинг Java EE?
  • Что я должен знать о том, что веб-разработчик .NET перемещается в мир Java?

ответ

4
  • Есть ли рекомендуемая технология для представления слоя? Является ли JSP хорошим подходом, или есть что-то более чистое/более новое/более широкое распространение?

JSP был заменен Facelets. Он обеспечивает отличные шаблоны для JSF, Sun MVC framework (Java-аналог ASP.NET MVC). Если вы не поедете на JSF, то Facelets не принесет вам большой пользы, и вы могли бы просто продолжить использование устаревшего JSP, возможно, с платформой для сторонних разработчиков, например Freemarker или Velocity, и/или сторонней структурой MVC, например Spring MVC , Struts2 или Stripes. Я же настоятельно рекомендую просто идти вперед с Facelets + JSF на Java EE 6.

  • Является Hibernate все еще широко используется для персистенции? Это устарело? Есть ли что-нибудь лучше? (Я работал с NHibernate какой-то, так что я бы не начинать с нуля.)

Это, конечно, не устарела. Он только расширил свои полномочия с внедрением JPA. Более того, парень позади (N) Hibernate, Гэвин Кинг, сам работал над спецификацией JPA Java EE.

  • Доступен ли доступный веб-хостинг Java EE?

Только eatj.com, javaservlethosting.com и Google Appengine приходит на ум.

  • То, что я должен знать, чтобы быть .NET разработчик веб движется в мире Java?

Может быть любой из этих ответов будет полезно:

+1

Я думаю, что более целесообразно рассматривать JSF как аналог ASP.NET Web Forms, чем ASP.NET MVC. И имейте в виду, что стандарты стандартов Sun в Java EE не так доминируют, как MS в ASP.NET. – leonbloy

+0

Спасибо за рекомендации, я обязательно их проверю. –

1

Я хотел бы ответить специально для Hibernate - он очень широко используется, я бы рекомендовал его со всеми десятью;)

2

Чтобы добавить к ответу BalusC: правда, что простой JSP довольно устарел (особенно если используется с scriplets, не так много с EL выражениями). Но ваш выбор альтернатив сильно зависит (хотя и не однозначно) от веб-структуры, которую вы решите использовать. И будьте осторожны, что в этой области существует намного больше альтернатив (или фрагментации), чем в .NET, некоторые из которых более ориентированы на шаблон MVC (Struts, Struts2, Stripes, Spring MVC) на некоторых компонентах (JSF, Tapestry, Wicket) , и некоторые другие (GWT). Здесь нет явного победителя. См., Например, here.

+0

Это было 2 года назад. Теперь есть Java EE 6, который, наконец, превосходит все сторонние структуры. Также см. Третью ссылку в нижней части моего ответа, которая, в свою очередь, указывает на очень хороший момент: http://stackoverflow.com/questions/1960280/what-to-learn-for-making-java-web-applications-in -java-ee-6/1960447 # 1960447 – BalusC

+1

@Balusc: Java EE 6 достаточно долго, чтобы оспорить, как вы сказали «все сторонние рамки», и почему-то я не получаю вырубки, что Java EE 6 превосходит Spring + Hibernate например ... И также я боюсь, что «те сторонние рамки» развиваются слишком быстро, чтобы выбраться из ... – Xorty

+0

@ Xorty: Основным преимуществом Spring был DI. JEE6 поставляется с JSR299/JSR330 для этого (с JBoss Weld в качестве эталонной реализации). Главным преимуществом Hibernate было абстрактное упорство. JEE6 поставляется с JPA2 (JSR317) для этого (для которого Hibernate также имеет реализацию!). – BalusC

Смежные вопросы