Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Java na serveru: úvod

Java není jen skvělý objektově orientovaný jazyk. Je to i platforma, kterou můžeme použít pro tvorbu svých webových aplikací. Stejně jako ji můžeme použít pro vývoj aplikací pro desktop nebo mobilní telefony. Java je dospělá a léty prověřená technologie, přesto však moderní a stále se rozvíjející.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Přes tyto přednosti se mezi běžnými webovými vývojáři netěší takové oblibě a bývá považována za něco, co patří jen do bank a velkých podniků. Důvod je prostý – prakticky 100% hostingů nabízí obvyklý LAMP (Linux + Apache + MySQL + PHP). Zatímco sehnat hosting pro Javu je složitější nebo přinejmenším dražší. Naštěstí s rozmachem VPS hostingů se situace lepší. Také platí, že prakticky každá větší než malá aplikace dostane dedikovaný server nebo alespoň virtuální stroj. Takže prostor pro Javu tu je. Ale pak zase nejsou lidi, protože jsou všichni odkojení PHP a psaním webů pro LAMP. Proto vznikl tento seriál. Doufám tedy, že se řady českých javistů rozrostou o nové vývojáře.

Stručná historie a popis platformy Java EE

Práce na Javě jako takové začala už v roce 1991, tehdy se jazyk ještě jmenoval Oak. První veřejná verze – Java 1.0 spatřila světlo světa v roce 1995. Specifikace Java Server Pages (JSP) 1.0 byla uvolněna v roce 1999 jako odpověď na ASP a PHP. Dnes jsou aktuální tyto verze specifikací: Servlety 3.0, JSP 2.2, JSF 2.0.

Java EE zastřešuje bohatou škálu technologií. Aplikační server, v kterém „enterprise“ aplikace běží, za nás řeší věci jako např. správu databázových spojení (connection pooling), řízení práv a uživatelských rolí nebo třeba volání vzdálených služeb.

Komu je seriál určen

Předpokládám, že ovládáte Javu SE, proto se nebudu věnovat syntaxi jazyka jako takového. Pokud jste v Javě ještě nic nepsali, ale programujete v jiném jazyce, můžete se pokusit Javu doučit „za chodu“.

Seriál je určen začátečníkům – takže pokud pracujete na pozici Java EE vývojáře, pravděpodobně se tu nic nového nenaučíte.

Cílem seriálu je uvést čtenáře do problematiky Java EE, resp. její malé části, kterou je tvorba webových aplikací. Mějte to prosím na paměti, až budete chtít do diskuse psát o „kanónu na vrabce“ – opravdu to tak někdy bude, ale tématem není: „Vytváříme webovou stránku pomocí úžasného frameworku během 10 minut“. Také se příliš nebudeme zabývat vzhledem aplikace, takže bude, alespoň zpočátku, trochu ohavná, ale nastylování webové stránky pomocí CSS nezávisí na použitém programovacím jazyku a jistě to zvládnete lépe než já.

Aby se dosáhlo velkého, je třeba začít s menším“ – praví klasik, takže budeme zpočátku stavět pouze na standardních prostředcích platformy bez dodatečných frameworků – ty sice usnadní spoustu práce, ale zároveň zakrývají podstatu věci (kromě toho, že by každý z nich vydal na samostatný seriál).

Instalace potřebných programů

K vývoji javových aplikací budeme překvapivě potřebovat Javu, resp JDK. V Linuxu na bázi Debianu nebo Ubuntu si ji nainstalujeme příkazem:

# aptitude install sun-java6-jdk

Zkontrolujeme si nainstalovanou verzi:

$ java -version
java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02, mixed mode)

V jiných distribucích je postup obdobný – např. OpenSuse, Mandriva.

Pokud používáte Windows, budete si muset stáhnou instalátor ze stránek Sunu a proklikat se jím.

Poznámka: kromě implementace Javy od Sunu existují i další – hlavně OpenJDK – ve kterých by vám aplikace měla fungovat stejně.

Emacs a VIM jsou skvělé editory, ale pro vývoj v Javě se daleko více hodí IDE. Nainstalujeme si tedy Netbeans. Aktuální verze je 6.8. Zvolíme edici Java nebo All.

Netbeans

Dále budeme potřebovat aplikační server na kterém náš program poběží. Použijeme GlassFish v3, obsažený v instalaci Netbeans IDE.

glassfish

Ukázková aplikace a zdrojové kódy

Během tohoto seriálu budeme společně vyvíjet webovou aplikaci. Ta je sice šitá na míru výukovým účelům, ale nakonec by měla i fungovat. Protože nerad chodím do zakouřených hospod, vytvoříme databázi nekuřáckých podniků. Není to nic originálního, takových stránek existuje spousta, ale pro potřeby seriálu toto téma postačí – je dostatečně jednoduché a snad i zajímavé.

