PDA

Bekijk Volledige Versie : Java Server Pages



Chris
19/06/03, 23:20
In deze newgroup heeft iedereen het maar over php en asp en al die bende
meer. Maar zijn er eigenlijk ook mensen die bezig zijn met JSP? Ik krijg nl.
sterk het vermoeden van niet, maar dat kan komen doordat JSP vaak in
professionele omgevingen wordt gebruikt en weinig door hobbyisten. Maar ik
kan het mis hebben natuurlijk :-)

laterz
Chris (stoeit graag met JSP)

uws
19/06/03, 23:35
I <3ef228b3$0$140$e4fe514c@dreader5.news.xs4all.nl>, Chris skrev:
> In deze newgroup heeft iedereen het maar over php en asp en al die bende
> meer. Maar zijn er eigenlijk ook mensen die bezig zijn met JSP? Ik krijg nl.
> sterk het vermoeden van niet, maar dat kan komen doordat JSP vaak in
> professionele omgevingen wordt gebruikt en weinig door hobbyisten. Maar ik
> kan het mis hebben natuurlijk :-)

Ik ben de laatste tijd wel bezig geweest met JSP. Ik heb tot nu toe
enkel wat losse JSP scripts (en een Java Bean) geprogrammeerd overigens.
Toch vind ik PHP een stuk prettiger werken voor webrelated spul.
Servlets/JSP gebruiken als frontend voor een business application is een
heel ander verhaal. Volgens mij is dat namelijk de kracht van servlets
en dat heeft niet zozeer te maken met professionaliteit.

(Trouwens, programmeer jij JSP of schrijf je servlets?)

mvrgr, Wouter

--
uws mail uws@xs4all.nl

see how they fly :: see how they run :: i'm crying -- beatles

Chris
19/06/03, 23:50
"uws" <uws@xs4all.invalid> wrote in message
news:im-a-msgid-virus-20030619-212709@uwsworld.xs4all.nl...
> Ik ben de laatste tijd wel bezig geweest met JSP. Ik heb tot nu toe
> enkel wat losse JSP scripts (en een Java Bean) geprogrammeerd overigens.
> Toch vind ik PHP een stuk prettiger werken voor webrelated spul.
> Servlets/JSP gebruiken als frontend voor een business application is een
> heel ander verhaal. Volgens mij is dat namelijk de kracht van servlets
> en dat heeft niet zozeer te maken met professionaliteit.

Ik heb nu een aantal jaar ervaring met php, maar ik begin me steeds meer te
ergeren aan het taaltje. Functies zijn erg inconsequent met de volgorde van
de parameters en OOP in php is een ramp (overloading en public/private vars
etc. etc. mis ik). En ik ben erg gecharmeerd van de exceptions zoals deze
aanwezig zijn in java. Vandaar dat ik me dus verder wil gaan verdiepen in
JSP (nu is het nog simpele jsp's die iets uit een mysql database trekken
enzo :-)). Ik wil een redelijk grote website die ik gemaakt heb in php gaan
verbouwen naar jsp, dit om ervaring op te doen.

> (Trouwens, programmeer jij JSP of schrijf je servlets?)
Ik ben momenteel bezig met JSP, servlets is de volgende stap :-) Maar die
stap is vrij klein heb ik het idee.

laterz
Chris

Daniel Tryba
20/06/03, 00:35
Chris <dont@like.spam> wrote:
> Ik heb nu een aantal jaar ervaring met php, maar ik begin me steeds meer te
> ergeren aan het taaltje. Functies zijn erg inconsequent met de volgorde van
> de parameters en OOP in php is een ramp (overloading en public/private vars
> etc. etc. mis ik).

Overloading si inderdaad afentoe een gemis (mar dat kan meestal wel met
default voor variabelen worden opgelost), public/private probelemen
zitten tussen de oren van de programmeur. In java kan je namelijk ook
oznder probleem aan private variabelen komen (en wijzigen) mbv
reflection.

