Servlets websphere 6.0中的servlet初始化失败

Servlets websphere 6.0中的servlet初始化失败,servlets,websphere,Servlets,Websphere,我在一个web应用程序中有许多servlet;出于某些原因,只有且只有其中一个始终无法初始化,并出现以下错误跟踪:- 000000 45 ServletWrappe E SRVE0100E:未实现servlet MyServletX:java.lang.NullPointerException引发的init()异常 位于com.ibm.ws.webcontainer.webapppmistener.onServletStartInit(webapppmistener.java:120) 位于co

我在一个web应用程序中有许多servlet;出于某些原因,只有且只有其中一个始终无法初始化,并出现以下错误跟踪:-

000000 45 ServletWrappe E SRVE0100E:未实现servlet MyServletX:java.lang.NullPointerException引发的init()异常 位于com.ibm.ws.webcontainer.webapppmistener.onServletStartInit(webapppmistener.java:120) 位于com.ibm.ws.webcontainer.webapp.FireOnServletStartInit.firevent(WebAppEventSource.java:237) 位于com.ibm.ws.webcontainer.util.EventListeners.fireEvent(EventListeners.java:48) 位于com.ibm.ws.webcontainer.webapp.WebAppEventSource.onServletStartInit(WebAppEventSource.java:105) 位于com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:261) 位于com.ibm.ws.webcontainer.servlet.ServletWrapper.HandlerRequest(ServletWrapper.java:444) 位于com.ibm.ws.webcontainer.webapp.webapp.handleRequest(webapp.java:2841) 位于com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220) 位于com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204) 位于com.ibm.ws.webcontainer.webcontainer.handleRequest(webcontainer.java:1681) 位于com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77) 位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421) 位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367) 位于com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94) 在com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)上 位于com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601) 位于com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934) 位于com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021) 位于com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)

我不知道这个servlet是否有什么特别之处。此servlet中没有init()方法,它扩展了HTTPServlet。知道原因是什么吗?我正在使用WebSphereServer6.0.x。在这种情况下,如何获取更多调试信息



我还不知道上述错误的原因,但这就是它如何奇怪地开始工作的:-我)重新应用了IBM为我的WAS版本推荐的修复程序(特别是有IBM JDK升级相关的修复程序补丁)ii)创建了服务器的新配置文件iii)将web应用程序安装到新配置文件并开始工作。

我认为这不是产品问题

为了调试这个问题,我建议放置一个简单的servlet(类似于Hello World)并将其部署到服务器上,看看会发生什么

初始化不一定仅意味着init()方法

如果servlet中有一个静态块,如果有任何已初始化的变量,它们都将是初始化活动的一部分

查看发生此错误时生成的FFDC日志,这将为您提供线索

正如bkail所提到的,还要确保您拥有最新的补丁包,以消除产品的已知问题

如果hello world servlet正常工作,建议您将此servlet代码与对应于此问题的SystemOut和System Err日志以及相关FFDC日志一起放置在此处,我相信我们大多数人都能够帮助您解决此问题


Manglu

这看起来像是一个产品问题。我建议打开一个PMR(或升级到受支持的WAS版本)。以下是我到目前为止检查的内容,但在解决问题方面没有成功:-I)此servlet中没有静态或类级别的变量。ii)发生此错误时,FFDC日志中没有任何特殊内容。iii)我还下载并部署了WAS6.1的最新推荐修复程序。iv)在我的应用程序中已经有很多servlet被正确初始化。v) 我在web上检查WAS5.1,在其推荐的修复程序中,有一个PQ99326缺陷,它似乎类似。检查此链接:-hello world是一种servlet吗。来自WebSphere的示例如何?它们工作吗?我不敢相信这是一个产品缺陷。我看了一眼你提到的缺陷,它似乎影响了JSP。通过查看产品支持页面,查看这是否是现有缺陷,您做的是正确的。老实说,我并不认为这是一个产品缺陷,我希望看到示例应用程序或hello world servlets会发生什么情况,以排除产品问题。IMHO,任何时候发布的库抛出NPE,这都是所述发布库中的缺陷,即使它只是针对使用它的代码中的缺陷而发生。