Какую технологию Java следует использовать, если я хочу создать сайт с тысячами пользователей - PullRequest
5 голосов
/ 16 июня 2010

Извините, что задал этот вопрос, но я искал все вопросы, связанные с Java, но я запутался.Я до сих пор не понимаю, с чего мне начинать

1) Мой главный сайт - это сборка на Java, потому что кто-то сказал мне, что в java есть некоторые библиотеки машинного обучения или AI, которые я могу использовать в java.поэтому я решил использовать это, так как это может уменьшить мою работу.

Теперь я вообще не знаю java, некоторые люди говорят, что для создания сайтов, таких как

1)Servelts alone can build webiste
2)JSP alone can also build webiste
3)Struts
4)Spring with Hibernate
5)SEAM
6)Java EE also for webistes
* 1007, используется следующее.я запутался, с чего мне начать.К чему здесь подходит ядро ​​JAVA.

Я думал о том, чтобы, возможно, изучать Python, поскольку я знаю, что я должен изучать Python, а не его вариации

ТАК, пожалуйста, объясните мне одну вещь, которая может решить мои основныеЦель использования готовых библиотек AI

Если я могу сделать это с JSP, то я начну с этого.Но мне нужно изучить все из них, тогда лучше, если я смогу начать изучать Python.

У меня есть 5 месяцев, чтобы закончить веб-сайт.

Я действительно не знаю, почему есть много ветвей Javaза одно дело

Ответы [ 7 ]

4 голосов
/ 16 июня 2010

Для статических веб-страниц достаточно одного HTML, и если вы хотите сделать его более удобным и интерактивным, используйте JavaScript.Существует множество фреймворков, которые вы можете использовать непосредственно в JS, например, jquery.Теперь, если вы хотите сделать некоторые дополнительные функции, такие как взаимодействие с базой данных, тогда вам понадобится либо php, JAVA (JSP, Servlets) или .NET (есть еще несколько, но я знаю только три).У каждого из них есть своя библиотека для взаимодействия с базой данных.

Поскольку вы интересуетесь JAVA, изучите сервлеты, HTML, JS, JSP.как только это будет сделано, вы можете посмотреть на bean-компоненты JSF и EJB.Поэтому, если вы знакомы с JAVA, это не займет слишком много времени, поскольку синтаксис такой же, единственное отличие - это концепция.

Таким образом, у вас будет интерфейс (HTML, JS, JSP), который будет взаимодействовать с бэкендом (сервлетами)База данных), которая будет развернута в веб-контейнере.Для развертывания вы можете использовать один из доступных серверов приложений, например, Apache Tomcat, Glass Fish или Websphere.Для разработки вашего приложения вы можете использовать Eclipse в качестве IDE, которая является одной из лучших IDE, которые я использовал.

Итак, определитесь с архитектурой и дизайном, разбейте его на компоненты и начните сначала писать небольшие приложения.Как только вы разберетесь в небольшом приложении, начните писать приложение, в котором вам нужно будет заняться другими вещами, такими как загрузка базы данных, доступность, безопасность и т. Д. Для этого вы можете обратиться к очень известной теме по SO https://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site.

.помогает.

4 голосов
/ 16 июня 2010

Опыт показывает, что сложно создать сложные формы HTML (особенно проверки) и функциональность AJAX.Скорее всего, вы по достоинству оцените наличие библиотеки, которая поможет вам в этом.То же самое с доступом к базе данных.

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

Я бы предложил изучить Java ServerFaces с помощью facelets.Самый простой, хотя и мощный - это JSF 2 в Java EE 6. Самый простой способ начать работу - это использовать NetBeans с GlassFish 3.

4 голосов
/ 16 июня 2010

Чтобы исправить некоторые ваши неправильные представления:

  • сервлеты и JSP являются JavaEE
  • Seam и Struts могут использоваться вместе с Hibernate *
  • Spring MVC являетсявеб-фреймворк.Spring как фреймворк для внедрения зависимостей может использоваться вместе с любым другим фреймворком.
  • Есть много других опций, таких как JSF, Tapestry, Click, Play и т. Д.

Зависит отна то, что будет делать сайт, но вы можете выбрать любой.

0 голосов
/ 15 февраля 2013

Если вы пытаетесь создать сайт с нуля без каких-либо предварительных знаний, вам лучше всего использовать Frameworks, которые предоставляют полный стек для веб-разработки.
Если вы не настроены на java, вы могли бы начать изучать ruby ​​на рельсах, с чего было бы легче начать (если это так, иди купи ruby ​​on rails tutorial , в котором рассматриваются все необходимые вещи для современная веб-разработка, от mvc до контроля версий).

