2008-10-02 22 views
18

Szukam rozpoczęcia pracy w Internecie przy użyciu Javy - mam podstawową wiedzę na temat języka Java, więc nie stanowi to problemu, ale brakuje mi rozszyfrowania różnych technologii używać w aplikacjach internetowych.Programowanie w języku Java dla sieci WWW

Jakie opcje są dla mnie dostępne? Jak oni pracują? Czy istnieją jakieś frameworki podobne do Django/Ruby na Railsach, które mogłem uprościć?

Wszelkie linki, które mogą pomóc w zrozumieniu tego, co jest dostępne, będą mile widziane.

+0

Czy znasz już sposób działania sieci? Bezpaństwowe, GET, POST, etc? – ScArcher2

+0

Tak, opracowałem z PHP i Python (Django), więc mam pewną pośrednią wiedzę na temat działania sieci. – Tom

Odpowiedz

7

nie wiem, czy jest coś zupełnie tak miły jak Django for Java, ale wiosna lekki internetowej ramy zbudowany na J2EE

http://www.springframework.org/about

Elastyczna aplikacja internetowa MVC framework, zbudowana na rdzeniu Spring funkcjonalności. Ten szkielet jest bardzo konfigurowalny poprzez interfejsy strategii i obsługuje wiele technologii widoku, takich jak JSP, Velocity, , iText i POI. Zwróć uwagę, że środkowa warstwa sprężynowa może łatwo być połączona z warstwą WWW opartą na dowolnej innej strukturze WWW MVC, takiej jak Struts, WebWork lub Tapestry.

0

J2EE jest standardem. Możesz użyć tego do budowania aplikacji z Java Server Pages, Servlet i EJB.

Struts to również bardzo popularny framework wykorzystujący strony JSP i serwlety. Jest to nieco trudne do uzyskania konfiguracji, ale jest to bardzo dobra opcja dla witryn średniej wielkości.

http://en.wikipedia.org/wiki/Struts

2

Musisz zacząć servlets and JSP. W Javie istnieje wiele frameworków internetowych, a wszystkie oparte są na tych dwóch technologiach.

13

Twój podstawowy technologii Java Web jest serwlety. Serwlety umożliwiają pisanie kodu Java odpowiadającego na różne zdarzenia HTTP (doGet, doPost, doPut, itp.). Zwykle są używane w kontrolerach w architekturze MVC. Link: http://java.sun.com/products/servlet/

JSP pozwala pisać HTML z osadzoną Javą zamiast na odwrót (w serwletach). JSP został rozszerzony poprzez JSF, aby uwzględnić najnowsze osiągnięcia architektoniczne. To jest w tej samej linii co PHP i ASP. Jest to część widoku architektury MVC. Link: http://java.sun.com/developer/technicalArticles/GUI/JavaServerFaces/

Dużo bardziej złożonych aplikacji wykorzystują Enterprise Java Beans (EJB) do zarządzania sesjami, klastrów itp To nie jest technologia internetowa, per se, ale widać, że idą ręka w rękę w przypadku bardziej złożonych aplikacji internetowych. Alternatywy obejmują struktury takie jak Spring. EJB: http://docs.jboss.org/ejb3/app-server/tutorial/ Wiosna: http://www.springframework.org/

Ponadto, będziemy chcieli, aby zapoznać się z technologią ORM (po serwletów i JSP/JSF). Wiodąca struktura ORM jest obecnie w trybie hibernacji. Umożliwia to mapowanie tabel SQL do obiektów Java i interakcję z nimi odpowiednio. Jest to bardziej zaawansowane rzeczy więc zapisać go, gdy starasz się dostać głowę wokół EJB/źródło, itp łączu: http://www.hibernate.org/

edit: zapomniałem określić ORM. Chodzi o Object Relational Mapping/Mapper (niezależnie od wersji "Map", którą masz ochotę użyć):

0

Ogólnie Java jest bardziej oparta na komponentach, tzn. Nie posiada frameworków, które robią to wszystko dla ciebie (ty Prawdopodobnie będziesz musiał wybrać ramy dostępu do bazy danych na przykład). Aby uzyskać dostęp do danych, poleciłbym Hibernate lub iBATIS.

Do front-endu są dosłownie setki frameworków. Zbadaj JSF, Wicket, Struts 2, Stripes - zależnie od tego, którego z nich używasz, zależy od Twoich konkretnych potrzeb, ponieważ mają one różne mocne strony.

A dla warstwy biznesowej polecam Spring Framework, który jest bardzo wszechstronny i ma świetny przewodnik odniesienia/samouczek :)

1

To jest bardzo otwartym pytaniem. Krótka odpowiedź brzmi "tak", istnieją ramy, biblioteki i standardy, aby zrobić wszystko, pisząc różne rzeczy na poziomie żądań HTTP i systemów zarządzania treścią w Javie.

Można również użyć innych języków (np. Python, Ruby, itp.) Na temat JVM.

W przypadku niektórych technologii Java-only należy zbadać JSP/Servlets, Struts, Struts2 (która jest zaktualizowaną wersją Webwork), Spring MVC, Tapestry, web4j, Wicket.

Na maszynie JVM zbudowano inne ramy, ale używa się języków innych niż Java, takich jak Grails.

Aby rozpocząć, chciałbym pobrać Eclipse (najnowszą wersję) i Tomcat. Utwórz nową aplikację internetową w Eclipse. Istnieje guides, dzięki którym możesz zacząć.

