一尘不染

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

jsp

我有一个正在运行的Web应用程序crawler_GUI,其buildpath中有另一个Java项目jspider。(我用蚀伽利略)

GUI使用jspider项目作为其后端。

访问http://i45.tinypic.com/avmszn.jpg获取结构

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);
  • s被打印出来。

ESpider.java

public ESpider(URL baseURL) throws Exception {
    super(baseURL);
    System.out.println("test");


}

它不打印“测试”。实际上,甚至没有调用父级的构造函数。同时,也不会显示任何错误。

我怎样才能解决这个问题?


阅读 586

收藏
2020-06-10

共1个答案

一尘不染

在Eclipse中,您需要将jspider项目添加到crawler_GUI项目中,如下所示:

  1. crawler_GUI属性> Java构建路径>项目>添加jspider
  2. crawler_GUI属性> Java EE模块依赖关系>勾号jspider

不要忘记清理/WEB- INF/classes您手动添加的所有松散文件。这是不必要的。如果您以正确的方式引用了项目,则Eclipse将自动进行处理。另外,任何松散的JAR文件都应该放在中/WEB- INF/lib

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

正如已经暗示的那样,这实际上并不是您应该使用JSP的方式。它被用作编写HTML / CSS /
JS的模板,您可以在其中借助JSTL之类的标签库动态控制流程,并使用EL访问后端数据。原始Java代码属于Java类,而不属于JSP文件。在这种情况下,您应该使用Servlet类。只需创建一个类extends HttpServletdoGet()用相应的ESpider东西相应地实现该方法,最后转到JSP页面以显示结果,在中注册servlet
web.xml并通过覆盖url-patternin中的URL对其进行调用web.xml您可以在这里找到很多不错的JSP /
Servlet教程

PS:请确保您了解robots.txt政策…

2020-06-10