微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

在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页面显示结果,在中注册servletweb.xml并通过覆盖url-patternin中的URL对其进行调用web.xml您可以在这里找到很多不错的JSP / Servlet教程

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

解决方法

我有一个正在运行的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");


}

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。