Newsgroup: it.comp.java
Titolo: progetto jsp/servlet

sono arrivato da un nuovo cliente e ha una applicazione java fatta con
servlet e jsp (su tomcat il db � mysql); diciamo che le jsp mostrano i
form e chiamano le servlet per le operazioni sul db
io sono abituato a lavorare con Struts e oggi ho fatto delle prove per
sviluppare delle nuove parti con Struts e non mi pare ci siano problemi
(parlo ovviamente di parti completamente nuove)
domanda n�1: che problemi potrebbero sorgere nel far convivere le vecchie
parti fatte con jsp/servlet e quelle nuove sviluppate in Struts?
ecco non � detto che mi lascino usare Struts e a questo punto, nella
struttura presente, vorrei articolare un po' le cose ma non ho mai usato
le servlet in questa maniera
domanda n�2: � corretto se creo un sistema con pi� livelli al posto di far
fare tutto alla singola servlet? insomma la servlet che chiama un oggetto
BO che chiama un DAO passandogli un DTO che rappresenta l'entit� del DB,
qualcosa del genere 
io sono abituato a lavorare cos� volevo sapere se la cosa � corretta anche
con le servlet (che poi cmq STruts le usa) tanto per creare una struttura
pi� flessibile e articolata 
grazie
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Diciamo che isolare la parte web (o comunque il front-end, qualunque 
esso sia) dai dettagli implementativi della "business logic" non � solo 
consigliato ma fondamentale se vuoi mantenere un profilo psichiatrico 
nella norma :)
Alla fine � tutto un gioco di matrioske:
- il front-end deve dialogare "verso il basso" solo con i servizi;
- se lo strato dei servizi diventa troppo complesso, se l'applicazione 
ha bisogno di essere adattata a pi� database, ecc. si crea uno strato 
DAO, e si fa in modo che i servizi accedano ai dati solo attraverso i DAO;
- e cos� via.
Ognuno vede la suddivisione in strati a modo suo, in generale si ha 
Front-end --> Service --> DAO
Se puoi usare solo Servlet prova a vedere se riesci ad aggiungere Spring 
al classpath, io ho basato diversi mini-progetti fatti con servlet e 
JDBC sulle utility di Spring e mi sono trovato molto bene. Ad esempio 
dai un'occhiata a queste classi:
org.springframework.web.bind.ServletRequestUtils
e il package
org.springframework.jdbc.core
Se invece puoi usare un framework tipo Struts o Spring MVC... beh meglio!
Happy coding,
-- 
Dimitri De Franciscis
Phone:  
(+39) 3401570778
Website: 
http://www.megadix.it/

diciamo che, se potessi, userei Struts perch� lo conosco abbastanza bene; 
secondo ci potrebbero essere problemi nell'affiancarlo alla vecchia parte
fatta solo con jsp e servlet?
cos� a occhio mi pare di no
comunque grazie


 comunque grazie
Non c'e' alcuna contorindicazione, dormi sereno.
Per quanto riguarda il divieto di usarlo, se tu fai una servlet e dentro
ci metti uno switcher di else if
if ( "/edit.xxx".equals( path ) )
        new EditAction()
        ......
else if ( "/insert.xxx".equals( path ) )
        new InsertAction()
        .......
else if ( "/???.xxx".equals( path ) )
        ..........
.....
dove path e' il frammento di url che viene dopo l'host e prima dei
parametri
Hai fatto uno struts senza usare truts che va anche meglio di struts
perche' non ha il fileone struts-config che e' una sega
Ciao NIcola


 Hai fatto uno struts senza usare truts  
:-) grazie


 Ciao NIcola
ma  EditAction, InsertAction, ecc. sono servlet o normali classi Java?
grazie


 grazie
 normali classi Java penso


 
http://faq.javaranch.com/java/CodeBarnServlets
magari pu� servire a qualcuno


 del DB, qualcosa del genere
hai voglia se è corretto. il problema in questo tipo di conversioni è che 
non sia un lavoro abnorme in cui il gioco non valga la candela. sulle 
nuove funzioni però è doveroso svilupparle allo stato dell'arte.

 nuove funzioni però è doveroso svilupparle allo stato dell'arte.
grazie, s� beh intendevo le nuove parti, sulle vecchie non posso


 perche' non ha il fileone struts-config che e' una sega
sostituirlo con le mappature dentro il codice però può essere una forte 
attenuante per l'omicidio che sicuramente compirà quello che viene dopo.
a parte che lo struts-config non si occupa solo del request mapping ma 
anche (ad esempio) del model, ma se uno vuole abbandonare struts per una 
soluzione altrettanto semplice ma più elegante non ha che l'imbarazzo 
della scelta. a titolo d'esempio, che ne dici della soluzione annotata di 
springmvc?
http://static.springsource.org/spring/docs/3.0.x/spring-framework-
reference/html/mvc.html#mvc-ann-controller

 reference/html/mvc.html#mvc-ann-controller
