【问题标题】:Using Servlet 3.0 with Weblogic 10.3将 Servlet 3.0 与 Weblogic 10.3 一起使用
【发布时间】:2013-06-21 07:42:20
【问题描述】:

我正在研究基于表单的身份验证并使用以下语句。我在实现的过程中意识到 HttpServletRequest->login 方法是 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?

【问题讨论】:

  • 简单的答案 - 你不能。 servlet API 只是 API,而不是实现。您必须迁移到较新的 WebLogic 版本...也许可以集成另一个容器,但我不想尝试。

标签: java jakarta-ee authentication glassfish-3 weblogic-10.x


【解决方案1】:

Weblogic 10.3.x 是一个Servlet 2.5 容器。你必须使用Weblogic 12c 及以上版本。它为 Servlet 3.0 提供support

【讨论】:

  • 谢谢。我不想至少在短期内将 weblogic 10.3 迁移到新版本。因此,我必须找到如何通过 Servlet 2.5 执行基于表单的身份验证
  • @AhmetKarakaya 你找到解决问题的方法了吗?
  • 是的,我做到了,我已经永远离开了 weblogic 并移动了 Springboot :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
  • 1970-01-01
  • 2020-06-29
  • 2014-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多