PDA

View Full Version : [java servlet] problemi con tomcat


monkeys86
04-01-2008, 12:03
ciao a tutti e buon anno

sto utilizzando eclipse e tomcat per sviluppare delle servlet. Ho però dei problemi quando vado a visitare un albero dom.
Praticamente nella servlet java eclipse non trova errori, mentre quando faccio partire la servlet su tomcat mi da errore appena comincio a usare le nodelist....qualcuno ha qualche idea del perchè? grazie mille cmq posto qua sotto i codici della servlet


import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class Esercizio3 extends HttpServlet{

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest req, HttpServletResponse res) {

PrintWriter out = null;

try {
out = res.getWriter();
} catch (IOException e) {
e.printStackTrace();
}

res.setContentType("text/html");

out.println("<HTML>");
out.println("<HEAD>");
out.println("<TITLE>Esercizio 3</TITLE>");
out.println("</HEAD>");

out.println("<BODY>");

String autoreRichiesto = req.getParameter("autore");
StringBuffer listaTitoli = new StringBuffer();
int contatore = 0;

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setValidating(true);

DocumentBuilder db = null;

try{
db = dbf.newDocumentBuilder();
}catch(ParserConfigurationException pce){
System.err.println(pce);
}

Document doc = null;

try{

doc = db.parse(getServletContext().getRealPath("/biblioteca.xml"));

}catch(SAXException s){
System.err.println(s);
}
catch(IOException io){
System.err.println(io);
}

NodeList listaLibri = doc.getElementsByTagName("LIBRO");

if(listaLibri == null || listaLibri.getLength()<=0){
out.println("Nessun libro trovato. Errore nel Catalogo!");
}

for(int i = 0; i < listaLibri.getLength(); i++){
NodeList autori = null;
autori = ((Element)listaLibri.item(i)).getElementsByTagName("AUTORE");

if(autori == null || autori.getLength()<=0){
out.println("Nessun autore trovato. Errore nel Catalogo!");
}

for(int j=0; j<autori.getLength();j++){
if(autori.item(j).getFirstChild().getNodeValue().equals(autoreRichiesto)){
NodeList titolo = null;
titolo = ((Element)listaLibri.item(i)).getElementsByTagName("TITOLO");
listaTitoli.append(titolo.item(0).getFirstChild().getNodeValue());
listaTitoli.append(", ");
contatore++;
}
}
}

if(contatore == 0){
out.println("<P>Autore '"+autoreRichiesto+ "' non presente nella biblioteca</P>");
}
else{
if(contatore > 1){
out.print("<P>Autore '"+autoreRichiesto+ "' (+) : " +listaTitoli+"</P>");
}
if(contatore==1){
out.print("<P>Autore '"+autoreRichiesto+ "' : " +listaTitoli+"</P>");
}
}

out.println("</BODY>");
out.println("</HTML>");

out.close();
}
}