Da quanto ho capito c'e' qualcuno che gli vieta i framworks
Per questo ho dato un suggerimento che vuole semplicemente dimostrare che si
puo' scrivere codice mvc e anche organizzato bene senza per forza usare dei
framworks.
Che poi i framework non e' che facciano chissache' oltre a fare un po' di ordine
( o disordine ? :-))) )
ciao Nicola
-- 
Nicola

 framworks.
beh tu hai spiegato come si può fare in una servlet un controller  
"artigianale". per il model cosa suggerisci, di scriversi in ogni "if" le 
conversioni parametri -> tipi java e viceversa? e a quale scopo, quello 
di vantarsi orgogliosamente di non aver usato nessun framework mvc?:)

 ha scritto:


Il divieto dei framworks non glielo ho messo io.
Se non si capisce, i framwork ( molti framework ) li conosco e bene. In questo
momento ho 2 progetti aperti, in uno sto usando  Liferay -Seam( JSF + EJB3 )
-RichFaces - Jboss Portal Bridge - ext env di Liferay , un crogiulo di
frameworks che mai ne ho messi tanti assieme ( l'ho scelto io sto cocktail
suicida  :-)) ) in un altro probabilmente usero' solo Liferay e portlets senza
alcun framwork, forse solo un pochino di struts dove c'e' gia'.
Questo per dire che io non sono ne' a favore ne' contrario a nulla. CI sono
delle situazioni molto complesse in cui un framework puo' diventare una palla al
piede di tonnellate, mi pare che tu stesso avevi osservato che il lifecycle
delle jsf e' spesso un problema.
Altre volte il framwork e' la chiave per velocizzare e mantenere l'ordine
desiderato.
Qualora si scriva codice libero senza framworks questo non vuole dire che siamo
nel caos, si puo' costruirsi un controller artigianale in 10 minuti, come da
esempio,  si puo' organizzare day layer caserecci, ad esempio con dei vecchi
DAO, e via via cosi' ovvio che si avranno meno facility e servizi ma si puo' e
si deve comunque scrivere buon codice
Ciauz
Nicola
-- 
Nicola

 minuti, come da esempio,  
si, ma come ti ho fatto notare in quei 10 minuti hai scritto un centesimo 
della parte più semplice di quello che ti serve 
una volta che hai fatto il mapping hai ancora tutti i dati della pagina 
come parametri della request, non sai se sono validi, se contengono 
spazzatura, poi devi convertirli nei tipi corretti, gestire le situazioni 
di errore... insomma, per arrivare ad un qualcosa di decentemente robusto 
mancano *giornate* di lavoro, altro che 10 minuti...

Il Fri, 14 May 2010 14:31:26 +0000, rootkit ha scritto:
[cut]
non chiedermi che è successo in questi invii doppi e tripli, non lo so.

 possa far scrivere codice semplice, flessibile, robusto e rapido. 
Guarda io uso i miei framwork, quando mi pare opportuno usarli, feci le mie
scelte 2 o 3 anni fa e sono felice e sereno con loro.
 Spring e struts2 non li ho mai usati ma essendo alternativi alle jsf non ho
intenzione di usarli. 
Con JSF, faces  e quello che tu ritieni palla al piede ci lavora una grossa
fetta della comunity java e siamo tutti felici e contenti.
Struts2 non sapevo che si potesse anche usare, sei il primo che sento che lo usa
e preferisco lavorare con strumenti che usa pure il mercato, cosi' magari ci
mangio pure.
Spring ha la sua fetta di mercato. A uno che inizia da 0 e deve scegliere fra
Spring e jsf che gli potrei dire ? tira la moneta, o vai a istinto, o fatti
guidare dal manuale jee5 ;-)
Comunque mi pare che Diana non abbia mai nominato ne' Spring ne' jsf, ma solo
Struts oppure qualche idea casereccia.
ciao
Nicola
-- 
Nicola

ho detto che forse non mi lasceranno usare altro che servlet e jsp quindi
per migliorare il codice va benissimo la soluzione proposta (il controller
ecc.)
se per caso mi lasceranno usare un altro framework vedr�, io ho visto solo
Struts 1 e le JSF
ringrazio tutti


 guidare dal manuale jee5 ;-)
a chi inizia da zero io francamente non dico niente. si parla di 
tecnologie per le quali è propedeutica una certa "cultura" java/jee, 
posso solo dirgli "torna quando te la sei fatta, dopodiché si può 
cominciare a ragionare di scelte sul framework mvc".
in ogni caso le mie considerazioni non erano relative alla domanda 
iniziale ma partivano dalle *tue* considerazioni, quelle in cui trovavi 
conveniente sostituire la mappatura di uno struts-config con una 
hard-coded e fatta a mano in una servlet. dico solo che se conoscevi uno 
di quei due strumenti una soluzione del genere non ti sarebbe mai venuta 
in mente...