Zdrojový kód si stáhnete tímto příkazem:

$ hg clone http://hg.vps.frantovo.cz/nekurak.net/
$ cd nekurak.net

Mercurial je distribuovaný verzovací systém a pokud chcete aktualizovat svoje (místní) úložiště na verzi, která je na serveru, použijte k tomu příkaz  pull:

$ hg pull

Pro každý díl seriálu vytvořím v úložišti verzi označenou příslušným štítkem. Na úroveň dnešní verze zdrojových kódů se dostanete pomocí příkazu:

$ hg up "1. díl"

Případně si můžete stáhnout danou verzi přes webové rozhraní mercurialu jako .bz2 archiv.

Dnešní díl byl trochu rozehřívací, ale tak to chodí na začátku každého projektu. Cílem je, nainstalovat si potřebné nástroje, zkompilovat aplikaci a nasadit („deploynout“) ji na svůj lokální server. Na http://localhost:8080/…rak.net-web/ byste měli vidět totéž, co na http://nekurak.net/. A příště už začneme vyvíjet.

Odkazy

František Kučera

Franta Kučera působí jako Java vývojář na volné noze. Programování je jeho koníčkem už od dětství. Kromě toho má rád Linux, relační SŘBD a XML.

Školení: Návrh a používání MySQL databáze

 

Naučte se používat jednu z nejrozšířenějších databází. Dozvíte se vše potřebné od návrhu až po samotné využití MySQL v projektech.

Školení pro všechny, kteří se chtějí naučit efektivně pracovat s MySQL nebo se v práci s touto databází zlepšit.

Přihláška a podrobné informace

Přehled názorů

Prosím o vysvětlení
boban 8. 1. 2010 04:07
Nový
├ 
Re: Prosím o vysvětlení
Milan 8. 1. 2010 05:58
Nový
├ 
Re: Prosím o vysvětlení
Jara 8. 1. 2010 08:45
Nový
│
└ 
Re: Prosím o vysvětlení
Almad 12. 1. 2010 15:39
Nový
├ 
Re: Prosím o vysvětlení
Michal Kára 8. 1. 2010 10:17
Nový
│
├ 
Re: Prosím o vysvětlení
Kamil 11. 1. 2010 09:56
Nový
│
└ 
Re: Prosím o vysvětlení
Jiří Knesl 11. 1. 2010 13:57
Nový
│
 
└ 
Re: Prosím o vysvětlení
Vebloud 26. 2. 2010 10:15
Nový
├ 
Re: Prosím o vysvětlení
Peter Helcmanovsky 8. 1. 2010 10:40
Nový
│
└ 
Re: Prosím o vysvětlení
. 8. 1. 2010 12:09
Nový
│
 
├ 
Re: Prosím o vysvětlení
Vykook 8. 1. 2010 12:47
Nový
│
 
│
└ 
Re: Prosím o vysvětlení
Vykook 8. 1. 2010 16:36
Nový
│
 
└ 
Re: Prosím o vysvětlení
honza 8. 1. 2010 15:01
Nový
│
 
 
└ 
Re: Prosím o vysvětlení
. 8. 1. 2010 15:24
Nový
│
 
 
 
├ 
Re: Prosím o vysvětlení
honza 8. 1. 2010 15:29
Nový
│
 
 
 
│
└ 
Re: Prosím o vysvětlení
. 8. 1. 2010 16:15
Nový
│
 
 
 
│
 
└ 
Re: Prosím o vysvětlení
honza 8. 1. 2010 16:32
Nový
│
 
 
 
└ 
Re: Prosím o vysvětlení
Peter Helcmanovsky 9. 1. 2010 22:35
Nový
│
 
 
 
 
├ 
Re: Prosím o vysvětlení
Martin Malý 9. 1. 2010 22:52
Nový
│
 
 
 
 
│
└ 
Re: Prosím o vysvětlení
alef0 10. 1. 2010 14:21
Nový
│
 
 
 
 
└ 
Re: Prosím o vysvětlení
, 10. 1. 2010 20:13
Nový
├ 
Re: Prosím o vysvětlení
alef0 8. 1. 2010 10:59
Nový
├ 
Re: Prosím o vysvětlení
Matyáš Novák 8. 1. 2010 11:44
Nový
│
└ 
Re: Prosím o vysvětlení
alef0 8. 1. 2010 13:57
Nový
│
 
└ 
Re: Prosím o vysvětlení
b*d 8. 1. 2010 18:02
Nový
│
 
 
└ 
Re: Prosím o vysvětlení
Peter Rybar 8. 1. 2010 18:15
Nový
│
 
 
 
