我正在进行基于表单的身份验证并使用以下语句。我已经在实现的方式上意识到HttpServletRequest->登录方法附带了servlet 3.0。(在stackoverflow用户的帮助下)
HttpServletRequest request = getHttpServletRequest();
request.login()
所以我使用weblogic作为AppServer,我准备了一个没有任何编译错误的war文件,它可以在glassfish 3.1 appserver上运行。但是由于weblogic 10.3具有隐式支持2.5,它会覆盖Servlet 3.0.1.jar,因此会出现以下错误。
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.login(Ljava/lang/String;Ljava/lang/String;)V
如何在weblogic 10.3上使用servlet 3.0 api运行war文件,换句话说我如何阻止weblogic覆盖servlet 3.0 api?
答案 0 :(得分:16)
Weblogic 10.3.x 是 Servlet 2.5 容器。您必须使用Weblogic 12c及更高版本。它为 Servlet 3.0 提供support。