簡體   English   中英

WebSphere相等性檢查失敗

[英]WebSphere equality check failure

WebSphere打印

13年8月7日11:43:47.318 000000AB SystemOut DETAIL收據是否為空? =空

13/8/7/11:43:47.318 000000AB SystemOut細節為false

13年8月7日11:43:47.318 000000AB com.ibm.ws.webcontainer.servlet.ServletWrapper SEVERE com.ibm.ws.webcontainer.servlet.ServletWrapper服務SRVE0068E:Servlet的一種服務方法引發了異常應用程序[MyWar_war]中的[ReceiptReportServlet]。 創建的異常:[在javax.servlet.http.HttpServlet.service(HttpServlet.java:575)處servlet.ReceiptReportServlet.doGet(ReceiptReportServlet.java:61)處的java.lang.NullPointerException com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1227)上的HttpServlet.java:668)com.com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776)上的HttpServlet.java:668) .ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:458)位於com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)位於com.ibm.ws.webcontainer.filter com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)上的.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1032)com.ibm.ws.webcontainer.WebContainer.WebContainer.handleRequest(WebContainer.java:909) ),位於com.ibm.ws.webcontainer.channel.WC的com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)的com.ibm.ws.http.channel.inbound.impl的ChannelLink.ready(WCChannelLink.java:200)。 com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312)的com.ibm.ws.http.channel.inbound.impl的HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)。 com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)的HttpInboundLink.ready(HttpInboundLink.java:283)com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete( com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.java.175處的NewConnectionInitialReadCallback.java:113)com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)處的com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)處的AioReadCompletionListener.java:175) .ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)位於com.ibm.io.async.AsyncFuture.completed(A com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)處com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)處的syncFuture.java:138) .async.ResultHandler $ 2.run(ResultHandler.java:905)在com.ibm.ws.util.ThreadPool $ Worker.run(ThreadPool.java:1862)]

代替

收據為空? =空

真正

這看起來更像是操作順序的問題,而不是WAS。 您打印的行

System.out.println("receipt is null? " + receipt == null);

是問題。 如果收據對象為空或否,則不會打印true或false。 它的作用是將字符串"receipt is null? "與接收的.toString()方法的結果連接起來,然后檢查是否等於null 這就是為什么您看到它僅在該行上打印false的原因。

如果您確實要在那里檢查空對象,請在您的空檢查周圍添加一些適當的()。

System.out.println("receipt is null? " + (receipt == null));

如您所料,這應該打印true或false。

至於為什么收據在一個環境中為空但在另一個環境中不為空的問題是我們沒有足夠的信息來回答。 您的代碼段不會向我們顯示該對象來自何處或被實例化。

暫無
暫無

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

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