└ 
Re: Prosím o vysvětlení
b*d 8. 1. 2010 19:09
Nový
│
 
 
 
 
├ 
Re: Prosím o vysvětlení
alef0 8. 1. 2010 19:45
Nový
│
 
 
 
 
└ 
Re: Prosím o vysvětlení
Peter Rybar 11. 1. 2010 02:40
Nový
│
 
 
 
 
 
└ 
Re: Prosím o vysvětlení
b*d 11. 1. 2010 12:51
Nový
│
 
 
 
 
 
 
└ 
Re: Prosím o vysvětlení
Peter Rybar 11. 1. 2010 14:22
Nový
│
 
 
 
 
 
 
 
└ 
Re: Prosím o vysvětlení
b*d 11. 1. 2010 18:34
Nový
│
 
 
 
 
 
 
 
 
├ 
Školství
Franta Kučera 11. 1. 2010 18:42
Nový
│
 
 
 
 
 
 
 
 
└ 
Re: Prosím o vysvětlení
alef0 11. 1. 2010 22:15
Nový
│
 
 
 
 
 
 
 
 
 
├ 
Re: Prosím o vysvětlení
dc 11. 1. 2010 23:52
Nový
│
 
 
 
 
 
 
 
 
 
└ 
Re: Prosím o vysvětlení
Peter Rybar 12. 1. 2010 10:46
Nový
│
 
 
 
 
 
 
 
 
 
 
└ 
Re: Prosím o vysvětlení
alef 12. 1. 2010 11:21
Nový
│
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Prosím o vysvětlení
Franta Kučera 12. 1. 2010 12:54
Nový
├ 
Re: Prosím o vysvětlení
Franta Kučera 8. 1. 2010 12:56
Nový
└ 
Re: Prosím o vysvětlení
Láďa 8. 1. 2010 13:49
Nový
novoročné predsavzatie
rooobertek 8. 1. 2010 08:25
Nový
└ 
Re: novoročné predsavzatie
K-Kamil 8. 1. 2010 08:41
Nový
 
├ 
Re: novoročné predsavzatie
rooobertek 8. 1. 2010 08:50
Nový
 
└ 
Re: novoročné predsavzatie
ahl 8. 1. 2010 10:24
Nový
 
 
└ 
Re: novoročné predsavzatie
Láďa 8. 1. 2010 13:42
Nový
 
 
 
└ 
Re: novoročné predsavzatie
Ondra Satai Nekola 8. 1. 2010 15:51
Nový
pod poklickou
multi 8. 1. 2010 08:45
Nový
├ 
Re: pod poklickou
rooobertek 8. 1. 2010 08:54
Nový
├ 
Re: pod poklickou
MD 8. 1. 2010 09:05
Nový
├ 
Re: pod poklickou
Melme 8. 1. 2010 09:17
Nový
│
└ 
Re: pod poklickou
Tonda 8. 1. 2010 15:30
Nový
│
 
└ 
Re: pod poklickou
b*d 8. 1. 2010 18:11
Nový
├ 
Re: pod poklickou
Mr.Dan 8. 1. 2010 10:48
Nový
│
├ 
Re: pod poklickou
ahl 8. 1. 2010 11:20
Nový
│
│
└ 
Re: pod poklickou
uf 14. 1. 2010 20:22
Nový
│
└ 
Re: pod poklickou
Adam Hořčica 8. 1. 2010 12:13
Nový
│
 
├ 
Re: pod poklickou
Peter Rybar 8. 1. 2010 12:47
Nový
│
 
│
└ 
Re: pod poklickou
Vykook 8. 1. 2010 13:19
Nový
│
 
│
 
└ 
Re: pod poklickou
Peter Rybar 8. 1. 2010 13:24
Nový
│
 
│
 
 
└ 
Re: pod poklickou
Adam Hořčica 8. 1. 2010 14:12
Nový
│
 
│
 
 
 
├ 
Re: pod poklickou
Peter Rybar 8. 1. 2010 14:36
Nový
│
 
│
 
 
 
│
├ 
Re: pod poklickou
Tonda 8. 1. 2010 15:36
Nový
│
 
│
 
 
 
│
│
└ 
Re: pod poklickou
Peter Rybar 8. 1. 2010 17:02
Nový
│
 
│
 
 
 
│
└ 
Re: pod poklickou
Franta Kučera 8. 1. 2010 15:54
Nový
│
 
│
 
 
 
│
 
└ 
Re: pod poklickou
Peter Rybar 8. 1. 2010 17:26
Nový
│
 
│
 
 
 
├ 
Re: pod poklickou
alef0 8. 1. 2010 14:38
Nový
│
 
│
 
 
 
│
├ 
Re: pod poklickou
Peter Rybar 8. 1. 2010 15:00
Nový
│
 
│
 
 
 
