我尝试在jsptomcat5.5中运行此netbeans 6.1程序

<%@ page import="java.io.*" %>
<%@ page import="java.util.*" session="true"%>
<%@ page import="com.hp.hpl.jena.rdf.model.*"%>
<%@ page import="com.hp.hpl.jena.query.*"%>

<%
         try
          {
             String inputFile="C:\\Users\\Admin\\Documents\\NetBeansProjects\\finalview\\resumenew.rdf";

         InputStream in = new BufferedInputStream(new FileInputStream(new File(inputFile)));

         Model model = ModelFactory.createMemModelMaker().createModel("");
         model.read(in,null) ;

          String queryString =
                                  "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> " +
                                  "PREFIX foaf: <http://www.xmlns.com/foaf/0.1> " +

                                    "SELECT ?name  ?phone WHERE { ?person foaf:name ?name . ?person foaf:phone ?phone }";



                       Query query1 = QueryFactory.create(queryString);
                       QueryExecution qe = QueryExecutionFactory.create(query1,model);
                       ResultSet results = qe.execSelect();
                       ResultSetFormatter.out(System.out, results, query1);
                       qe.close();
                       }catch(Exception e){}
%>


运行程序时出现以下异常

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 6 in the jsp file: /test.jsp
Generated servlet error:
Model cannot be resolved to a type

An error occurred at line: 6 in the jsp file: /test.jsp
Generated servlet error:
ModelFactory cannot be resolved

An error occurred at line: 6 in the jsp file: /test.jsp
Generated servlet error:
Query cannot be resolved to a type

An error occurred at line: 6 in the jsp file: /test.jsp
Generated servlet error:
QueryFactory cannot be resolved

An error occurred at line: 6 in the jsp file: /test.jsp
Generated servlet error:
QueryExecution cannot be resolved to a type

An error occurred at line: 6 in the jsp file: /test.jsp
Generated servlet error:
QueryExecutionFactory cannot be resolved

An error occurred at line: 6 in the jsp file: /test.jsp
Generated servlet error:
ResultSet cannot be resolved to a type

An error occurred at line: 6 in the jsp file: /test.jsp
Generated servlet error:
ResultSetFormatter cannot be resolved


    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)c


您能告诉我,我的jsp程序和作为输入输入的文件应该保存在哪里。

如何避免此错误?

最佳答案

您的Jena库(及其依赖项)应位于WEB-INF / lib(区分大小写)下,这是放置应用程序jar文件的标准Java EE文件夹。确保您的分类(查询,查询工厂,模型工厂等):


存在于您放在WEB-INF / lib下的任何jar文件中。
属于com.hp.hpl.jena.rdf.model。*或com.hp.hpl.jena.query。*


尝试使用此应用程序结构:

tomcat/webapps/ROOT
 - test.jsp
 - WEB-INF
    - lib
        - your .jar files


顺便说一句,您的“ Model 1代码”似乎是转移到Servlet(模型2)的一个不错的选择,但这仅是与JSP编译器错误无关的设计建议。

07-25 23:48
查看更多