Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    7

    Problema con servlet che lancia un'eccezione

    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 è:
    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();
            }
            
        }
    }
    Qualcuno sa dirmi di che problema si tratta e come faccio a risolverlo???
    Grazie, attendo vostre notizie...rispondete numerosi!!!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    La risposta è nell'eccezione:

    java.lang.NoClassDefFoundError: com/hp/hpl/jena/query/QueryExecutionFactory

    Semplicemente non trova quella classe.
    Sei sicuro di aver aggiunto correttamente tutte le librerie necessarie?

    PS: Java ha una sezione apposita... sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.