Java JSP页面导入问题。类文件放在WEB-INF/classes内的包中
我有一个正在运行的Web应用程序爬虫GUI,它的构建路径中有另一个java项目jspider。(我使用eclipse galileo) GUI使用jspider项目作为其后端 参观建筑物 JSP创建jspider对象的实例。首先,我在WEB-INF/classes文件夹中没有类,我纠正了这个错误。现在它似乎工作了,没有显示错误,但没有执行任何任务 代码如下: JSPJava 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
<%@ 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>Addjspider
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");
}