我最近開始學習jsp,並選擇了eclipse作爲我的工作IDE,而Glassfish 4作爲服務器。在完成所有必要的設置後,我建立了我的第一個JSP腳本和GlassFish服務器,本地主機上運行它後,我得到了一個錯誤,說明未在服務器上運行JSP代碼
org.apache.jasper.JasperException: PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required
試圖幾乎在互聯網上提供的一切約3-4小時後,我放棄了,下載apache-Tomcat。通過運行startup.bat啓動tomcat後啓動。但是當我嘗試加載localhost:8080時,同一個舊的glassfish頁面打開。即使我停止GlassFish中使用asadmin stop-domain domain1
不過我一直得到相同的本地主機頁面打開每當我試圖打開本地主機:8080
當我開始跑在Eclipse內部一個新的Apache Tomcat服務器的動態Web項目它不停地說
Several ports (8005, 8009) required by Tomcat v7.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
我想這仍然是使用它們的GlassFish的,但我不知道如何阻止它。是的,這裏一切都搞砸了。
之後,我刪除了eclipse中的所有動態web項目和所有其他服務器(在eclipse中)。並且一個接一個地創建了tomcat和glassfish來運行jsp。它運行後控制檯窗口中提供了以下信息
Mar 13, 2014 12:12:39 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.7.0_51\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\ System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.7.0_51\bin;C:\glassfish4\bin;C:\eclipse;;.
Mar 13, 2014 12:12:39 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:DemoJSP' did not find a matching property.
Mar 13, 2014 12:12:39 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Mar 13, 2014 12:12:39 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Mar 13, 2014 12:12:39 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 476 ms
Mar 13, 2014 12:12:39 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Mar 13, 2014 12:12:39 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.52
Mar 13, 2014 12:12:40 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Mar 13, 2014 12:12:40 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Mar 13, 2014 12:12:40 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 474 ms
和Eclipse的Web瀏覽器中打開一個窗口,說HTTP Status 404 - Not Found The requested resource is not available.
,當我試圖在GlassFish沒有運行它剛剛發生什麼。然而,當我在glassfish服務器頁面打開管理頁面時,我嘗試使用eclipse運行jsp文件。當我嘗試啓動它時,打開一個新網頁HTTP Status 404 - Not Found The requested resource is not available.
當我停止glassfish並再次運行jsp時,eclipse的控制檯窗口出現幾乎3-4頁的文本,我無法弄清楚一件事情。
現在我在這個領域是全新的。我對在系統中設置服務器沒有多少了解。我只是按照互聯網上提供的教程。現在雖然我已經停止了幾次玻璃魚,但仍然嘗試打開本地主機時:8080
打開相同的glassfish服務器頁面,而不是當前處於活動狀態的tomcat。它的一切都搞砸了。我甚至不知道如何卸載這些服務器。我認爲我通過選擇eclipse並手動設置它們而犯了一個錯誤。使用Glassfish服務器軟件包的NetBeans JavaEE應該會更好。
請有人讓我擺脫這個混亂。這簡直是痛苦的。並提前致謝。
編輯:問題部分解決,tomcat正在eclipse下工作。我不知道如何以及爲什麼,但在刪除glassfish服務器之後,通過命令提示符停止了它,並在eclipse中創建了新的tomcat服務器。每當我嘗試運行整個Dynamic web項目時,它都會給我一個404 HTTP錯誤。但是,如果我選擇jsp文件並在服務器上單獨運行,它將運行。但是,每當我嘗試通過我的網絡瀏覽器去localhost:8080,它仍然會將我帶到glassfish頁面,我已經停止了幾次,並從eclipse中刪除。
那麼你有沒有安裝JDK? – Thunda
是的,我的系統中安裝了jdk 1.7.0_51。 – allocated
那麼http://stackoverflow.com/questions/16340711/tomcat-http-status-404解決了它。感謝所有其他答覆。 – allocated