簡體   English   中英

JSP不在Linux上創建Servlet類

[英]JSP does not create class of servlet on linux

這是我的JSP代碼,從html文件中調用...

<%
System.out.println("DEBUG1");
int id = (request.getRequestedSessionId()+request.getRemoteAddr()).hashCode();
System.out.println("DEBUG2");
SERVLETCLASS d = new SERVLETCLASS(id); // Stuck here
System.out.println("DEBUG3");
String sen = request.getParameter("data");
String name = request.getParameter("name");
System.out.println("SEN: "+sen);
String rtn = d.runJob(name, sen);
System.out.println("RTN: "+rtn);
%>

我使用Eclipse在Windows上開發了一個項目,並嘗試在Windows上進行WAR部署測試。 它按我的要求很好地工作。

但是,當我將WAR文件復制到Linux並嘗試在其上進行部署時, 新的SERVLETCLASS(id)無法正常工作。 因此終端僅顯示DEBUG1和DEBUG2。

當然,我在Linux中更改了server.xml

Windows和Linux之間有區別嗎? 特別是在CentOS 7上。

ps我用的是Apache Tomcat 8.0.24



編輯

抱歉,我無法上傳課程代碼,因為這是我公司的工作之一。 它只調用JavaSE中的幾種方法。 我將JavaSE項目移植到JavaEE。

但是多虧了RC。我想我發現了日志顯示的原因

日志 (從catalina.-today-.log)/單擊以查看大圖

在此處輸入圖片說明

我手動安裝了apr,apr-util,pcre和tomcat。 但是為什么會這樣呢?

Windows中不存在另一個錯誤,

03-Aug-2015 15:20:15.546 WARNING [main] org.apache.tomcat.util.digester.SetPropertiesRule.begin [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ChatBot' did not find a matching property.

好吧,我認為這不是問題,但是我也在Linux中安裝了eclipse。

該代碼看起來很奇怪-似乎縮寫太多了? 有兩個選項-您的SERVLETCLASS (這真的是您的類的名稱嗎?)包含一個無限循環(該請求SERVLETCLASS無休止),或者它拋出Exception或Error並被其他地方吞沒。

您可以通過將調用包裝在try/catch子句中來嘗試調試它:

System.out.println("DEBUG2");
try {
    SERVLETCLASS d = new SERVLETCLASS(id);
} catch (Throwable t) {
    t.printStackTrace();
}
System.out.println("DEBUG3");

這樣,您將看到是否存在被吞噬的異常或錯誤。 如果找到了,請從那里繼續。

另外,我希望您的SERVLETCLASS實際上不是servlet,因為通常您自己不會創建servlet,而是將此任務留給應用程序服務器。 如果您以此處的方式實例化,請將來的維護者幫忙,並在非servlet類中使用您的邏輯。

我通過手動重新安裝所有tomcat / httpd相關組件來解決此問題。

謝謝大家

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM