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 response 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();
}
}
}
1
A
回答
0
從Javadoc文檔HttpServletResponse它似乎要被調用response.getOutputStream()
獲得實際的HTTP響應流寫入,而不是使用System.out
然後,你還可以嘗試使用是方法的不同過載,以便對結果格式有更多的控制,例如
ResultSetFormatter.output(response.getOutputStream(), results, ResultSetFormat.syntaxXML)
希望這有助於
+0
謝謝羅維。當然它有幫助。在我看來,由於誤解了Jena ResultSetFomater的運作,出現了一些問題。它是一個迭代器,因此,當我從JSP調用它時,它的工作已經完成,所以我沒有結果。我得到了一個建議,以創建一個副本如果(我認爲它可以繞過這個,調用「getSession()。setAttribute(」results「,results)。但它不起作用。我必須執行一些代碼更改...看看會發生什麼... – hjmnzs
相關問題
- 1. 耶拿的ExceptionInInitializerError
- 2. 耶拿API 2
- 3. 與耶拿
- 4. 耶拿UpdateFactory
- 5. 創建耶拿
- 6. 中的Java Web應用耶拿阿比...未知異常
- 7. null ResultSet異常
- 8. 設置.zshrc的ARQ耶拿
- 9. 耶拿表示本體類
- 10. SPARQL刪除statment耶拿OWL
- 11. 語義網 - 耶拿SPARQL
- 12. 基本RDFS與耶拿API
- 13. 結果集在耶拿
- 14. 耶拿OWL/RDF函數型
- 15. 耶拿SDB IRI驗證
- 16. 耶拿規則例如
- 17. setSameAs()關聯數據---耶拿
- 18. 耶拿SDB默認編碼
- 19. 耶拿NoReaderForLangException:貓頭鷹
- 20. 寫耶拿內置插件
- 21. 在耶拿定製內置
- 22. 耶拿嵌套屬性
- 23. 蝕耶拿和tomcat查詢
- 24. 爪哇Xerces罐和耶拿
- 25. 阿帕奇耶拿 - java.lang.UnsupportedClassVersionError錯誤:COM/HP/HPL /耶拿/ RDF /模型/ ModelFactory
- 26. 耶拿的OSGi 3.0.1的ExceptionInInitializerError processGlobalSystemProperties
- 27. 耶拿HTML(的servlet/JSP)結果
- 28. 定製耶拿JSON的作家
- 29. 使用耶拿查詢維基數據
- 30. 耶拿/ ARQ:查詢處理卡住
我得到了部分解決。我做了一些(明顯的)改動:QueryExecution qe = QueryExecutionFactory.create(query,model); \t \t \t \t ResultSet results = qe.execSelect(); \t \t \t \t request.getSession()。setAttribute(「results」,results); \t \t \t \t //request.setAttribute("results「,results); \t \t \t \t \t \t \t \t ResultSetFormatter.out(System.out的,結果,查詢); \t \t \t \t qe.close(); \t \t \t} \t \t \t request.getAttribute( 「結果」); \t \t \t request.getRequestDispatcher(VIEW).forward(request,response);但是我無法獲得在JSP中呈現的結果集。所以,仍然需要幫助...... – hjmnzs