Ciao gente, sto provando a realizzare una servlet per il web semantico che utilizza jena.
Come prova faccio fare solo una semplicissima query sparql ASK ma mi si genera un'eccezione:
type Exception report
message Servlet execution threw an exception
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
root cause
java.lang.NoClassDefFoundError: com/hp/hpl/jena/query/QueryExecutionFactory
QueryDBpedia.queryExternalSources(QueryDBpedia.jav a:51)
QueryDBpedia.doGet(QueryDBpedia.java:25)
javax.servlet.http.HttpServlet.service(HttpServlet .java:621)
javax.servlet.http.HttpServlet.service(HttpServlet .java:728)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.42 logs.
Preciso che qualsiasi altra query faccia fare alla servlet ottengo sempre un'eccezione.
Il codice della mia servlet è:
Qualcuno sa dirmi di che problema si tratta e come faccio a risolverlo???codice:import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import com.hp.hpl.jena.query.*; public class QueryDBpedia extends HttpServlet{ ... public void queryExternalSources(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter output = response.getWriter(); output.write("La servlet è stata invocata con il metodo " + request.getMethod()); //Serve, in fase di esecuzione, per capire con quale metodo (GET o POST) è stata invocata la servlet String query = "ASK { }"; QueryExecution qe=null; try { qe = QueryExecutionFactory.sparqlService("http://it.dbpedia.org/sparql", query); } catch (Exception e) { output.write("Si è verificata un'eccezione nella creazione della query: " + query); e.printStackTrace(output); } try { if (qe.execAsk()) { output.write("is UP"); } else { output.write("is DOWN"); } } catch (Exception e) { output.write("Si è verificata un'eccezione: "); e.printStackTrace(output); } finally { qe.close(); } } }
Grazie, attendo vostre notizie...rispondete numerosi!!!