Servlets/JSP zijn integenstelling tot PHP (welke veel meer een taal is
met een zootje functies) een uitgebreid framework (net als ASP). Zo
"krijg" je bij PHP slecht eens session en request scope, met
servlets/JSP komen daar een application en page scope bij en ook nog
eens een scope welke helemaal buiten de de JSP/servlet valt (een "JVM
scope"!).

Echter als je dynamische een grafiekje moet maken kan (ik) dat sneller
in PHP dan in Java. Zitten er daarin tegen weer fouten in de code dan is
de Java debugger toch weer wat handiger (zeker als je hotcode replaces
kan doen).

> En ik ben erg gecharmeerd van de exceptions zoals deze
> aanwezig zijn in java.

Als je exceptions gebruikt in JSPs dan ben je IMHO verkeerd bezig.
Netjes gebruik maken van jsp is jezelf beperken tot beans IMHO.

>> (Trouwens, programmeer jij JSP of schrijf je servlets?)
> Ik ben momenteel bezig met JSP, servlets is de volgende stap :-) Maar die
> stap is vrij klein heb ik het idee.

JSPs worden immers gecompileerd naar servlets. Persoonlijk ga ik ervoor
om servlets te gebruiken als controller/model en JSPs als view (puur
templates) die worden aangeroepen vanuit een servlet
(getServletContext().getRequestDispatcher()).

--

Daniel Tryba

Laurens
20/06/03, 20:35
Chris wrote:
> Maar zijn er eigenlijk ook mensen die bezig zijn met JSP? Ik krijg nl.
> sterk het vermoeden van niet, maar dat kan komen doordat JSP vaak in
> professionele omgevingen wordt gebruikt en weinig door hobbyisten. Maar ik
> kan het mis hebben natuurlijk :-)

Precies. Een servlet/JSP engine opzetten is zeker niet zo makkelijk als
het installeren van een PHP/Apache combinatie. Dat is een. Ten tweede
moet je Java leren, wat toch iets moeilijker is dan PHP. Ten derde zijn
er maar weinig hosts die servlet/JSP aanbieden, en er hangt dan een
steviger prijskaartje aan.

Servlets/JSP zijn echter veel meer geschikt voor het maken - en met name
onderhouden - van complexe applicaties. Met een goed framework als
Struts is de scheiding tussen logica en presentatie veel beter dan bij
PHP, waar alles meestal dwars door elkaar geschreven wordt. Je kunt
bijvoorbeeld JUnit test cases schrijven om je application logic uit te
testen buiten de context van je web server. Bij PHP applicaties code men
wat, reload men in de brower, code men weer, weer reload, etc. etc.

Het wordt ook afgeraden om Java code in je JSP te plaatsen, en in plaats
daarvan tag libraries te gebruiken. Logica en data ophalen moet in
servlets afgehandeld worden, JSP's zijn puur en alleen om je data weer
te geven.

JSP 2.0 heeft een aantal ijzersterke features in petto. Met name de
Expression Language syntax uit de JSTL die je rechtstreeks in de pagina
kan plaatsen is een geniale zet.

In plaats van

<jsp:useBean id="person" class="com.package.Person"/>
<jsp:getProperty name="person" value="name"/>

of

<c:out value="${person.name}"/>

kun je direct schrijven

${person.name}

Dit is veel makkelijker in het onderhoud en conflicteert niet met HTML
of XML syntax. Iemand die alleen HTML kent kan hier ook mee uit de
voeten, zonder dat hij/zij bang hoeft te zijn om ergens over te struikelen.

Met andere woorden: als je je werkelijk in JSPs wilt verdiepen, dan kun
je niet om servlets heen. Leer ook Struts, of een ander goed MVC
framework. (Struts is het populairst, en er zijn ook een aantal boeken van.)

Het schijnt dat Zend (of hoe heten die lui?) gaat werken aan een betere
integratie tussen PHP en Java.


Groet
-Laurens

Daniel Tryba
21/06/03, 03:05
Laurens <spam@block.com> wrote:
>> Maar zijn er eigenlijk ook mensen die bezig zijn met JSP? Ik krijg nl.
>> sterk het vermoeden van niet, maar dat kan komen doordat JSP vaak in
>> professionele omgevingen wordt gebruikt en weinig door hobbyisten. Maar ik
>> kan het mis hebben natuurlijk :-)
>
> Precies. Een servlet/JSP engine opzetten is zeker niet zo makkelijk als
> het installeren van een PHP/Apache combinatie. Dat is een.

Wat een onzin, het installeren van bv Tomcat is echt heel simpel,
download de tar.gz, pak die uit, zet JAVA_HOME en run startup.sh
(eventueel moet je nog even een Java SDK downloaden en uitpakken).

[knip]
> Servlets/JSP zijn echter veel meer geschikt voor het maken - en met
> name onderhouden - van complexe applicaties. Met een goed framework
> als Struts is de scheiding tussen logica en presentatie veel beter dan
> bij PHP, waar alles meestal dwars door elkaar geschreven wordt.

Dat is helaas erg kort door de bocht, immers je verglijkt nu
servlets/JSP + _addons_ met plain PHP. Alhoewel Struts vast wel beter
inelkaar zitten dan een verglijkbaar iets in PHP (vanwege oa het
gebrekkige OOM en scopes) is het in PHP zondermeer mogelijk om een
zelfde (MCV) development principe toe te passen (bv PEAR en Smarty).

> Je kunt bijvoorbeeld JUnit test cases schrijven om je application
> logic uit te testen buiten de context van je web server. Bij PHP
> applicaties code men wat, reload men in de brower, code men weer, weer
> reload, etc. etc.

PHPUnit! Samen met bv Zend Studio is er geen enkele noodzaak om te
developen ala trail and error maar bv een testdriven methodiek (Zend
studio is daarbij totaal overbodig maar bied wel een leuke debugger).

[knip verder zeer correcte regels]

--

Daniel Tryba

Laurens
21/06/03, 11:20
Daniel Tryba wrote:
> Wat een onzin, het installeren van bv Tomcat is echt heel simpel,
> download de tar.gz, pak die uit, zet JAVA_HOME en run startup.sh
> (eventueel moet je nog even een Java SDK downloaden en uitpakken).

In het meest gunstige geval ja. Daarbij vergeet je voor het gemak het
classpath. Zodra je meerdere VMs hebt geïnstalleerd, 1.3.x en 1.4.x door
elkaar, dan heb je kans op de meeste vage classloading errors. Met name
XML parsers kunnen je een hoop frustratie bezorgen. Voor een newbie is
dit absoluut niet makkelijk.

Resin is makkelijker te installeren - en sowieso een betere servlet
engine. (Voor ontwikkelen met Resin hoef je geen licentie aan te
schaffen. Dus als je met JSP wilt gaan stoeien, gewoon Resin gebruiken.)

> PHPUnit! Samen met bv Zend Studio is er geen enkele noodzaak om te
> developen ala trail and error maar bv een testdriven methodiek (Zend
> studio is daarbij totaal overbodig maar bied wel een leuke debugger).

OK, vooruit. Toch zie ik de meeste PHP developers via trail-and-error
werken. Laat ik het wat voorzichtiger formuleren: bij Servlet/JSP wordt
erop gehamerd om vanaf het begin af aan een goede architectuur te
hanteren. Zo wordt er afgeraden om scriptlets te gebruiken.


Groet
-Laurens

Daniel Tryba
21/06/03, 13:50
Laurens <spam@block.com> wrote:
>> Wat een onzin, het installeren van bv Tomcat is echt heel simpel,
>> download de tar.gz, pak die uit, zet JAVA_HOME en run startup.sh
>> (eventueel moet je nog even een Java SDK downloaden en uitpakken).
>
> In het meest gunstige geval ja. Daarbij vergeet je voor het gemak het
> classpath. Zodra je meerdere VMs hebt ge?nstalleerd, 1.3.x en 1.4.x door
> elkaar, dan heb je kans op de meeste vage classloading errors.

Hmmmm, ik heb meerdere JVMs geinstaleerd en nog nooit problemen gezien.
Ik heb inderdaad dan ook niets met afzonderlijke classpaths gedaan.
$JAVA_HOME bevat immers het path naar de SDK, $PATH bevat $JAVA_HOME en
het zefde geld voor CLASSPATH. Dat heet niet moeilijk, dat heet
discipline :)

> Resin is makkelijker te installeren - en sowieso een betere servlet
> engine. (Voor ontwikkelen met Resin hoef je geen licentie aan te
> schaffen. Dus als je met JSP wilt gaan stoeien, gewoon Resin gebruiken.)

Ik ontwikkel juist met Tomcat vanwege de goede integratie in Eclipse (en
omdat het de reference implementatie is). Er zullen vast ook wel Resin
plugins zijn.

>> PHPUnit! Samen met bv Zend Studio is er geen enkele noodzaak om te
>> developen ala trail and error maar bv een testdriven methodiek (Zend
>> studio is daarbij totaal overbodig maar bied wel een leuke debugger).
>
> OK, vooruit. Toch zie ik de meeste PHP developers via trail-and-error
> werken.

Ik kan je ook JSPs laten zien die niet netjes (ontwikkeld) zijn. Dit
soort problemen zijn niet gelateerd aan taal maar aan de ontwikkelaars.

> Laat ik het wat voorzichtiger formuleren: bij Servlet/JSP wordt
> erop gehamerd om vanaf het begin af aan een goede architectuur te
> hanteren. Zo wordt er afgeraden om scriptlets te gebruiken.

Analoog aan: guns dont' kill people, people do :)

--

Daniel Tryba

John Bokma
21/06/03, 14:35
Daniel Tryba wrote:

[snip]

> Analoog aan: guns dont' kill people, people do :)

"Grappige" is dat dit soort uitdrukkingen bij een aantal mensen enorm
leed kan veroorzaken. Kleuter die broertje doodschiet... tja, "people
do"... Iemand die volledig overstuur niet meer goed kan nadenken en het
pistool tegen het hoofd zet... "people do".

John


--
email: mail(at)johnbokma.com
home: http://johnbokma.com/

Daniel Tryba
21/06/03, 15:05
John Bokma <postmaster@castleamber.com> wrote:
> [snip]
>
>> Analoog aan: guns dont' kill people, people do :)
>
> "Grappige" is dat dit soort uitdrukkingen bij een aantal mensen enorm
> leed kan veroorzaken. Kleuter die broertje doodschiet... tja, "people
> do"... Iemand die volledig overstuur niet meer goed kan nadenken en het
> pistool tegen het hoofd zet... "people do".

Tsja dit soort voorbeelden zijn meer analoog aan 'guns don't kill
people, bullets do': vooral de schuldvraag maar afschuiven.

--

Daniel Tryba

John Bokma
21/06/03, 15:20
Daniel Tryba wrote:

> John Bokma <postmaster@castleamber.com> wrote:
>
>>[snip]
>>
>>
>>>Analoog aan: guns dont' kill people, people do :)
>>
>>"Grappige" is dat dit soort uitdrukkingen bij een aantal mensen enorm
>>leed kan veroorzaken. Kleuter die broertje doodschiet... tja, "people
>>do"... Iemand die volledig overstuur niet meer goed kan nadenken en het
>>pistool tegen het hoofd zet... "people do".
>
>
> Tsja dit soort voorbeelden zijn meer analoog aan 'guns don't kill
> people, bullets do': vooral de schuldvraag maar afschuiven.

Wat bedoel je met "vooral de schuldvraag maar afschuiven". Ikzelf ben
extreem tegen guns in huis, met name door de enorme ongelukken bij
kinderen (ja, die dingen horen achter slot, maar op de een of andere
manier stoppen mensen ze in hun nachtkastje want er zou maar een
inbreker komen).

En ik ben erg van mening dat er nogal wat mensen zelfmoord plegen omdat
dat zo verdraait eenvoudig gaat met een "gun". En niet iedereen heeft
dat ruim van te voren bedacht maar kan in een extreem emotionele
toestand het wapen pakken. En ik vrees dat een "gun" extreem effectief
is. Polsen doorsnijden (erg lastig & erg pijnlijk), pillen slikken
(braken, of geen dodelijk effect op korte termijn) en zo gaan nog al
eens mis...

John

--
email: mail(at)johnbokma.com
home: http://johnbokma.com/

Daniel Tryba
21/06/03, 15:35
John Bokma <postmaster@castleamber.com> wrote:
>>>"Grappige" is dat dit soort uitdrukkingen bij een aantal mensen enorm
>>>leed kan veroorzaken. Kleuter die broertje doodschiet... tja, "people
>>>do"... Iemand die volledig overstuur niet meer goed kan nadenken en het
>>>pistool tegen het hoofd zet... "people do".
>>
>>
>> Tsja dit soort voorbeelden zijn meer analoog aan 'guns don't kill
>> people, bullets do': vooral de schuldvraag maar afschuiven.
>
> Wat bedoel je met "vooral de schuldvraag maar afschuiven". Ikzelf ben
> extreem tegen guns in huis
[snip]

Aiai, ik dacht dat je het nog altijd over analogien met prgrammeertalen
en het (vermeende) gebrekkige gebruik ervan toeschrijven aan de taal
zelf ipv de (slecht opgevoede) programmeur.

Ik heb absoluut niet de behoefte om over wapens te discussieren en dit is
zeker niet de plek ervoor (daarvoor kan je beter verhuizen naar
nl.politiek).

--

Daniel Tryba

Jelle de Jong
22/06/03, 18:05
Even een vraagje over de hosting... :)

Heeft er iemand een hosting-provider waarbij je JSP's en servlets mag
draaien?

Groeten,
Jelle