Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ApacheTomcat中的奇怪错误?_Java_Jsp_Tomcat_Sparql_Tdb - Fatal编程技术网

Java ApacheTomcat中的奇怪错误?

Java ApacheTomcat中的奇怪错误?,java,jsp,tomcat,sparql,tdb,Java,Jsp,Tomcat,Sparql,Tdb,我正在使用ApacheTomcat和EclipseKeplee。这是我的jsp文件,它运行一个java文件,该文件使用sparql从tdb查询。jsp文件: <%@ page import="check.test4query" %> <% test4query demo = new test4query(); test4query dem = new test4query(); String[] id =

我正在使用ApacheTomcat和EclipseKeplee。这是我的jsp文件,它运行一个java文件,该文件使用sparql从tdb查询。jsp文件:

<%@ page import="check.test4query"  %>
            <% test4query demo = new test4query();
            test4query dem = new test4query();
            String[] id =new String[20];
            String[] dat =new String[20];
            int i;
           demo.mai("SELECT ?x WHERE { ?y <TO:> 'hjcooljohny75@gmail.com' . ?y <SUB:> ?x} LIMIT 20 ");
           for(i=0;i<20;i++)
           {   id[i]=test4query.arr[i];
               id[i] = id[i].substring(0, Math.min(id[i].length(), 30));
           }
 for(i=0;i<20;i++)
            { //id[i]=test4query.arr[i];
                out.println("<tr>"+"&nbsp&nbsp&nbsp&nbsp"+id[i]+"<hr style='border-color:#E6E6E6;padding:0px;margin:0px'>"+"</tr>");
            }   
            %>

这种情况经常发生,但当我重新启动服务器时,它第一次显示正确的ans,然后显示错误。我不知道问题出在哪里,如何更正它

问题是您正在泄漏资源,并且没有自己清理

您使用
ds.begin(ReadWrite.READ)
调用启动事务,但从未使用
ds.end()
调用关闭事务,这就是后续调用失败并出现错误的原因。您也无法关闭
查询执行


您应该使用
try{}catch{}finally{}
来确保清理相关资源

问题是您正在泄漏资源,而不是自己清理

您使用
ds.begin(ReadWrite.READ)
调用启动事务,但从未使用
ds.end()
调用关闭事务,这就是后续调用失败并出现错误的原因。您也无法关闭
查询执行


您应该使用
try{}catch{}finally{}
来确保清理相关资源

这是错误的方法:

Model model = ds.getDefaultModel() ;
ds.begin(ReadWrite.READ) ;
请尝试:

ds.begin(ReadWrite.READ) ;
Model model = ds.getDefaultModel() ;

这是错误的方法:

Model model = ds.getDefaultModel() ;
ds.begin(ReadWrite.READ) ;
请尝试:

ds.begin(ReadWrite.READ) ;
Model model = ds.getDefaultModel() ;

我已经更改了代码,但错误仍然存在。怎么办?当我从命令行运行相同的代码时,没有错误。你能显示你的新代码和错误吗(假设有点不同)还有?我已经更改了代码,但错误仍然存在。怎么办?当我从命令行运行相同的代码时,没有错误。您能显示新代码和错误吗(假设有点不同)还有?非常感谢andy…我从没想到这会是这个问题的原因…我浪费了几个小时来解决这个问题,而你的解决方案让我很开心…:)我还面临另一个问题…当我尝试编写时…您的解决方案不会给出错误,但不会将任何内容写入我的数据库,但当我首先创建模型,然后写入ds.begin(ReadWrite.write)时;然后它工作正常,但在tomcat中出现错误..我应该怎么做?这是我问的问题的链接。。。非常感谢andy…我从没想到这会是这个问题的原因…我浪费了几个小时来解决这个问题,而你的解决方案让我很开心…:)我还面临另一个问题…当我尝试编写时…您的解决方案不会给出错误,但不会将任何内容写入我的数据库,但当我首先创建模型,然后写入ds.begin(ReadWrite.write)时;然后它工作正常,但在tomcat中出现错误..我应该怎么做?这是我问的问题的链接。。。