开发者

Exception forwarding Jena ResultSet

protected void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {

    String filename = "/WEB-INF/TesteLOM2.rdf";
    ServletContext context = getServletContext();

    InputStream in = context.getResourceAsStream(filename);
        if (in != null) {
            Model model = ModelFactory.createMemModelMaker()
                    .createDefaultModel();
            model.read(in, null);
            // null base URI, since model URIs are absolute
            in.close();

    @SuppressWarnings("unchecked")
    List<String> lista = (List<String>) request.getSession()
        .getAttribute("sugestao");
    String palavrachave = null;
    for (Iterator<String> iter = lista.iterator(); iter.hasNext();) {

    palavrachave = iter.next();
    // Creates a query....
    String queryString =

    // ( SPARQL stuff here...}

    Query query = QueryFactory.create(queryString);

    // get the results...

    QueryExecution qe = QueryExecutionFactory.create(query, model);
    ResultSet results = qe.execSelect();
    request.setAttribute("results", results);
    /*
    * Compiler says error is in next line
    * Got this exception: Cannot forward after 开发者_如何学JAVAresponse has been committed
    * as I tried to forward results to a jsp page...
    */

    request.getRequestDispatcher(VIEW).forward(request, response);
    // ResultSetFormatter.out(System.out, results, query);
    qe.close();

        }

    }
}


From the Javadoc for HttpServletResponse it would appear you want to be calling response.getOutputStream() to get the actual HTTP response stream to write to rather than using System.out

Then you also may want to be using a different overload of the ResultSetFormatter out() or output() method in order to have more control over the results format e.g.

ResultSetFormatter.output(response.getOutputStream(), results, ResultSetFormat.syntaxXML)

Hope this helps

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