我想將我的web應用程序從WAS 7.0.0.7升級到WAS 8.5。該應用程序正常,但只要我想訪問它我得到例外以下部署:Websphere 8遷移 - AbstractMethodError:javax/servlet/ServletRequest.getDispatcherType
java.lang.AbstractMethodError: javax/servlet/ServletRequest.getDispatcherType()Ljavax /servlet/DispatcherType
爲8使用一個Servlet 3.0容器,但它應該是落後在2.4版本中,我用我的應用程序,它兼容。
我將類加載設置爲PARENT LAST,仍然得到相同的錯誤。
Websphere正在調用自Servlet 3.0以來可用的getDispatcherType()。爲什麼?
我用下面的web.xml頭
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
我把我所有的罐子都扔了。非他們包含任何性病。 servlet API。我正在做的是出於安全原因包裝原始請求。問題是websphere認爲它是一個java ee 6請求,但是我使用的j2ee 1.4請求不包含getDispatcherType方法。我有沒有機會告訴websphere使用j2ee 1.4 ServletRequest?謝謝 – mobile
至於你的問題 - 不,你不能這樣做(據我所知)。但是,我不完全確定你所描述的實際上是你的問題。在您提到的情況下,AbstractMethodError不會引發。我想我知道發生了什麼 - 我將編輯答案來反映這一點。 – Isaac
是的,我也假設。目前不能升級到Servlet 3.0。所以我想沒有其他的解決方法。 – mobile