Zacznij od poznania sposobu działania JSP i serwletów, które są nieco słabe i nie stanowią struktury, ale pozwolą szybko rozpocząć pracę. Następnie zbadaj i wybierz swoją strukturę.

Wiosna MVC jest dość łatwa do skonfigurowania i uruchomienia. Jestem pewien, że są inni.

2

Można spróbować JBoss Seam: http://www.seamframework.org/Documentation/GettingStarted

Jeśli używasz Eclipe jako IDE nie jest dobra integracja poprzez JBoss Tools lub można użyć narzędzia Seam-gen, który pochodzi ze szwem. Pozwala to zdefiniować tabelę bazy danych (lub tabele) i za pomocą kilku prostych poleceń, zbudować z niej cały działający projekt internetowy. To fajny sposób, aby rzucić piłkę.

32

Architektura Java ma dwa podstawowe smaki. Jeden nazywa się "Action" Framework, drugi "Component" Framework.

Szkielety akcji specjalizują się w odwzorowywaniu żądań HTTP na kod Java (akcje) i wiążących żądaniach HTTP na obiektach Java. Serwlety są najbardziej podstawowymi z Ram działania i są podstawą wszystkich innych budowanych.

Struts to najpopularniejszy framework Action, ale nie mogę z czystym sumieniem polecić go nikomu. Struts 2 i Stripes są bardziej nowoczesne i bardzo podobne do siebie. Oba są lekkie w konfiguracji i łatwe w użyciu po wyjęciu z pudełka, zapewniając bardzo dobrą funkcjonalność wiązania.

Składowe struktury koncentrują się na interfejsie użytkownika i mają tendencję do promowania architektury opartej na zdarzeniach w oparciu o komponenty interfejsu wysokiego poziomu (przyciski, pola listy itp.). Struktury mają tendencję do ukrywania faktycznego żądania HTTP od kodera pod kilkoma warstwami. Sprawiają, że tworzenie bardziej zaawansowanych interfejsów jest znacznie łatwiejsze. .NET jest strukturą komponentu dla systemu Windows. W Javie popularnymi komponentami są JSF (standard) i Wicket.

Z reguły, jeśli tworzysz "stronę internetową". jest to coś bardziej zbliżonego do prezentowania informacji (np. blog lub witryna społeczności), a platformy Action działają lepiej. Te witryny są zazwyczaj prostsze, często zakładane, wymagają "ładnych adresów URL" itp. Zwykle łatwiej jest to zrobić za pomocą frameworka Action.

Szkielety komponentów są znacznie lepsze w przypadku aplikacji typu back office z dużą ilością elementów interfejsu użytkownika i skomplikowanymi przepływami pracy. Przekonasz się, zwłaszcza w przypadku narzędzi, że te aplikacje będą się szybciej ze sobą współpracować przy użyciu struktury komponentów. Jednak struktury komponentów mają bardziej złożony obieg zadań, czasem polegający na ukrytym stanie, dużej ilości akcji POST itp. Wiele z nich ma "okropne" adresy URL, a czasem tworzy strony, które trudno jest dodać do zakładek.

Obie ramki mogą być używane do obu zadań, tylko niektóre są bardziej dostosowane do zadania niż inne.

Żadna z tych ram nie dotyczy bezpośrednio trwałości, ale wiele z nich ma moduły rozszerzające lub idiomy, które ściśle współpracują z JPA/EJB3 lub Hibernate.

+0

Bardzo ładna odpowiedź! Dziękuję za to. Te dwie kategorie ułatwiają odróżnianie webframeworks ... :) THX – Bijan

8

Zacznij od JSP wspieranego przez logikę w klasach Java. Lub użyj serwletów.

Zaletą korzystania z JSP i serwletów jest to, że zyskujesz wiedzę o tym, co wszystkie frameworki robią pod maską. I to zrozumienie jest kluczowe, aby dowiedzieć się, jak zrobić X w tym konkretnym środowisku.

Co więcej, JSP jest bardzo proste. Możesz łatwo zobaczyć, co robisz i bardzo łatwo je zobaczyć, gdy zaburzysz widok logiką biznesową.

I całkiem sporo frameworków (Struts, Spring MVC) używają JSP jako technologii widoku. To naturalny pierwszy krok w tworzeniu stron internetowych przy użyciu Javy.

1

Jeśli znasz już Ruby On Rails, możesz użyć go z JRuby i zainstalować na serwerze Java (takim jak Tomcat) pod numerem Warbler.

W czystej Java, Wicket ma dobre podejście i staje się dość popularne.

1

Przed przystąpieniem do studiowania tych ram, dlaczego nie najpierw uczyć się, gdzie to wszystko się zaczęło? Najpierw spróbuj programować z serwletami, abyś mógł zajrzeć do jądra większości z tych frameworków. Pomoże Ci lepiej zrozumieć J2EE.

0

Nauczyłem się Java na studiach, kiedy było w wersji 1.1.5. Niedawno zacząłem programować w Internecie, ale nie miało to sensu, dopóki nie przeczytałem Head First Servlets and JSP. Jest o wiele więcej rzeczy związanych z tworzeniem stron WWW z Javą, niż kiedykolwiek zdałem sobie z tego sprawy, a bez tej książki zrezygnowałbym i po prostu używał PHP.

Powiązane problemy