Tag ‘java’

Semplice parser SAX con Java

Giovedì, Gennaio 15th, 2009

In questo breve articolo si mostra con un esempio come realizzare un parser XML SAX (Simple API for XML) in Java. Per il parsing sono utilizzate le librerie Xerces2 disponibili in ambiente Debian GNU/Linux con il pacchetto libxerces2-java.

Il programma realizzato come esempio è un semplice feed aggregator RSS: la sua funzionalità consiste nell’estrarre da una serie di fonti RSS, indicate tramite i loro URL, gli articoli che hanno nei loro titoli una parola chiave impostata come parametro dall’utente al lancio del programma.

Nel codice sono definite tre classi: RSSFeedAggregator rappresenta il feed aggregator e contiene i comandi per il parsing nonché il programma principale (metodo main); RSSItem descrive un articolo RSS nei soli suoi campi titolo, link e descrizione; RSSSAXHandler è l’handler che gestisce gli eventi durante la lettura del documento estraendo le informazioni desiderate.

Vista la semplicità del codice non mi dilungo in ulteriori spiegazioni, che eventualmente possono essere chieste via commenti o via email, ma lascio alla presentazione del codice del programma.

Leggi il resto del post »

Tomcat e AXIS (Debian GNU/Linux)

Sabato, Gennaio 10th, 2009

Quick and dirty. Ancora una volta sottolineo la mia incapacità di fare ricerche approfondite preferendo ad esse la semplice risoluzione del problema: nel seguente breve articolo esporrò le difficoltà incontrate durante l’installazione di AXIS con Tomcat in ambiente Debian GNU/Linux. Ovviamente rimando alla documentazione ufficiale (Axis installation instructions) per informazioni dettagliate.

Installazione di AXIS. Non mi dilungo su quali file vanno copiati e dentro quali directory di Tomcat: quello è tutto già bene scritto. Il problema incontrato riguarda il mancato riconoscimento della presenza di tali file: per la sua risoluzione è utile leggere il paragrafo A word on Contexts della documentazione. Ogni web application è definita da un contesto che deve esser descritto a Tomcat per farla avviare. Successivamente è stato anche necessario aggiungere l’attributo deployOnStartup="true" nel file di configurazione server.xml per far sì che il web server ricercasse all’avvio le nuove applicazioni da caricare.

Avvio di AXIS. Dopo aver risolto il problema della “visibilità” di AXIS è comparso il problema di lanciare – gli informatici usano una parola così brutta? – tale web application: ogni tentativo di avvio terminava con un’eccezione (AccessControlException) riguardanti i permessi sul file logging.properties. Quest’errore si verifica per delle policy di sicurezza Java usate da Tomcat: la soluzione quick and dirty è stata modificare lo script per l’avvio del webserver (/etc/init.d/tomcat5.5) cambiando il valore della variabile TOMCAT5_SECURITY da yes a no.

Ora AXIS funziona! È ovvio che, con maggior tempo, si sarebbero potuti risolvere in maniera migliore i problemi comparsi, ma, come si è intuito dall’inizio, il mio obiettivo era fornire un promemoria e questo è il risultato.