│
│
├ 
Re: pod poklickou
alef0 8. 1. 2010 15:29
Nový
│
 
│
 
 
 
│
│
└ 
Re: pod poklickou
Milan 8. 1. 2010 15:38
Nový
│
 
│
 
 
 
│
├ 
Re: pod poklickou
Tonda 8. 1. 2010 15:41
Nový
│
 
│
 
 
 
│
├ 
Re: pod poklickou
Franta Kučera 8. 1. 2010 15:42
Nový
│
 
│
 
 
 
│
└ 
Re: pod poklickou
b*d 8. 1. 2010 18:41
Nový
│
 
│
 
 
 
│
 
└ 
Re: pod poklickou
alef0 8. 1. 2010 19:03
Nový
│
 
│
 
 
 
│
 
 
└ 
Re: pod poklickou
b*d 8. 1. 2010 19:23
Nový
│
 
│
 
 
 
└ 
Re: pod poklickou
Peter Rybar 10. 1. 2010 12:39
Nový
│
 
└ 
Re: pod poklickou
Vykook 8. 1. 2010 12:53
Nový
└ 
Re: pod poklickou
Tonda 8. 1. 2010 15:28
Nový
 
└ 
Re: pod poklickou
alef0 8. 1. 2010 15:32
Nový
 
 
└ 
Re: pod poklickou
Tonda 8. 1. 2010 15:45
Nový
 
 
 
└ 
Re: pod poklickou
alef0 8. 1. 2010 16:18
Nový
Má význam tento seriál ?
Richard 8. 1. 2010 19:45
Nový
└ 
Re: Má význam tento seriál ?
ornyx 11. 1. 2010 01:41
Nový
 
├ 
Re: Má význam tento seriál ?
Almad 11. 1. 2010 16:36
Nový
 
└ 
Re: Má význam tento seriál ?
b*d 11. 1. 2010 18:20
Nový
 
 
└ 
Re: Má význam tento seriál ?
Almad 12. 1. 2010 15:20
Nový
spusteni
Kakihara 9. 1. 2010 20:34
Nový
├ 
Re: spusteni
Martin Malý 9. 1. 2010 20:44
Nový
└ 
Re: spusteni
HFechs 10. 1. 2010 03:24
Nový
Aplikační server
Alternate 10. 1. 2010 06:12
Nový
├ 
Re: Aplikační server
Richard 10. 1. 2010 09:57
Nový
├ 
Re: Aplikační server
alef0 10. 1. 2010 14:27
Nový
│
└ 
Re: Aplikační server
Alternate 10. 1. 2010 18:55
Nový
│
 
└ 
Re: Aplikační server
alef0 11. 1. 2010 06:42
Nový
├ 
Re: Aplikační server
Adam Hořčica 11. 1. 2010 01:21
Nový
│
└ 
Re: Aplikační server
Alternate 11. 1. 2010 17:22
Nový
└ 
Re: Aplikační server
b*d 11. 1. 2010 18:46
Nový
Jenom k rychlosti
ktv 11. 1. 2010 18:49
Nový
├ 
Re: Jenom k rychlosti
ktv 11. 1. 2010 18:53
Nový
└ 
Drupal – PHP nad Javou
Franta Kučera 11. 1. 2010 19:12
Nový
 
└ 
Re: Drupal – PHP nad Javou
ktv 11. 1. 2010 23:46
Nový
 
 
└ 
Re: Drupal – PHP nad Javou
Franta Kučera 12. 1. 2010 12:44
Nový
 
 
 
└ 
Re: Drupal – PHP nad Javou
ktv 12. 1. 2010 13:03
Nový
aplikacni server?
opicak 13. 1. 2010 00:00
Nový
└ 
Re: aplikacni server?
alef0 13. 1. 2010 09:41
Nový
 
├ 
Re: aplikacni server?
Peter Rybar 13. 1. 2010 11:41
Nový
 
│
└ 
Re: aplikacni server?
alef0 13. 1. 2010 12:33
Nový
 
│
 
└ 
Re: aplikacni server?
Peter Rybar 13. 1. 2010 12:56
Nový
 
│
 
 
└ 
Re: aplikacni server?
alef0 13. 1. 2010 13:58
Nový
 
│
 
 
 
└ 
Re: aplikacni server?
Peter Rybar 13. 1. 2010 14:00
Nový
 
└ 
Re: aplikacni server?
opicak 14. 1. 2010 20:27
Nový
 
 
└ 
Re: aplikacni server?
Franta Kučera 14. 1. 2010 22:17
Nový
supr
em 15. 1. 2010 13:23
Nový
└ 
Re: supr
Franta Kučera 15. 1. 2010 21:55
Nový
 
└ 
Re: supr
uf 16. 1. 2010 23:59
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem