[JAVA] Hoe start ik mijn JAVA avontuur ?

Pagina: 1
Acties:
  • 327 views sinds 30-01-2008
  • Reageer

  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Ik ben zelf tot nu toe vooral een PHP/MySQL/Apache (LAMP) scripter met af en toe wat Object Oriented Progr. ervaring (PEAR etc). Echter, PHP is CV-technisch nog niet zo heel erg interessant. Java daarintegen wordt ontzettend veel gebruikt in het bedrijfsleven.

Echter, waar te beginnen ? Op Sun.com vind je een wirwar aan termen, discplines, platformen SDK's etc ... (J2SE, J2EE, Javabeans, JSP, Swing etc).

Ik onderscheid een paar Java disciplines:

- J2SE 1.4.2 / 5 : Nogal flink versie verschil .. hoe dat zo ?
- J2EE 1.4 : Er is ook een J2EE 5 .. die is nog in ontwikkeling ofzo ?
- JSP : Soort tegenhanger van PHP / ASP etc

Wat wil ik weten :

- Het grote verschil tussen J2SE en J2EE .... Naar mijn idee is J2EE een 'corporate / server' platform van Java dat vooral op applicatieservers draait en veel gebruik maakt van webservices / xml(-rpc) etc ..
- Is het zo dat je, als je J2EE wilt 'leren' .. je eerst J2SE onder de knie moet krijgen ? De basis zeg maar ?
- Waar begin ik in het leertraject ? Welke discipline start ik mee .. hoe ga ik verder en welke software kan ik het beste installeren om een 'leuk en nuttige' ontwikkelomgeving op mijn pc te creëren (SDK ? IDE ? Ecplise ? Netbeans ? BlueJ ).

Kortom .. ik wil op een juiste manier starten met het hele Java verhaal, zodat ik er zoveel mogelijk aan heb .. voor nu, later en op mijn CV.

Nog Java Engineers hier die mij op weg kunnen helpen ?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 27-04 18:17

gorgi_19

Kruimeltjes zijn weer op :9

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Tanx,

De eerste topic heb ik niks aan .. de tweede wel ! Maar toch heb ik nog wel behoefte aan een kleine uitleg over de structuur. Wat zijn de verschillende doeleinden van de verschillende Java disciplines (JSP / Servlets is webapplicaties ? J2EE = ?? etc .. ).

  • Denker
  • Registratie: Maart 2003
  • Laatst online: 07-04 10:37
Een verschil tussen Java 1.4.2 en Java 1.4.5 waar ik mee te maken heb (ook wel Java 5 genoemd, dat staat stoerder) is Generics en Scanners.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 08:14

Janoz

Moderator Devschuur®

!litemod

BoXie schreef op donderdag 06 oktober 2005 @ 15:59:
- J2SE 1.4.2 / 5 : Nogal flink versie verschil .. hoe dat zo ?
Ze zijn opgehouden het 1tje ervoor te zetten. Sowieso is het verschil voor beginners minimaal en zou ik me hierom niet druk maken
- J2EE 1.4 : Er is ook een J2EE 5 .. die is nog in ontwikkeling ofzo ?
Vast, maar ook hier maakt dat voor jou eigenlijk weinig uit.
- JSP : Soort tegenhanger van PHP / ASP etc
Ja, wel ongeveer, maar in principe moet je dit meer zien als de html waarin je specifieke tags kun t gebruiken. Je kunt er wel net zo mee werken als php en het oude asp, maar daar schiet je nauwelijks wat mee op.
Wat wil ik weten :

- Het grote verschil tussen J2SE en J2EE .... Naar mijn idee is J2EE een 'corporate / server' platform van Java dat vooral op applicatieservers draait en veel gebruik maakt van webservices / xml(-rpc) etc ..
In principe is j2ee niks meer dan een extra set met classes die extra functionaliteit bied. Daarnaast zijn er een berg specificaties. Deze specificaties zeggen bijvoorbeeld hoe een applicatie server zou moeten werken en wat daar allemaal mee gedaan zou moeten kunnen worden.
- Is het zo dat je, als je J2EE wilt 'leren' .. je eerst J2SE onder de knie moet krijgen ? De basis zeg maar ?
j2ee leren is eigenlijk een niets zeggend iets. In principe moet je eerst leren hoe je object georienteerd java programmeert. j2se en j2ee zijn gewoon een berg standaard libraries die je vervolgens in je applicatie kunt gebruiken
- Waar begin ik in het leertraject ? Welke discipline start ik mee .. hoe ga ik verder en welke software kan ik het beste installeren om een 'leuk en nuttige' ontwikkelomgeving op mijn pc te creëren (SDK ? IDE ? Ecplise ? Netbeans ? BlueJ ).
SDK heb je sowieso nodig. Een IDE is ook aan te raden, maar zeker wanneer je net begint kan dit zorgen voor een enorme overload aan functionaliteiten waardoor je door de bomen het bos niet meer ziet.

Begin gewoon met je code in een simpele editor te tikken en vervolgens op de commandline dit stukje code te compileren en runnen. Ga hier gewoon lekker mee pielen.

Later kun je wel eens gaan kijken of je applicaties (Swing) in elkaar wilt draaien, of misschien wel je eerste stappen j2ee met een servlet.

Zelfstudie vergt nogal wat discipline en doorzettings vermogen. Als je het daadwerkelijk voor je CV wilt gaan doen dan lijkt het me een stuk handiger om gewoon een cursus te gaan volgen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Eclipse is een goede en gratis ontwikkelomgeving waarin je kunt gaan programmeren. Ik zou beginnen met wat commandline dingetjes, eventueel uitbreiden met FileIO. Je moet dan ook leren met klassen, abstracte klassen, inheritence, UML te werken.
Dan kun je iets grafisch proberen te maken. Ik zou eerst wat aanrommelen in awt om dat eens gezien te hebben en dan al snel overstappen naar swing.