Для Java попробуйте:

  • http://www.playframework.com/ - очень похоже на ruby ​​на рельсах, оно поможет вам быстро начать работу и, надеюсь, (если вы будете следовать соглашениям) справится со всеми вашими периферийными потребностями.
  • http://www.springsource.org/spring-roo - очень быстро работает с фреймворком, но его может быть сложно поддерживать и расширять позже.

Это два полнофункциональных веб-фреймворка, то есть они обрабатывают базу данных, MVC (уровень представления), настройки конфигурации и т. Д. (Я вскоре объясню). И может даже облегчить процесс развертывания.

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

  • Презентация: термин веб-фреймворки более или менее использовался для обозначения фреймворков, которые имеют отношение к этой стороне веб-разработки, т.е. как создать веб-страницу (HTML-страницу). Большинство фреймворков предлагают MVC-подобный подход (о котором вы можете прочитать в другом месте), и именно это большинство фреймворков / технологий, которые вы предоставили, находятся в JSP и Struts (который использует jsp) являются примерами веб-фреймворков. Сервлеты - это API более низкого уровня, который стандартизирует ответы на HTTP-запросы (над которыми располагаются JSP и структуры).

  • Постоянство: возможность показа веб-страницы не означает, что в наши дни нужно сидеть на корточках, если вы не можете сохранить данные в базе данных, и именно это делают структуры постоянства (они упрощают способ сохранения данных в база данных). Hibernate - это структура персистентности.

  • Для Java есть также Dependency Injection, то есть Spring DI. Трудно объяснить DI людям, не знакомым с проблемами Java, поэтому я не буду пытаться объяснить это, но это очень важная часть современной разработки Java.

  • Помимо этих основных технологий, есть также много вещей, которые вам необходимо изучить для фактического развертывания приложения (если только вы не пользуетесь такими сервисами, как Heroku или Google App Engine, которые должны упростить вещи), и устранять их позже (понимание того, как работает параллелизм и HTTP).

Чтобы обратиться к другим технологиям, которые вы подняли:

  • Я никогда не касался SEAM, поэтому я не уверен, но это похоже на набор других сред (в основном EJB3, который сам по себе представляет собой набор API и JSF).
  • Spring обозначает популярную группу с открытым исходным кодом (группу SpringSource), которая предоставляет различные технологии, но, скорее всего, когда вы слышите об этом, они ссылаются на две вещи: внедрение зависимостей Spring (DI) и MVC Spring (который представляет собой веб-инфраструктуру).
  • JavaEE - это просто набор API высокого уровня, которые реализуют другие технологии (например, Hibernate реализует JPA, который является частью JavaEE).
0 голосов
/ 16 июня 2010

Вы всегда можете создать страницу в ruby ​​или что-то, что очень быстро даст вам веб-сайт, а для AI, который анализирует купленные предметы по рекомендациям, используйте что-то, не связанное со страницей, с которой база данных работает только для работы.Я не стал бы смешивать весь материал веб-страницы с искусственным интеллектом.Вы можете делать вещи ИИ, которые займут много времени и, возможно, должны быть выполнены на другом компьютере, чтобы ваша веб-страница также реагировала на C ++ или Java в обычных приложениях.

Выбор метода интерфейса из-за более позднего использованияэто очень опасная вещь.Использование всей концепции JavaEE и изучение ее с нуля займет у вас гораздо больше времени, чем быстрое начало работы со страницей, если вы сделаете это на ruby ​​или PHP.Затем вы можете создать первую версию страницы, сгенерировав пользовательскую базу, начав работать над искусственным интеллектом, как только вы получите данные с помощью других технологий.Если у вашей страницы есть проблемы с производительностью, потому что ваша технология не масштабируется, вы всегда можете начать переключать части материала на более быструю технологию или, возможно, просто на более крупную машину.Запустите свою страницу, прежде чем создавать ее пуленепробиваемую для тысячи ожидаемых пользователей.

0 голосов
/ 16 июня 2010

Для создания сайтов главное - HTML и HTTP. Все технологии (в том числе Enterprise Java или Java на стороне сервера) делают одно и то же - для понимания HTTP-запроса и ответа в HTML. Все, что вы упомянули, делают то же самое с разным уровнем сложности. Начните с Wikipedia.org, чтобы узнать, какие технологии для чего. Если вы новичок в java, изучите учебники Sun, создайте примеры программ и освоитесь с пакетами java, JVM и классами. (Это может занять неделю или две). Чтобы создавать веб-сайты с использованием Java, вам необходимо изучить Java-сервлеты - все остальное (JSP, Struts, JSF, Spring (!)) Построено на нем. Получить Head First книги по Java, сервлетам они будут полезны.

Всего наилучшего.

0 голосов
/ 16 июня 2010

Самым близким к ядру Java являются сервлеты.Никакого дополнительного синтаксиса, очень минимальная библиотека, но не включенная функциональность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...