gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 05:14:02 25 4
gpt4 key购买 nike

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

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);

* 被打印。

ESpider.java

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


}

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

我该如何解决这个问题?

最佳答案

在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 类。只需创建一个扩展 HttpServlet 的类,使用 ESpider 内容相应地实现 doGet() 方法,最后转发到 JSP 页面来显示结果,在 web.xml 中注册 servlet,并通过覆盖 web.xml 中的 url-pattern 的 URL 调用它。 You can find here a lot of good JSP/Servlet tutorials .

P.S:确保您理解robots.txt政策...

关于java - JSP 页面导入问题。类文件放置在 WEB-INF/classes 内的包中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2303412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com