JSP頁面導入問題類文件放在WEB-INF / classes中的包中
在Eclipse中,您需要將jspider項目添加到crawler_GUI項目中,如下所示:
crawler_GUI屬性> Java構建路徑>項目>添加jspider。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類。只需創建一個類extendsHttpServlet,doGet()用相應的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');}
它不打印“測試”。實際上,甚至沒有調用父級的構造函數。同時,也不會顯示任何錯誤。
我怎樣才能解決這個問題?
相關文章:
1. nignx - docker內nginx 80端口被占用2. docker網絡端口映射,沒有方便點的操作方法么?3. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?4. docker綁定了nginx端口 外部訪問不到5. docker不顯示端口映射呢?6. angular.js - angular內容過長展開收起效果7. java - 為什么此私有靜態變量能被訪問呢?8. fragment - android webView 返回后怎么禁止重新渲染?9. php - mysql 模糊搜索問題10. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?
