Utilizzare Spring nelle web application – parte 3

Logo_Spring_252x150
In questa puntata vedremo come aggiungere e configurare le librerie necessarie a Mercatino Spring. Prima di farlo, però, è necessario chiarire alcune questioni di natura pratica.

Gestione dei template

Per gestire i template dell’applicazione utilizzeremo Sitemesh, uno strumento che abbiamo già avuto modo di apprezzare con una piccola serie di articoli su questo blog.

Strati applicativi e gestione dello sviluppo

Come succede spesso nel mondo reale avremo poco tempo e risorse limitate, non potremo quindi realizzare da subito tutti i livelli della nostra applicazione. Per superare questo e altri problemi adotteremo quindi una strategia di sviluppo top-down: realizzeremo per prima cosa lo strato web limitandoci inizialmente a simulare l’interazione con il database, implementando in un secondo momento i servizi veri e propri; in questo modo potremo consegnare molto velocemente una prima versione dell’applicazione, da far provare agli utenti o al team di QA (Quality Assurance) per trovare eventuali problemi di usabilità, migliorare la grafica, ecc. Questo ci permetterà di implementare gli strati sottostanti in parallelo o addirittura affidandoli ad un altro team. Strategie di questo genere vengono spesso utilizzate nelle cosiddette metodologie Agili.

Aggiunta delle dipendenze

Inizialmente avremo bisogno di queste dipendenze:

  • javaee-api ver. 6, jstl ver 1.2 e junit 4.8, già configurate nella prima puntata;
  • i moduli spring-core e spring-webmvc di Spring framework, oltre alla libreria spring-test necessaria per l’integrazione con JUnit.

Per aggiungere queste dipendenze è sufficiente aggiungere queste righe nella sezione del file pom.xml:

[xml]

org.springframework
spring-core
${spring.version}


org.springframework
spring-webmvc
${spring.version}

[/xml]

e aggiungere una sezione :
[xml] UTF-8 3.0.5.RELEASE [/xml]

Configurazione di Spring

Spring cerca automaticamente nel classpath un file nominato applicationContext.xml, questo file va creato nella cartella src/main/resources e per il momento conterrà solamente poche direttive:

[xml]


[/xml]

Da notare:

  • le molte dichiarazioni di namespace che vediamo in testa al file in realtà al momento non sono utilizzate, verranno però utilizzate nei prossimi articoli quando finalmente implementeremo l’interazione “vera” con database e utilizzeremo transazioni;
  • il tag attiva la registrazione dei JavaBean tramite le annotazioni, una funzionalità molto comoda che sostituisce le lunghe configurazioni XML che si usavano in passato;
  • il tag attiva il riconoscimento automatico dei componenti dell’applicazione (come i controller web), sempre tramite annotazioni.

Configurazione di web.xml

Nel file src/main/webapp/WEB-INF/web.xml vanno copiate
queste configurazioni:

[xml]

Spring 3 Tutorial


sitemesh
com.opensymphony.module.sitemesh.filter.PageFilter


sitemesh
/*


dispatcher
org.springframework.web.servlet.DispatcherServlet
1


dispatcher
*.html


index.jsp
index.html

[/xml]

Linkografia

Condividi