Вопрос
Я кое-что знаю о Java, но совершенно не знаком с Enterprise Java.Я пробую свои силы с NetBeans 6.1 и сервером приложений GlassFish.Пожалуйста, направьте меня к некоторым ресурсам, которые на самом деле расскажут мне, что такое корпоративные приложения Java, чем они отличаются от обычных классов Java и т. д.
Также какой сервер приложений лучше всего использовать (в Linux)?
Решение
«Что такое корпоративные приложения Java, чем они отличаются от обычных классов Java и т. д.»
Ну это обычные классы.Они управляются сервером приложений.«Сервер приложений» часто просто JVM, но иногда улучшается, модифицируется или расширяется поставщиком.Но это не должно вас волновать.Сервер приложений (т.е.:JVM) использует загрузчик классов (вероятно, настроенный поставщиком) для загрузки вашего сервлета (любого класса, реализующего интерфейс HttpServlet).Любые другие классы (не только классы J2EE, но и все классы) будут загружены загрузчиком классов.Далее это ваш тот же Java-код.Я надеюсь, что это даст вам тот ответ, который вы хотите.Чтение документов J2EE (даже предназначенных для разработчиков) обычно влечет за собой бессмысленные модные словечки.
Я бы порекомендовал вам просмотреть учебник J2EE от Sun.Он бесплатен и описывает основы, которые вам следует знать, прежде чем переходить на фреймворк (например, Struts).И, конечно же, вам нужно знать, собираетесь ли вы просто использовать J2EE.
Возможно, вы захотите ознакомиться с некоторыми из них:
- http://java.sun.com/j2ee/1.4/docs/api/
- Вы также можете просмотреть спецификацию HTTP (RFC или где-то еще), если вы не понимаете, как HTTP-запросы и ответы обрабатываются автономным веб-сервером.
- http://java.sun.com/j2ee/1.4/docs/tutorial/doc/Overview3.html (в частности, веб-контейнеры)
Пара полезных фактов:
- JSP компилируется в сервлет.Они были созданы для того, чтобы ваши сервлеты не приходилось разрабатывать с использованием средства записи вывода для обработки каждой записи содержимого страницы (JSP будет скомпилирован в него за вас).то есть:out.println("<html>etcetc...")
- объект запроса (HttpServletRequest) представляет запрос.
- объект ответа (HttpServletRespone) построит ответ.(как заголовки http, так и контент).
- Объекты сеанса и контекста также важны.Первый предназначен для переноса объектов области сеанса (управляемых сервером приложений) и сопоставления с файлом cookie jsessionid на стороне клиента (чтобы он знал, какой клиент (т. е.:запрос) какие объекты есть на стороне сервера).Объект контекста используется для первоначальных настроек.
- Вам захочется просмотреть веб-контейнеры, чтобы собрать все это воедино.
Другие советы
Учебное пособие по Java EE 5 - читать онлайн или в формате pdf
EJB 3 в действии - отличная книга, в которой есть все, что вам нужно знать
Я также недавно начал работать с Java EE и до сих пор использовал только Glassfish/Sun Application Server, но, судя по тому, что я понял от своих коллег на работе и что я видел до сих пор, Glassfish кажется лучшим выбором на данный момент.
Glassfish для Linux — отличный выбор.
Я всегда предпочитаю начинать с Википедии: http://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition
Освоение хорошей IDE, такой как Eclipse, имеет смысл.
И последнее, но не менее важное: на YouTube есть хорошие обучающие видеоролики: