PDA

View Full Version : [JSP] Devo partire quasi da zero e avere un quadro completo


TorpedoBlu
10-07-2007, 15:39
Ciao ragazzi, per la mia tesi devo imparare JSP, per poi capire il funzionamento dei vari framework.

so i nomi delle cose da imparare... e basta


1)comprendere AOP (Aspect Oriented Programming) tramite AspectJ (Eclipse)

2)imparare JSP/Servelet/EJB

3.a)considerare ma non solo le realizzazioni di MVC e JSF, Struts, Spring2, Jboss.
3.b)considerare le realizzazioni .NET

4)capire le implementazioni esistenti di AOP nei framework del punto 3 (differenze, esempi, perchè usare/non usare ecc...) in situazioni come: logging, gestioneerrori, gestione transizioni e sicurezza, pooling e acquisizione rilascio risorse...





- Ma i framework e MVC sono qualcosa di espressamente legato al Web? --> il prof ne parla dicendo che sono software per produzione tradizionale...
- cosa cambia tra Servelet / JSP / EJB non sono la stessa cosa?? --> il prof ne parla dicendo che sono applicazioni WEB..



Per il punto 1 mi sono scaricato la guida di AspectJ

per il punto 2 e 3 ho trovato solo enoooormi libroni... io non devo diventare un super programmatore Java, ma avere un quadro della situazione dal punto di vista progettuale e ingegneristico (certo che qualche esempio devo farlo andare)


il fatto è che di Java conosco la sintassi base, ma non ho idea di come si struttura JSP ne tantomeno tutti i nomi dopo.. ho girato un po' wikipedia e mi è venuto il mal ditesta, ho bisogno di essere indirizzato perchè i primi passi sono quelli + difficili.

TorpedoBlu
11-07-2007, 06:58
up

k0nt3
11-07-2007, 10:22
- Ma i framework e MVC sono qualcosa di espressamente legato al Web? --> il prof ne parla dicendo che sono software per produzione tradizionale...

un framework lo definirei più come un insieme di strumenti di sviluppo, mentre MVC (Model View Controller) è un design pattern che consiste nel separare le tre componenti di cui è composto il nome appunto :D trovi vagonate di informazioni in internet ;) http://www.google.it/search?q=define:mvc&hl=it&safe=off&oi=definel&defl=en

- cosa cambia tra Servelet / JSP / EJB non sono la stessa cosa?? --> il prof ne parla dicendo che sono applicazioni WEB..

servlet, JSP e EJB fanno parte dello stesso framework (JEE, che sarebbe il vecchio J2EE), ma sono cose ben diverse. infatti sono proprio le componenti che servono a implementare il pattern MVC in pratica:
Model: EJB
View: JSP
Controller: Servlet
dai un'occhiata qui http://www.kosmous.com/risorse/articolo.php?id=24

ps. leggi il link giusto per avere un'idea della struttura, ma poi affidati alla documentazione di SUN per sviluppare i beans che è più aggiornata


il fatto è che di Java conosco la sintassi base, ma non ho idea di come si struttura JSP ne tantomeno tutti i nomi dopo.. ho girato un po' wikipedia e mi è venuto il mal ditesta, ho bisogno di essere indirizzato perchè i primi passi sono quelli + difficili.
affidati alla documentazione di SUN:
http://java.sun.com/products/jsp/reference/index.html trovi molte cose interessanti

anche alcuni tutorials http://java.sun.com/javaee/reference/tutorials/

buona fortuna :D ti avviso che la maggiorparte del lavoro consiste nel far funzionare il server, poi se tutto va liscio è facile implementare qualsiasi cosa :fagiano:

TorpedoBlu
11-07-2007, 14:02
buona fortuna :D ti avviso che la maggiorparte del lavoro consiste nel far funzionare il server, poi se tutto va liscio è facile implementare qualsiasi cosa :fagiano:

ma non c'è qualche installer prefatto o cmq semplice per installare il server?

sul pc ho Vista + Ubuntu Linux su quale sistema operativo mi conviene lavorare? per sviluppare Posso provare tutto con Eclipse (JSP, EJB, Servelet e vari Framework) oppure mi consigli di lavorare su altro?

Bahamut Zero
11-07-2007, 14:34
ragazzi sto mettendo manco a Eclipse con le servlet....potete consigliarmi qualche plug-in possibilmente free per usare anche struts con eclipse?

Ciao tnk :)

k0nt3
11-07-2007, 14:58
io ho lavorato con JBossIDE che si può scaricare dal sito di JBoss (ho usato la versione 2 che è ancora beta). non è altro che eclipse con l'aggiunta di alcuni plugins relativi allo sviluppo in ambiente JEE che semplificano la vita. se però devi usare un ApplicationServer diverso da JBoss non so quali sono le alternative.
sviluppare in windows o in linux è indifferente, tutto il framework è completamente multipiattaforma e funziona esattamente allo stesso modo (non credo che Vista faccia eccezione anche se non l'ho provato).
comunque sia io con questa configurazione sono riuscito a far funzionare il tutto:
- JDK1.5
- JBoss 4.0.5 (installato tramite Jems Installer 1.2.0GA per abilitare il supporto a EJB3 presente in JEE5)
- MySQL 5 (vabbè qui dipende da quello che bisogna fare)

altre configurazioni non hanno funzionato a dovere (es. JDK6 al posto di JDK5 oppure JBoss4.0.3 al posto di JBoss4.0.5).

PGI-Bis
11-07-2007, 15:04
Netbeans 5.5 con enterprise pack e sei a posto. Io l'ho provato con JBoss, JSAS, Weblogic, Java 1.4, 5 e 6... è una macina.

TorpedoBlu
11-07-2007, 15:09
Netbeans 5.5 con enterprise pack e sei a posto. Io l'ho provato con JBoss, JSAS, Weblogic, Java 1.4, 5 e 6... è una macina.

grazie del consiglio, ma siccome devo comprendere anche il funzionamento di AspectJ (implementazione Aspect Oriented) mi dicono che su Eclipse è la cosa migliore, non so se su Netbeans riuscirei.

Cmq ho bisogno di un sistema semplice per provare i principali framework e tecnologie Java per WebApplication.. li devo solo provare e analizzare non devo strettamente sviluppare, quindi può essere che dedichi ad un singolo framework il tempo debito a capirlo (1 giorno o una settimana) per comprendere dove AOP può funzionare o meno.

Chiaramente un IDE dove poter provare tutto è una buona base per fare confronti, quindi forse prima devo capire qual'è la radice comune (penso il nucleo di JDK) e installare sopra tutti i framework o librerie o applicazioni che devo testare.

Eclipse o Netbeans?


(Finito con Java devo fare lo stesso con .Net)

PGI-Bis
11-07-2007, 15:18
Effettivamente, che io sappia, AspectJ e Netbeans non vanno d'accordo. C'è un plug-in che risale ai tempi del cretaceo, non credo sia molto utile. Dovresti personalizzare lo script ant del progetto per usarlo. Può darsi che non sia il caso.

Usa Eclipse.

Bahamut Zero
11-07-2007, 15:18
sto provando a scaricare MYECLIPSEIDE che dovrebbe essere un plug-in per struts su Eclipse....vi faccio sapere com'è :D

k0nt3
11-07-2007, 16:48
sto provando a scaricare MYECLIPSEIDE che dovrebbe essere un plug-in per struts su Eclipse....vi faccio sapere com'è :D
ne ho sentito parlare bene ma non l'ho mai provato :fagiano:
facce sapere!

TorpedoBlu
26-07-2007, 13:05
ragazzi ho scaricato eclipse... ma per sviluppare JSP, EJB, Servlet ecc... che devo scaricare oltre??? tomcat devo installarlo e configurarlo a mano? io ho scaricato solo il JDK e l'ultima versione di Eclipse...

per i vari framework vedrò dopo mi sa...

Eclipse è bello, ma.... una mazzata sia come pesantezza che come difficoltà (iniziale spero) ho scaricato dei manuali... ma vado a passo di lumachina :D


PS: uso VISTA, è un problema?

Bahamut Zero
26-07-2007, 13:46
rieccomi...sto sviluppando su MYECLIPSE ed è fatto molto bene...logicamente lo uso al 10% delle sue capacità e forse ho esagerato ma lo trovo molto pratico!

Sto facendo unìapplicazione STRUTS e ti aiuta molto nelle impostazioni....ti fa pure un bel flow del tuo progetto

Ci sono anche i tutorial per le prime applicazioni.....proprio fatto bene....tomcat devi installarlo e configurarlo...ma è molto semplice...ti allego un file di testo che tengo dal corso dell'università...vedi se ti può essere utile!

PGI-Bis
26-07-2007, 13:49
PS: uso VISTA, è un problema?

Se l'applicazione è Java, (come Ecplise e Tomcat) allora usi Java, non Vista, Xp, Linux, Solaris, OsX, FreeBSD o AIX, 32 o 64 bit inclusi. :yeah:

TorpedoBlu
26-07-2007, 13:57
Se l'applicazione è Java, (come Ecplise e Tomcat) allora usi Java, non Vista, Xp, Linux, Solaris, OsX, FreeBSD o AIX, 32 o 64 bit inclusi. :yeah:

intendevo eventuali incompatibilità con eclipse.

cmq su eclipse.org ci sono vari pacchetti dell'IDE:

Eclipse Packages
Eclipse IDE for Java Developers

Eclipse IDE for Java EE Developers

Eclipse IDE for C/C++ Developers

Eclipse for RCP/Plug-in Developers

Eclipse Classic


Mi conviene scaricare il secondo??



ti allego un file di testo che tengo dal corso dell'università...vedi se ti può essere utile!

ottimo, se hai altro sull'argomento J"EE passa pure :D da me in uni non c'è un corso del genere...

k0nt3
26-07-2007, 22:30
tomcat devo installarlo e configurarlo a mano?

dipende.. se usi un application server come jboss è incluso e non c'è bisogno di installarlo a parte

TorpedoBlu
27-07-2007, 07:21
dipende.. se usi un application server come jboss è incluso e non c'è bisogno di installarlo a parte

è incluso? mhmm... mi sto confondendo

k0nt3
27-07-2007, 11:55
è incluso? mhmm... mi sto confondendo

jboss è un application server e il suo scopo è implementare le specifiche di JEE. tomcat implementa solo la parte relativa a JSP, ma poi ci sono una serie di altre componenti che implementano le varie parti (ad esempio hibernate serve per mappare gli oggetti nel database implementando la parte relativa alla persistenza). in sostanza JBOSS non è altro che una collezione di tutti questi servizi.

TorpedoBlu
11-08-2007, 13:14
allora, dunque mi sono fatto modificare la tesi, in quanto analizzare tutto il mondo Java da solo è una mazzata, il prof mi ha consigliato di confrontare Spring2 e Jboss, capire come funzionano e vedere quale si adatta meglio a utilizzare AOP.

Io però a livello di installazione non ci capisco un fiko... Jboss è un container giusto? ma spring è un framework?? .... come faccio a confrontarli e soprattutto posso installarli contemporaneamente??? raga qualuno mi aiuta?

TorpedoBlu
11-08-2007, 20:34
Per capirci il prof mi ha scritto:

devi: studiarti bene Jboss e Spring2, studiarti come entrambi possono essere "usati" per applicazioni Web, e studiarti la AOP (sul web) tramite Jboss e Spring2, etc.....per cui la tesi sarebbe organizzata così:

- AOP (introduzione)
- JBOSS e SPRING2 (introduzione)
-- JBOSS e SPRING2 e Web
- AOP sul Web con JBOSS e SPRING2
- esempio di applicazione (che dovrà essere implementata con le due tecnologie e nella versione senza AOP)
- confronto delle tecnologie (sulla base delle introduzioni teoriche-generali e dell'esempio implementato)
- conclusioni

ma essendo uno un application server e l'altro un framework... in che senso posso confrontare queste 2 tecnologie?

TorpedoBlu
12-08-2007, 11:17
non riesco ad uscire dalla mia confusione..

TorpedoBlu
13-08-2007, 15:09
nel frattempo ho trovato che la stessa Jboss ha sviluppato un framework AOP

http://labs.jboss.com/jbossaop/

forse questo farebbe al caso mio, che ne dite?

a questo punto un confronto con spring ha senso, no?

PGI-Bis
13-08-2007, 22:50
Io penso che sarebbe meglio se tu chiarissi la questione con il tuo professore. Nel senso che se JBoss è un server per applicazioni J2EE e Spring è un framework per la creazione di applicazioni J2EE, il confronto sarebbe quantomeno bizzarro.

Dirò una cosa che varrà l'apposizione di una taglia sulla mia testa, da parte dell'associazione italiana professori universitari: lo scopo dell'esistenza di un professore sono i suoi studenti e la soluzione dei dubbi di questi ultimi dovrebbe essere il massimo della gratificazione professionale.

Dunque, non avere remore: fai felice il tuo professore, usalo.

TorpedoBlu
14-08-2007, 13:07
tu hai ragione, ma nel mio ultimo post come vedi ho chiarito il dubbio:

nel frattempo ho trovato che la stessa Jboss ha sviluppato un framework AOP

http://labs.jboss.com/jbossaop/

forse questo farebbe al caso mio, che ne dite?

a questo punto un confronto con spring ha senso, no?


Jbossaop è a quanto pare un framework sviluppato da jboss apposta per aop, e quindi forse devo confrontare questo (senza scordare che si appoggia chiaramente su jboss apll. server.... ).

Leggendo qua e la molti parlano di un certo Struts 2.. ma non mi è stato nominato, che sia simile a JbossAop?

il problema che ho ora è molto + basilare...

io non so molto, sto giusto studiando ora cosa sia una pagina JSP (di java so solo la sintassi) e se non trovo qualcuno che mi indirizzi la vedo dura, non so se posso usare un ide (tipo eclipse) o se mi conviene altro, non so se posso installare tutto assieme... sono un po' confuso... per ora sto guardando aspectJ per capire la programmazione ad aspetti, poi devo capire le web appl. java e vedere se posso usare AOP.....

PGI-Bis
14-08-2007, 14:52
Struts è un framework per lo sviluppo di applicazioni web J2EE.

Un framework è un insieme di strumenti software (librerie, programmi, documenti di convenzione) ognuno dei quali rappresenta la soluzione ad uno specifico problema. Tutti i problemi risolti dagli strumenti contenuti in un unico framework appartengono ad un unico dominio.

Comprendere cosa sia Struts, Spring o un qualsiasi altro framework significa in primo luogo comprendere quale sia il dominio dei problemi risolti dagli strumenti che il framework offre.

Il dominio di Struts è l'organizzazione dei componenti di un'applicazione web J2EE secondo una struttura Modello-Vista-Controllo.

Quello che trovi in Struts è funzionale a questo ambito. Tutto qui.

TorpedoBlu
14-08-2007, 19:56
Struts è un framework per lo sviluppo di applicazioni web J2EE.

Un framework è un insieme di strumenti software (librerie, programmi, documenti di convenzione) ognuno dei quali rappresenta la soluzione ad uno specifico problema. Tutti i problemi risolti dagli strumenti contenuti in un unico framework appartengono ad un unico dominio.

Comprendere cosa sia Struts, Spring o un qualsiasi altro framework significa in primo luogo comprendere quale sia il dominio dei problemi risolti dagli strumenti che il framework offre.

Il dominio di Struts è l'organizzazione dei componenti di un'applicazione web J2EE secondo una struttura Modello-Vista-Controllo.

Quello che trovi in Struts è funzionale a questo ambito. Tutto qui.

ti ringrazio tanto per la partecipazione e per la spiegazione.

Cmq sia Struts 2 e Spring MVC sono 2 framework simili, semplicemente siccome vedo che struts ben si sposta con l'appl. server Jboss, mi viene il dubbio che il framework JbossAOP (evidentemente un framework che punta ad aiutare lo sviluppo di applicazioni web utilizzando AOP) sia simile a struts e per questo motivo lo stesso struts sia omesso e a lui preferito JbossAOP.

PS: se uso come appl. server Jboss posso mettere su tutti i framework che voglio oppure devo studiarne 1 alla volta?

PPS: per studiare J2EE siccome sono all'inizio, pensavo di comprare "Java Enterprise Edition 5. Progettazione e sviluppo di applicazioni web " e poi usare le documentazioni dei framework che devo usare.. secondo te quanto tempo mi ci vorrà per avere una buona visione d'insieme? (devo capire il funzionamento e poi creare esempi di codice per i vari confronti)

PGI-Bis
15-08-2007, 02:10
Tutti gli application server Java EE sono in linea di principio equivalenti perchè tutti sono conformi alle specifiche Java EE. Poi è possibile (certo) che esistano impostazioni specifiche per l'uno o per l'altro ma sono minuzie. Scassano le nocciole in modo terrificante, ma minuzie sono.

Per una buona visione d'insieme dire che ci vogliono dai 4 ai 7 anni.

TorpedoBlu
15-08-2007, 14:47
Tutti gli application server Java EE sono in linea di principio equivalenti perchè tutti sono conformi alle specifiche Java EE. Poi è possibile (certo) che esistano impostazioni specifiche per l'uno o per l'altro ma sono minuzie. Scassano le nocciole in modo terrificante, ma minuzie sono.

Per una buona visione d'insieme dire che ci vogliono dai 4 ai 7 anni.

:stordita:


Io ci devo fare la tesi.. e non vorrei metterci + di altri 3 mesi...


del libro che ti ho segnalato che ne pensi? va bene per iniziare?

dierre
15-08-2007, 16:15
Senti mi viene una domanda, magari un pò cattivella, ma sempre una domanda rimane. Io ti vedo parecchio spaesato, ma parecchio tanto. Da ciò posso dedurre che Java l'hai visto solo in fotografia (anch'io in uni l'ho visto solo in fotografia), di conseguenza mi domando e dico: ma sei sicuro che sia la tesi adatta a te? La tesi non dovrebbero dartela su argomenti che hai almeno visto durante i corsi universitari? Mi sembra un pò da irresponsabili affidarti una tesi su argomenti che dovrai studiare da ZERO.

TorpedoBlu
15-08-2007, 19:42
Senti mi viene una domanda, magari un pò cattivella, ma sempre una domanda rimane. Io ti vedo parecchio spaesato, ma parecchio tanto. Da ciò posso dedurre che Java l'hai visto solo in fotografia (anch'io in uni l'ho visto solo in fotografia), di conseguenza mi domando e dico: ma sei sicuro che sia la tesi adatta a te? La tesi non dovrebbero dartela su argomenti che hai almeno visto durante i corsi universitari? Mi sembra un pò da irresponsabili affidarti una tesi su argomenti che dovrai studiare da ZERO.

la tua domanda è fondata, e puntuale, cattivella no perchè realistica.
In realtà avendo studiato ing. del software so cosa sia un pattern, un principio o come funziona MVC. il paradigma OOP mi è ben chiaro, e quello su cui si basa la tesi è AOP. Anche questo abbastanza chiaro.

Dovendo affrontare come applicare AOP al web, chiaramente devo basarmi sulle appl. web, e dovendo scegliere tra .Net e Java ho scelto quest'ultima.

A livello concreto, nonostante ho le nozioni di base (UML, OCL, Modularità, Package ecc..) non ho mai creato in concreto una appl. web, e sto studiando ora come funziona J2EE. Ma J2EE è solo lo strumento che devo utilizzare per arrivare a delle conclusioni. E' chiaro che non avendo esperienza e non avendo affrontato la cosa in aula sono spaesato... ho bisogno di sapere solidamente che materiale usare, se no potrei immergermi in un punto senza tornare più a galla. Sono fiducioso che una volta avviato non avrò problemi.

Sarai d'accordo con me che il mondo Java è complesso soprattutto per la varietà di soluzioni offerte, che ad un niubbo come me creano solo un senso di spaesamento.

Poi chiaro che siccome qui c'è gente che su tutto ciò ci lavora, ha molta + esperienza di me. Semplicemente volo basso e, anche su cose che più o meno so, chiedo conferme e spiegazioni.

Detto questo ci sono una marea di libri (migliaia di pagine) e una marea di tecnologie da guardare, ci metterei 20 anni a faresetaccio, in questo il forum è utilissimo.

scusate la digressione.

dierre
15-08-2007, 19:59
Il punto è che Java è più complesso di quello che sembra, doverci fare una tesi partendo da zero non è la cosa più bella che ti potesse capitare diciamo :D

PGI-Bis
15-08-2007, 22:47
Anch'io ritengo il linguaggio di programmazione Java complesso tuttavia TorpedoBlu non deve fare una tesi sul linguaggio di programmazione Java ma su una tecnologia, l'aop, che accidentalmente risulta usabile anche su un'estensione della piattaforma Java (Java EE, limitatamente al web).

E poi, professionalmente parlando, la conoscenza del linguaggio di programmazione Java che è richiesta per poter sviluppare applicazioni Web è veramente ad un livello di sopravvivenza. Ci sono talmente tante convenzioni di formato che è già tanto se si arriva ad usarlo, il linguaggio di programmazione.