Je kunt natuurlijk ook gewoon een boek kopen. "En dan is er... JAVA" van Gert Jan Laan is een goed boek voor beginners. Het begint niet heel saai, je werkt er redelijk vlot doorheen en daarna heb je een goede fundamentele basis om het pas echt te gaan leren. D.w.z. om echt om te leren gaan met de mogelijkheden die java biedt om groot en georganiseerd te werken.

Netbeans zou ik even laten liggen. Je moet eerst java zelf kennen voordat je je aan grotere complexere dingen moet wagen en pas daarna is het leuk om misschien iets met EEJB en J2EE te gaan maken.
Verder heb ik zelf niet eens een idee wat BlueJ is, maar je zult de dingen vanzelf wel tegenkomen tegen de tijd dat je er mee bezig bent. Zo moet je nu ook nog niet gaan kijken wat JUnit is. Pas als je goed in klassen kunt programmeren.

[ Voor 23% gewijzigd door Verwijderd op 06-10-2005 16:37 ]


  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Janoz schreef op donderdag 06 oktober 2005 @ 16:17:
Zelfstudie vergt nogal wat discipline en doorzettings vermogen. Als je het daadwerkelijk voor je CV wilt gaan doen dan lijkt het me een stuk handiger om gewoon een cursus te gaan volgen.
Wat dan wel interessant is; is om er gewoon een cursus bij te pakken :).

Neem bijvoorbeeld deze :

http://www.cs.uu.nl/docs/vakken/imp/

Dat is de Imperatief Programmeren cursus van de informatica faculteit van de Universiteit Utrecht. Als je al kan programmeren is het misschien te makkelijk, maar toch wel nuttig; dan kan je er gewoon extra snel doorheen.

Hier zit van alles bij, waaronder een volledig Collegedictaat dat je gewoon kan downloaden, waar theorie instaat, plus vragen over de theorie, wat simpele oefeningetjes en ook iets uitgebreidere projectjes. Tevens staan er oefententamens waarmee je kan checken of je het hebt gesnapt :).

Als je dan van tevoren een schema maakt, en tegen jezelf zegt dat je het (inclusief de projecten), in tien weken af wilt ronden (net als de studenten daar doen), dan heb je meteen een tijdsplanning en is je motivatie ook makkelijker op peil te houden :).

Dit gaat overigens voornamelijk over het programmeren, en minder over java zelf, maar kan toch wel nuttig zijn als je alleen uit de scripting hoek komt. :)

  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Ok mensen .. zeer bedankt .. dit is zeer nuttig.

Ik ga sowieso beginnen met een fatsoenlijk leerboek om de taal en het OOP beter onder de knie te krijgen.

Daarna wil ik me voornamelijk gaan richten op webapplicaties. Geen standalone uitvoerbare zaken (dus geen GUI's bouwen enzo).

Wat is hiervoor een mooi traject ?

Ik denk zelf aan : Java2 taal leren -> Tomcat -> JSP / Servlets

Kan iemand deze 'roadmap' even aanvullen met de relevante zaken die nog meer met Java webapplicaties te maken hebben.

[ Voor 4% gewijzigd door BoXie op 06-10-2005 18:11 ]


  • Cloud
  • Registratie: November 2001
  • Laatst online: 16-04 10:48

Cloud

FP ProMod

Ex-moderatie mobster

BoXie schreef op donderdag 06 oktober 2005 @ 18:11:
Wat is hiervoor een mooi traject ?

Ik denk zelf aan : Java2 taal leren -> Tomcat -> JSP / Servlets
Op mijn opleiding Informatica begin ik net aan het vak "Internettoepassingen" en de volgorde die jij daar nu noemt is ongeveer daarop van toepassing. Al kende ik Java natuurlijk al :)
Trouwens, om servlets/JSP te kunnen gebruiken heb je volgens mij ook een omgeving als Tomcat of Jetty (ong. hetzelfde) nodig om ze uberhaupt te kunnen runnen. Als ik dit alles zou moeten leren, is mijn volgorde:
  • Java taal leren
  • OO programmeren met Java
  • Simpele netwerk toepassinkjes (met file IO)
  • JSP/Servlets (hoe werken ze? en hoe maak ik ze?)
  • Eventueel verder uit te breiden naar J2EE, ookal is dit in de meeste gevallen overbodig. Het is echt Enterprise Edition gericht ;)
Succes ermee in ieder geval! Java is een goede taal om OO mee te gaan leren :) Er zijn ook zat tutorials te vinden trouwens. Qua OO zou ik toch zeker een boek aanschaffen om het uit te leren. Er zijn namelijk zat sites/tutorials, die er wat OO betreft wel eens in om lullen. ;)
Daarnaast wil ik zeggen dat als je aan OO begint, je het beste ook meteen UML kunt leren, om je programma's in te ontwerpen. Ik weet niet waar je je programmeerkennis voor wilt gebruiken, maar ik denk dat het altijd wel van pas zal komen ;)

Never attribute to malice that which can be adequately explained by stupidity. - Robert J. Hanlon
60% of the time, it works all the time. - Brian Fantana


Verwijderd

BoXie schreef op donderdag 06 oktober 2005 @ 18:11:
Ok mensen .. zeer bedankt .. dit is zeer nuttig.

Ik ga sowieso beginnen met een fatsoenlijk leerboek om de taal en het OOP beter onder de knie te krijgen.

Daarna wil ik me voornamelijk gaan richten op webapplicaties. Geen standalone uitvoerbare zaken (dus geen GUI's bouwen enzo).

Wat is hiervoor een mooi traject ?

Ik denk zelf aan : Java2 taal leren -> Tomcat -> JSP / Servlets

Kan iemand deze 'roadmap' even aanvullen met de relevante zaken die nog meer met Java webapplicaties te maken hebben.
Gezien het feit dat je al PHP kent (en dus je loops en function statements wel kent) heb je denk'k tamelijk genoeg aan the java tutorial (sun site). Je zei ook dat je OO programmeerde in PHP, dus dat scheelt ook al een hele brok.
Maak gewoon een command line tooltje dat wat met een database morrelt, zorg ervoor dat de presentatie (command line) en wat het echt doet (business logic) mooi gescheiden zijn. Lees je in in het DAO pattern (dus database abstractie). Later kun je je DAO vervangen door een Hibernate DAO en moet je applicatie nog steeds werken (je hebt dan dus gebruik gemaakt van interfaces en een factory pattern om de DAO te verkrijgen). Later zul je je layout wijzigen en zet je geen command line cliënt voor je applicatie maar een heuse Servlet&JSP (servlet handelt requests af en JSP's verzorgen de view, kijk maar naar RequestDispatcher om te weten hoe je ze mooi kan combineren). Naarmate je applicatie groeit zul je echter merken dat gewone eenvoudige servlets niet makkelijk te beheren zijn en zul je beginnen zoeken naar een framework, dus begin je je presentation laag te refactoren naar iets als WebWork of Struts, daar zal dan al direct heel wat werk in kruipen.

De moeilijkste overstap zal die zijn naar een servletomgeving waar je je hele server + configuratie moet starten, maar het lijkt me een mooi leertraject waar je leert hoe je alles zo mudulair mogelijk moet afhandelen. Eens je zover bent en al die refactorings gedaan hebt zul je de principes van Spring framework (ja, NOG een framework) des te meer appreciëren

't is maar een idee natuurlijk, maar het lijkt me een eenvoudige start die je direct in wat basis java klassen gooit en zo verder en verder te gaan met dezelfde middle tier (business logic). Iets met 2 tabellen zou moeten volstaan.... (Artiest & track bijvoorbeeld, maar je kan zeker zelf met een mooi idee op de proppen komen).

succes :)

  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Bedankt mensen !

@Voodoochile: Mooi verhaal .. dit is een goede uitleg van de levensfase van een simpel CLI-programmaatje tot aan een Enterprise ready omgeving. Zoiets wilde ik wel es weten inderdaad !!

Mijn OOP ervaring bestaat voornamelijk nog uit het gebruiken van bestaande classes (PHP PEAR). Het zelf maken van classes en alles wat daarbij komt kijken wordt dus nog een behoorlijke uitdaging. Evenals UML (god weet waarom ik dit niet heb geleerd op HEAO-BI). Ik ga dus maar eens een goed boek zoeken.

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Als je nog niet bekend bent met Design Patterns, dan raad ik je erg aan om eens naar het boek "Design Patterns Explained" te kijken. Je leert er (enkele) Design Patterns en ook nog eens goede en belangrijke OO princiepes.

Noushka's Magnificent Dream | Unity


  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
@The_Tsar :

Dat boek 'En dan is er .... JAVA' .. behandelt dat ook een stuk UML en JSP / Servlets ?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 08:14

Janoz

Moderator Devschuur®

!litemod

JSP's en Servletszijn dingen waar je je nu nog niet mee bezig moet houden. Een servlet is eigenlijk niks anders dan een java programma waarop een methode wordt aangeroepen als iemand een webpagina opvraagt. Als resultaat moet de servlet vervolgens de webpagina (of wat dan ook) teruggeven. JSP pagina's zijn eigenlijk een speciale vorm van een servlet. Dit is in principe gewoon een html pagina met extra tags. Deze worden door je applicatie server 'gecompileerd' naar een servlet.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

BoXie schreef op donderdag 06 oktober 2005 @ 19:15:
@The_Tsar :

Dat boek 'En dan is er .... JAVA' .. behandelt dat ook een stuk UML en JSP / Servlets ?
Nee, zo uitgebreid is het niet. Het bevat 570 bladzijde verdeeld over 21 hoofdstukken maar je gaat er redelijk snel doorheen. Het is gewoon voor een goede basis van hoe je in Java klasses maakt, methoden aanroept, primitieven maakt, foutafhandeling moet doen, abstractie kunt gebruiken, packages moet gebruiken, fileio enz. Zeker als je php al kunt schiet je er waarschijnlijk snel doorheen, maar je leert wel java-denken, de broodnodige java fundamentals en met klassen en abstractie werken.
Het begint met applets, maar gaat later over in applicaties en dan zie je dat dat ook bijna geen verschil uitmakt.

Gewoon een goede basis java programmeren en dat is belangrijk want wat je in java ook doet: GUI's, servlets, servers, enz. dat bovenlaagje moet toch altijd draaien op een goed systeem en hoe je dat aanpakt komt toch altijd redelijk op basis java programmeren aan.

Dat boek werk je in een maand of 2 à 3 door (of je moet al die oefeningen gaan doen, maar je rommelt natuurlijk gewoon zelf wat aan :P ), half jaar als je wat minder vaak de tijd hebt. Daarna kun je wel af met:
SUN Java API
en de
SUN Java Tutorial
en alle andere informatie op het internet.

Het boek behandelt wel klassen, maar wel vanuit programmeer perspectief. Als je het echt vanuit de ontwerpbenadering wil leren en ook alle andere UML-diagrammen wil leren is "Praktisch UML" wel een handig boekje. Maar daar zou ik pas aan beginnen als je in Java al aardig je weg weet met klassen en packages e.d.

En dan is er java: ISBN: 9039516901
Praktisch UML: ISBN: 9043004944
Meestal vind je de boeken wel bij de 2ehands studieboeken in de slegte omdat wel meer scholen dat boek gebruiken. Daar komt de mijne ook vandaan :)

toevoeging: Als je de basis java programmeren onder de knie hebt en je UML ook begrijpt, moet je maar eens op design patterns richten. Pas als je een goed systeem kunt programmeren in Java moet je je pas echt op die bovenlaag storten. Dan is servlets wel een leuke uitdaging in combinatie met Java Enterprise Beans en J2EE.

Je ziet, het kost wel wat moeite voordat je kunt programmeren. Als je Java kent, kun je ook in no-time C, met wat extra moeite C++ en zonder problemen alle andere object geörienteerde talen snel leren gebruiken. Dat is dan weer het voordeel :) .

[ Voor 19% gewijzigd door Verwijderd op 06-10-2005 20:31 ]


  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Bedankt Tszar,

Grappig .. laat ik nou net die 2 boeken (En dan is er Java / Practisch UML) hebben gekocht via speurders.nl.

Ik kan aan de slag !

[ Voor 3% gewijzigd door BoXie op 06-10-2005 21:39 ]


  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Valt me trouwens op dat de Wikipedia (wikipedia.org) ook een uitstekende plek is om veel te weten te komen over allerlei programmeer trends, jargon, terminology etc ...

En een ontzettend dikke Java entry :

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

Verwijderd

BoXie schreef op donderdag 06 oktober 2005 @ 15:59:
Ik ben zelf tot nu toe vooral een PHP/MySQL/Apache (LAMP) scripter met af en toe wat Object Oriented Progr. ervaring (PEAR etc). Echter, PHP is CV-technisch nog niet zo heel erg interessant. Java daarintegen wordt ontzettend veel gebruikt in het bedrijfsleven.

Echter, waar te beginnen ? Op Sun.com vind je een wirwar aan termen, discplines, platformen SDK's etc ... (J2SE, J2EE, Javabeans, JSP, Swing etc).

Ik onderscheid een paar Java disciplines:

- J2SE 1.4.2 / 5 : Nogal flink versie verschil .. hoe dat zo ?
Dit heeft nog iemand goed uitgelegd dus ik zal eens een poging doen ;)

In den beginne had je Java 1.0 (ok, voor de puristen, er was daarvoor nog Oak maar die slaan we even over). Goed, vrij snel daarna kwamen er updates zoals 1.1 die alleen features aan de toen karige standaard library toevoegde. Op het moment dat er language features toegevoegd werden (oa inner classes) vond de marketting department het tijd om het Java 2 te noemen. De programmeurs wilden echter de 1.x nummering aanhouden. Op onnavolgbare reden is het toen Java 2 en Java 1.2 tegelijk geworden. De grote revesie daarna had geen taal veranderingen, en kon dus volgens de filosophie van de marketting mensen geen Java 3 worden. Wederom was het niet te volgen, maar het werd toen Java 2 - Standard Edition 1.3, afgekort naar J2SE 1.3. Daarna kwam nog J2SE 1.4 en J2SE 1.4.2 etc. Op dat moment was de 1.x het versie nummer geworden, en was de naam van de taal "Java2" waarbij de 2 eigenlijk geen betekenis meer had als zijnde een versie nummer.

De huidige versie van Java had volgens de geldende regels Java 3 - Standard Edition 1.5 (J3SE 1.5) moeten gaan heten (er zaten weer een paar nieuwe language features in), maar iemand besloot dat 1.5 te laag klonk, en dat veel mensen de taal in de afkorting niet meer als Java kende, maar als "Java2". Het werd dus J2SE 5.0.

Een aantal maanden geleden is echter besloten dat de taal toch weer gewoon Java moet gaan heten, omdat de 2 toch een versie nummer impliceert wat het niet meer is. Nu spreken we dus van Java Standard Edition 5 en over een jaar Java Enterprise Edition 5.
- J2EE 1.4 : Er is ook een J2EE 5 .. die is nog in ontwikkeling ofzo ?
J2EE 1.4 is inderdaad de huidige versie. Java Enterprise Edition 5 (voorheen J2EE 1.5 of J2EE 5.0 genoemt) wordt verwacht over iets minder dan een jaar.
- JSP : Soort tegenhanger van PHP / ASP etc
JSP in de ouderwetse vorm is exact PHP, met het 'kleine' verschil dat de syntax natuurlijk Java is.

Bv:

Java Server Page:
1
2
3
4
5
6
7
<html>
<body>
   <% if ( doPrint == true ) { %>
        Hallo mijn naam is <%=firstName + " " + lastName%>, wat is jouw naam?
   <% } %>
<body>
</html>


Als PHP'er zul je je hier waarschijnlijk meteen thuisvoelen. Je hoeft geen echt OO te kennen en het verschil in syntax heb je in 1 dag geleerd.

Het punt is dat deze style outdated is. Net zoals in PHP heb je hier het risico dat mensen bakken met business logic meteen op de pagina zetten. Ook al is het 'echt' Java, als je op deze manier Java toepast heet het officieel toch scripting.

De nieuwere style JSP's verbieden eigenlijk deze vorm. Hoewel het nog steeds kan, wordt het als zeer ongewenst gezien om in PHP-style te werken. Modernere JSP pagina's gebruiken alleen speciale serverside tags en een versimpeld taaltje dat Expression Language heet.

Een moderne JSP ziet er dus eerder zo uit:

Java Server Page:
1
2
3
4
5
6
7
<html>
<body>
      <c:if test="${mybean.doPrint}" > 
          Hallo mijn naam is <c:out value="${mybean.fullName}">, wat is jouw naam?
      </c:if>
<body>
</html>


In dit kleine voorbeeld zie je nog niet zo veel verschil, maar vooral bij grotere pagina's valt het erg op. -Het- idee van EL is dat je er eigenlijk geen hele stukken code mee -kunt- schrijven. De bedoeling is om alle je code in java classes te zetten die van alles berekenen en data in ruwe vorm klaarzetten en dan op je JSP pagina met een minimaal aan EL (alleen heel simpele testen en iteratie's) je HTML pagina te genereren.

(je kunt met EL ook wel een beetje het scripten emuleren, zo kun je via <c:set> met variabelen werken, en expressies als ${firstName + " " + lastName} bestaan ook, maar het idee is dat de java classe (bean) echt alles klaarzet en je in je JSP alleen maar direct HTML genereerd).

Om een beetje op deze wijze te kunnen werken moet je dus iets abstracter kunnen denken, en moet je ook de beginselen van OO en Java zelf wel kennen.

Een moderne JSP pagina zelf bevat dus een minimum aan logica. De opvolger staat echter ook al weer voor de deur. Hier wordt de logica nog verder gereduceerd. Je zet zelfs geen testen en eigenlijk ook geen iteraties meer op je pagina, maar beschrijft alleen nog de layout door zogenaamde componenten te plaatsen. De code achter deze componenten bepalen of ze wel of niet "getekend" gaan worden. Deze opvolger (technisch niet juist om het zo te noemen, maar even voor het gemak) heeft JSF wat staat voor Java Server Faces. Dit moet je nu nog apart downloaden (net zoals je Swing vroeger apart moest downloaden), maar zal volgende jaar standaard in JEE 5.0 zitten.

Aan de ene kant is JSF makkelijker voor designers, maar mischien moeilijker voor beginnende programmeurs. Voor de moderne JSP variant hoef je slechts de beginselen van OO te kennen, maar voor JSF moet je toch wel het hele OO concept begrijpen.
- Het grote verschil tussen J2SE en J2EE .... Naar mijn idee is J2EE een 'corporate / server' platform van Java dat vooral op applicatieservers draait en veel gebruik maakt van webservices / xml(-rpc) etc
Het is al een beetje gezegt maar dit is net niet helemaal de goede omschrijving. In eerste instantie is J2EE inderdaad een zooi extra libraries (packages). Ten tweede draai je J2EE niet boven op een applicatie server, maar de applicatie server IS J2EE. Anders gezegd kun je de applicatie server zien als de uitgebreide java virtual machine die in staat is om J2EE applicaties te draaien.

Het belangrijkste verschil tussen deze "uitgebreide VM" en de standaard VM is dat:

-je applicaties start door deze naar een speciale dir te copieeren en dan via je browser een request te doen.
-je meerdere applicaties per VM kan hebben draaien (normaal Java is 1 app per VM)
-je applicaties hun input via de HTTP request binnen kunnen krijgen
- Is het zo dat je, als je J2EE wilt 'leren' .. je eerst J2SE onder de knie moet krijgen ? De basis zeg maar ?
Eigenlijk wel ja. Iniedergeval natuurlijk de taal Java en de algemene OO concepten, en ten tweede de algemene functies van de J2SE library. Je hoeft niet heel J2SE te kennen voor J2EE. Veel functionaliteit in de J2SE library heeft te maken met het bouwen van grafische user interfaces (AWT/Swing). Voor J2EE toepassingen hoef je deze eigenlijk niet te kennen.

Omdat het moderne J2EE serverside programmeren weer op client side gaat lijken (widgets, events, etc) is het toch wel handig om kennis van Swing te hebben, maar zeker voor de klassieke aanpak (oude of moderne JSPs) niet noodzakelijk.
[quote]
- Waar begin ik in het leertraject ? Welke discipline start ik mee .. hoe ga ik verder en welke software kan ik het beste installeren om een 'leuk en nuttige' ontwikkelomgeving op mijn pc te creëren (SDK ? IDE ? Ecplise ? Netbeans ? BlueJ ).
Makkelijkste begin: J2SE 5 SDK, Eclipse 3.1 en hello world applicatie'tje maken met Swing. Sommige mensen zweren er echter bij dat iedereen met de bare compiler (in dit geval javac) en een teksteditor (bv notepad) met een commandline hello world moet beginnen.

Ik heb een aantal jaren les gegeven in programmeren en merkte toch wel dat ook een behoorlijk aantal mensen toch de voorkeur heeft aan meteen met een IDE beginnen en iets wat meteen iets grafisch laat zien. Voor schrikbarend veel mensen is de commandline en een handmatige javac commando (hoe simpel ook) toch intimiderender dan een IDE installeren, de menu opties voor een new project en een nieuwe file zoeken, en dan de build en run menu items zoeken.

Iniedergeval ziet een standaard Hello world app er zo uit (zie google):

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
import javax.swing.*;        

public class HelloWorldSwing {
    public static void main(String[] args) {
        JFrame frame = new JFrame("HelloWorldSwing");
        final JLabel label = new JLabel("Hello World");
        frame.getContentPane().add(label);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }
}


en een commandline versie:

Java:
1
2
3
4
5
6
public class HelloWorldSwing {
    public static void main(String[] args) {
       System.out.println( "hello, world" );        

    }
}


Lang verhaal geworden eigenlijk, maar hopelijk heb je er nog iets aan :)

[ Voor 3% gewijzigd door Verwijderd op 07-10-2005 00:42 ]


  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Henk ... je doet je naam eer aan .. je bent DE MAN !!

Zeer bedankt voor deze erg uitgebreide uitleg .. Ik heb er heel veel aan gehad en alles is me nu een stuk duidelijker.
Verwijderd schreef op vrijdag 07 oktober 2005 @ 00:41:
[...]
De nieuwere style JSP's verbieden eigenlijk deze vorm. Hoewel het nog steeds kan, wordt het als zeer ongewenst gezien om in PHP-style te werken. Modernere JSP pagina's gebruiken alleen speciale serverside tags en een versimpeld taaltje dat Expression Language heet.
[...]
(je kunt met EL ook wel een beetje het scripten emuleren, zo kun je via <c:set> met variabelen werken, en expressies als ${firstName + " " + lastName} bestaan ook, maar het idee is dat de java classe (bean) echt alles klaarzet en je in je JSP alleen maar direct HTML genereerd).
Vraag:

Ik wil dus uiteindelijk de kant op van, zoals jij het noemt, JSP 'nieuwe stijl'.
Waar vind ik meer over EL-Expression Language. En in hoeverre is dit hetzelfde als JSTL (Tag Library) ?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 08:14

Janoz

Moderator Devschuur®

!litemod

EL == JSTL (sort of), maar zoals al vaker aangegeven, daar moet je nu nog niet gelijk mee beginnen. Start gewoon met het in elkaar draaien van enkele client applicaties. Voeg daar wat database interactie aan toe en werk dat nog wat verder uit. Als je dat onder de knie hebt kun je weer verder gaan kijken.
Ik heb een aantal jaren les gegeven in programmeren en merkte toch wel dat ook een behoorlijk aantal mensen toch de voorkeur heeft aan meteen met een IDE beginnen en iets wat meteen iets grafisch laat zien.
Ben ik in principe helemaal met je eens. Je moet echter niet vergeten dat in een les omgeving de ontwikkel omgeving vaak al is ingericht. Wanneer je compleet out of the blue in je eentje java moet gaan leren + een IDE installeren dan krijg je imho al snel het 'Japans en Scheikunde leren uit een japans scheikunde boek' verhaal. Aan de andere kant is het natuurlijk ook zo dat voor iemand die nog nooit met een commandline gewerkt heeft dit ook behoorlijk onbekend terein is.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Donderwolk
  • Registratie: Januari 2002
  • Laatst online: 23-04 13:45
In de tutorial sectie van Sun staat een flink aantal tutorials die je goed op weg kunnen helpen.

http://java.sun.com/docs/books/tutorial/index.html

Pwnd


Verwijderd

Het boek "En dan is er java..." begint ook gelijk met grafische schilletjes. Weliswaar in een applet in plaats van in een applicatie, maar het verschil daartussen is ook nihiel. Waar het omgaat is dat je je in het begin moet focussen op de werking en niet op de presentatie. Dan is het natuurlijk leuk dat dingetjes in textvakjes gepresenteerd worden in plaats van in een dosprompje, maar hou in je achterhoofd dat voor een programmeur de presentatie van het systeem het minst boeiende onderdeel is.
(al is een goede presentatie van een systeem maken een vak appart. Zeker in swing ).

Tip: Als je met het boek bezig bent, wees niet bang om ook met de java tutorial afentoe iets meer dan wat je in het boek leert te maken. Zo is het leerzamer om als je bijvb. in Hoofdstuk 7 bent, de theorie wat hoofdstuk 8 en 9 uit gaat leggen eerst zelf te proberen te ontdekken met java tutorials e.d. Daarna is het boek een handig middel om je opgedane beeld compleet te maken. Zo leer je meer en beter.

Overigens gaaf verhaal over die versienummers :D Wat een bende eigenlijk :) . Dat heb je als je als marketing van een bedrijf het idee hebt dat je tegenover Microsoft moet opboksen maar je je programmeurs niet tegen durft te spreken :+

Verwijderd

Verwijderd schreef op vrijdag 07 oktober 2005 @ 11:21:
Overigens gaaf verhaal over die versienummers :D Wat een bende eigenlijk :) . Dat heb je als je als marketing van een bedrijf het idee hebt dat je tegenover Microsoft moet opboksen maar je je programmeurs niet tegen durft te spreken :+
Sun is de King in vage versie nummers, maar Microsoft kan er ook wat van.

Windows 2000, Windows XP, Windows 2003, Windows Vista hebben allemaal opeenvolgende Windows NT versie nummers. Windows 2000 zou eigenlijk NT5 worden, en is door de programmeurs ook zo doorgenoemd. Dus volgende de MS programmeurs is het rijtje: NT5, NT5.1, NT5.2, en NT6 (?)

Back on topic:

Voor de J2EE documentation: http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html

Vanaf http://java.sun.com/j2ee/1.4/docs/index.html#tutorials kun je ook de PDF versie hiervan downloaden.

@TS: De bovengenoemde documentatie heet dan wel tutorial, maar het is een zeer dik boek (1500blz!) wat bijna meer een reference manual is. Het is dan ook niet echt lichte kost, en mischien niet echt ideaal om mee te beginnen. Wel staat er een schat aan info in en veel voorbeelden van hoe dingen er uit zien.

  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Janoz schreef op vrijdag 07 oktober 2005 @ 09:48:
EL == JSTL (sort of), maar zoals al vaker aangegeven, daar moet je nu nog niet gelijk mee beginnen. Start gewoon met het in elkaar draaien van enkele client applicaties. Voeg daar wat database interactie aan toe en werk dat nog wat verder uit. Als je dat onder de knie hebt kun je weer verder gaan kijken.
[...]
Uiteraard .. maar dit is alvast nuttige info om bekend te raken met het grote plaatje.

Over die versienr's .... marketing mensen -> ze zouden verboden moeten worden. Het is niet voor het eerst dat een technology zijn betekenis verliest door inmenging van marketing. Denk aan RAID (alles heet nu RAID . ook software-raid), huidige processor naamgevingen, en zo zijn er nog wel tientallen te bedenken.

Dit topic heeft mij weer eens de toegevoegde waarde van GoT bewezen.

Ik heb zojuist via via een Sun presentatie over J2EE gekregen ... nog een beetje te ver van mijn bed show.... maar voor anderen wellicht zeer nuttig en verhelderend. Ik deel hem graag met jullie .. misschien dat ik zo wat terug kan doen:

http://www.arcnet.nl/file...oduction_and_practice.pdf

  • Standeman
  • Registratie: November 2000
  • Laatst online: 18:54

Standeman

Prutser 1e klasse

Janoz schreef op vrijdag 07 oktober 2005 @ 09:48:
EL == JSTL (sort of), maar zoals al vaker aangegeven, daar moet je nu nog niet gelijk mee beginnen. Start gewoon met het in elkaar draaien van enkele client applicaties. Voeg daar wat database interactie aan toe en werk dat nog wat verder uit. Als je dat onder de knie hebt kun je weer verder gaan kijken.


[...]

Ben ik in principe helemaal met je eens. Je moet echter niet vergeten dat in een les omgeving de ontwikkel omgeving vaak al is ingericht. Wanneer je compleet out of the blue in je eentje java moet gaan leren + een IDE installeren dan krijg je imho al snel het 'Japans en Scheikunde leren uit een japans scheikunde boek' verhaal. Aan de andere kant is het natuurlijk ook zo dat voor iemand die nog nooit met een commandline gewerkt heeft dit ook behoorlijk onbekend terein is.
Van eclipse heb ik geen verstand, maar NetBeans 4 werkt na het installeren gewoon out of the box. Zowel voor Webapps als client/server (Swing) applicaties. Tevens heb je gelijk een werkende Tomcat server.
Het enige wat je hoeft te doen is het kiezen van wat voor soort project je wilt (General / Web / Enterprise) en je kan aan de slag. Dan nog wat code toevoegen en op F6 drukken en je project draait. Bij elkaar misschien 15 tot 30 minuten werk:)

Je hebt in iedergeval wel sneller een "leuk" resultaat dan via de commandline..

Als ik java (weer) moest leren, zou ik gewoon met NetBeans de standaard tutorial, de JDBC tutorial en de J2EE tutoral (H1, Servlets) doorlopen. Dan heb je gelijk een goede "feel" en een redelijk basis om verder op door te gaan.

[ Voor 11% gewijzigd door Standeman op 07-10-2005 13:22 ]

The ships hung in the sky in much the same way that bricks don’t.


  • jAnO!
  • Registratie: Januari 2002
  • Laatst online: 18-03 09:04

jAnO!

lalalavanillevla

Als je wilt beginnen is DE optie:

Head First Java

En online:

www.javaranch.com

When some people work at a place for ten years they get ten years of experience, other people work at a place for ten years and get one year of experience ten times.


  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Ok .. dit is natuurlijk iets waar ik straks pas tegenaan loop .. maar ik ben nu toch al erg benieuwd naar het volgende .. en ik krijg het maar niet duidelijk .. hoeveel tutorials ik ook lees :

Wat is nou precies een JavaBean ? En in hoeverre verschilt dit van een Servlet ?

Wat ik weet is dat een Javabean een soort class is met get en set methods .. maar waarom dan ?

Kan iemand mij helder uitleggen, desnoods via een metafoor .. wat een JavaBean nou eigenlijk is ? En waarom je deze naast JSP's en Servlets wel es nodig hebt tijdens het webapplicatie ontwikkelen ?

  • Cloud
  • Registratie: November 2001
  • Laatst online: 16-04 10:48

Cloud

FP ProMod

Ex-moderatie mobster

Van google:
Javabean: A reusable component that can be used in any Java application development environment. JavaBeans are dropped into an application container, such as a form, and can perform functions ranging from a simple animation to complex calculations.
Oftewel een prefab stukje code met een doel. Zo heb je bijvoorbeeld beans die netwerk verbindingen maken, maar ook beans die gericht zijn op interface gerelateerde zaken. :) Een bean is vaak afgesloten; je gebruikt er alleen de .class van. Daarom zijn de get en set-methoden aanwezig, om je duidelijke toegang ertoe te geven. Dit is mijn idee ervan allemaal, er kunnen wat foutjes in zitten, maar dit zijn wel de hoofdlijnen.
Een servlet is een "applet" alleen dan een die server-side draait. Een bean is hierin onafhankelijk. Het is net als de standaard componenten die je misschien wel kent uit de IDE's van Delphi en VisualBasic etc.

Je hebt beans dus niet persé nodig tijdens het ontwikkelen, maar soms kunnen ze je van pas komen tijdens het maken van applicaties :) Maar zoals nu al een aantal keer benadrukt is; ga eerst simpele Java applicaties maken, begin daarna met client/server dingen, en ga daarna pas verder kijken. Deze kennis komt allemaal vanzelf als je verder duikt in java :)

Never attribute to malice that which can be adequately explained by stupidity. - Robert J. Hanlon
60% of the time, it works all the time. - Brian Fantana


  • Standeman
  • Registratie: November 2000
  • Laatst online: 18:54

Standeman

Prutser 1e klasse

Vanuit de Java Glossary op java.sun.com:
A reusable software component that conforms to certain design and naming conventions. The conventions enable beans to be easily combined to create an application using tools that understand the conventions.
Even een kort voorbeeldje erbij: Doordat een bean standaard get en set methoden is het super makkelijk te koppelen tussen een HTML formulier en bijv. een stuts Action. Hierdoor hoef je geen code te schrijven voor het uitlezen van je HTML form, maar wordt deze "automagisch" gevuld door de strutsclasses. In je action heb je dus een Object waarin al je form data staat, zonder dat je er 1regel voor hoeft te programmeren (wel configureren natuurlijk) m.u.v. van de bean zelf.
In principe stelt een bean dus heel weinig voor, maar is het wel superhandig i.c.m. met struts.

Het grootste voordeel is dat ze heel handig hergebruikt kunnen worden. Misschien heb je deze faq nog niet gezien? Ik vind 'm redelijk duidelijk..

Als je een "gewoon" een web applicatie in elkaar zet heb je in principe geen beans / patterns nodig. Als je het MVC pattern wilt gaan volgen voor je webapplicatie door struts te gaan gebruiken, gaan ze wel heel erg handig worden! Maar als beginner, zal ik me daar geen zorgen om gaan maken.

Misschien is het wel een handig idee om eerst gewoon een web applicatie in elkaar te knutselen en deze dan te herschrijven volgens het MVC pattern (bijv. Struts). Dan zie je gelijk de voor en nadelen van beide werkwijzen.

[ Voor 21% gewijzigd door Standeman op 11-10-2005 17:27 ]

The ships hung in the sky in much the same way that bricks don’t.


  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Ok het klinkt allemaal nog erg abstract voor me .. maar ik zal over een tijd wat goeie voorbeelden moeten zien denk ik.

Ik heb nu het boek 'En dan is er Java' 2de druk .. gaat alleen echt over Java en een klein stukje Swing geloof ik .. maar geen JSP / Beans etc .. dus dat komt later.

Maar ik orienteer me vast waar ik heen moet als ik dat boek uitheb .. want er is een shitload aan technieken waar ik dol van word. Maar het zal wel richting het webapplicatie geheel gaan .. Struts, Tomcat, JSP, Servlets, JSTL, JavaBeans .. JavaFaces .. pff .. om gek van te worden.

Verwijderd

BoXie schreef op dinsdag 11 oktober 2005 @ 22:16:
Ok het klinkt allemaal nog erg abstract voor me .. maar ik zal over een tijd wat goeie voorbeelden moeten zien denk ik.

Ik heb nu het boek 'En dan is er Java' 2de druk .. gaat alleen echt over Java en een klein stukje Swing geloof ik .. maar geen JSP / Beans etc .. dus dat komt later.

Maar ik orienteer me vast waar ik heen moet als ik dat boek uitheb .. want er is een shitload aan technieken waar ik dol van word. Maar het zal wel richting het webapplicatie geheel gaan .. Struts, Tomcat, JSP, Servlets, JSTL, JavaBeans .. JavaFaces .. pff .. om gek van te worden.
Je hebt een systeem en je hebt de presentatie van het systeem. Zonder een goed systeem kun je presenteren wat je wilt, maar dan schiet het niet op. Zonder goede presentatie kun je nog zo'n mooi systeem hebben, niemand kan het gebruiken.
Toch is een goed systeem velen malen belangrijker dan een goede presentatie. Zo'n presentatie laag kun je makkelijk wegflikkeren en vervangen voor een nieuwe vorm van presenteren (ipv swing jsp ofzo). Het systeem zelf kan zo groot zijn dat je dat nooit wil weggooien. Wel wil je dat aan kunnen passen naar nieuwe eisen o.i.d. Dat lukt alleen als het systeem van het begin af aan goed opgebouwt is.

Niets weerhoud je er natuurlijk van om als je bij hoofdstuk 13 of 14 ofzo bent, de boel als applicatie te gaan schrijven i.p.v. applet. Je kunt dan naar H18 bladeren en dan kom je er met of zonder internet wel uit.
Niemand weerhoud je er van als je vervolgens naar internet gaat en uitzoekt hoe je die standaard lelijke AWT-uiterlijk kan vervangen voor een geliktere en flexibelere swing-uiterlijk. Daarbij zul je ontdekken dat swing MCV is (en dat dat blijkbaar een soort structuur inhoudt) en dat je het wel al een beetje kunt toepassen, maar pas echt ten volle kunt begrijpen gebruiken als je H15 voorbij bent. (of tegen die tijd zul je misschien ook wel het e.e.a. zonder het boek erbij leren).

Bean is gewoon een stukje functionaliteit op zichzelf wat je geen applicatie kan noemen maar wel duidelijk kan afzonderen om als lego-blokje in andere applicaties te plakken. Het geavanceerde zit hem vooral in de naam :)
Al het andere komt wel zodra je applicaties kunt maken en daarbij goed met klassen overweg kan. Dan kun je gaan googlen/GoT'en naar dat gratis als PDF te downloaden Mastering EJB's boek om EJB te leren en vervolgens naar een tutorial te googlelen voor jsp.

Nogmaals, java programmeren in klassen is het fundament. De rest van al die termpjes zijn hulpmiddelen om het makkelijker te maken (en flexibeler). en dan heb je nog wat technieken om makkelijker over netwerken te kunnen communiceren (RMI bijvoorbeeld).
maar daar moet je met de tijd maar eens naar kijken.

Aangezien het zelfstudie is, is het misschien wel handig om een soort planning voor jezelf te maken. Op school heb je gewoon harde deadlines, maar met zelfstudie vereist het anders nogal wat zelfdiscipline.

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
@laatste post TS:

De laatste technieken die je als laatste opnoemt hebben eigenlijk allemaal direct met J2EE te maken. Als ik jou was zou ik gewoon eerst de basis van Java leren (J2SE). Probeer daar bekend mee te worden door er mee te spelen en er zo vertrouwd mee te geraken. Daarna zou je eens gaan kunnen kijken naar een inleidend boek J2EE (zoals Beginning J2EE). Als je daar wat meer mee vertrouwd bent, dan kun je je gaan inlezen in de verschillende frameworks. Je moet niet te veel tegelijk willen. Anders wordt je ook helemaal gek. Te veel om allemaal tegelijk te leren.

Noushka's Magnificent Dream | Unity


  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
Heb je hier misschien wat aan? Lijkt me heldere informatie. Ik ga d'r ook maar eens aan.

http://www.ivobrugge.be/c...p?cursus=JAVA&p=index.asp

[ Voor 33% gewijzigd door Bram77 op 14-10-2005 15:39 ]


  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Goeie tip joh ! Die gaat in mijn bookmarks. Leuke tutorial site.

Verwijderd

Bram77 schreef op vrijdag 14 oktober 2005 @ 15:36:
Heb je hier misschien wat aan? Lijkt me heldere informatie. Ik ga d'r ook maar eens aan.

http://www.ivobrugge.be/c...p?cursus=JAVA&p=index.asp
Op die manier :)

http://www.ster.be/java/

(site van mijn ex-docent :))

Verwijderd

Dit gebruikt boek gebruikt Utwente

Je leert hier gewoon programmeren op een bepaald abstractie niveau en daar maken ze toevallig gebruik van java. Ik denk dat je beter het concept kunt leren. De talen later komen altijd wel.
Pagina: 1