Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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 JSP页面导入问题。类文件放在WEB-INF/classes内的包中_Java_Eclipse_Jsp_Web Applications_Web Crawler - Fatal编程技术网

Java JSP页面导入问题。类文件放在WEB-INF/classes内的包中

Java JSP页面导入问题。类文件放在WEB-INF/classes内的包中,java,eclipse,jsp,web-applications,web-crawler,Java,Eclipse,Jsp,Web Applications,Web Crawler,我有一个正在运行的Web应用程序爬虫GUI,它的构建路径中有另一个java项目jspider。(我使用eclipse galileo) GUI使用jspider项目作为其后端 参观建筑物 JSP创建jspider对象的实例。首先,我在WEB-INF/classes文件夹中没有类,我纠正了这个错误。现在它似乎工作了,没有显示错误,但没有执行任何任务 代码如下: JSP <%@ page import = "net.javacoding.jspider.ESpider, source.Craw

我有一个正在运行的Web应用程序爬虫GUI,它的构建路径中有另一个java项目jspider。(我使用eclipse galileo)

GUI使用jspider项目作为其后端

参观建筑物

JSP创建jspider对象的实例。首先,我在WEB-INF/classes文件夹中没有类,我纠正了这个错误。现在它似乎工作了,没有显示错误,但没有执行任何任务

代码如下:

JSP

<%@ page import = "net.javacoding.jspider.ESpider, source.Crawler"%>
<%@ page import = "java.net.URL" %>
<%//URL baseURL = new URL(Crawler.SelectedSites.get(0));
URL baseURL = new URL("http://www.buy.com");
System.out.println("******");
ESpider espider = new ESpider(baseURL);
它不打印“测试”。事实上,甚至没有调用父级的构造函数。同时,也不会显示任何错误


我怎样才能解决这个问题

在Eclipse中,您需要将
jspider
项目添加到
crawler\u GUI
项目中,如下所示:

  • crawler\u GUI
    properties>Java构建路径>Projects>Add
    jspider
  • crawler\u GUI
    properties>javaee模块依赖项>勾选
    jspider
  • 不要忘记清理手动添加的
    /WEB-INF/classes
    中的任何松散文件。这是不必要的。如果您以正确的方式引用项目,Eclipse将自动处理这个问题。此外,任何松散的JAR文件都应该放在
    /WEB-INF/lib

    现在是故事的一部分。很难找出根本原因,因为您在JSP文件中编写了原始Java代码,而不是在真正的Java类中编写。第一步是检查服务器日志是否存在任何不一致。也可能是加载了错误版本的
    ESpider
    类(缺少sysout)

    正如已经暗示的,这并不是您应该使用JSP的方式。它将被用作编写HTML/CSS/JS的模板,在其中,您可以借助JSTL等标记库动态控制流,并使用EL访问后端数据。原始Java代码属于Java类,而不是JSP文件。在这种情况下,您应该使用Servlet类。只需创建一个
    扩展HttpServlet
    的类,用
    ESpider
    东西相应地实现
    doGet()
    方法,最后转发到JSP页面以显示结果,在
    web.xml
    中注册servlet,并通过URL调用它,URL覆盖
    web.xml
    中的
    URL模式


    注意:确保您理解策略…

    检查日志,尝试设置断点
    public ESpider(URL baseURL) throws Exception {
        super(baseURL);
        System.out.println("test");
    
    
    }