StrutsWebLogic 11gR1 上的标记中断

发布于 2024-09-24 08:06:03 字数 1000 浏览 5 评论 0原文

我正在尝试在 WebLogic 11gR1 上部署一个非常简单的 Struts 应用程序。该应用程序有一个名为 Welcome.jsp 的 JSP,并且该 JSP 包含以下标记:

<bean:cookie name="" id=""/>

使用以下行在 JSP 顶部导入关联的 taglib:

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>

当此标记位于 JSP 内部时,出现以下错误:

Welcome.jsp:11:24: javax.servlet.http.Cookie cannot be resolved
<body bgcolor="white"><bean:cookie name="" id=""/>

但是当我删除了这个标签,Welcome.jsp 工作得很好。

JSP 包含其他标签,例如:

<bean:message key="welcome.heading"/>

这些标签工作得很好。

最后,StrutsActionServlet 也在应用程序中工作并启动。

我猜测一定存在类加载问题,但我不明白为什么 Struts ActionServlet 正在工作:javax.servlet.http.Cookie 和 javax.servlet.http.HttpServlet 在同一个包中声明。

也许,WebLogic 中 Cookie 类的 Oracle 实现存在问题,但可能性很小。

谢谢。

I'm trying to deploy a very simple Struts app on WebLogic 11gR1. The app has one JSP called Welcome.jsp and this JSP contains the following tag :

<bean:cookie name="" id=""/>

The associated taglib is imported at the top of the JSP using the following line :

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>

When this tag is inside the JSP, I've the following error :

Welcome.jsp:11:24: javax.servlet.http.Cookie cannot be resolved
<body bgcolor="white"><bean:cookie name="" id=""/>

But when I remove this tag, the Welcome.jsp works just fine.

The JSP includes other tags like :

<bean:message key="welcome.heading"/>

Those tags are working just fine.

And to finish, the ActionServlet of Struts is also working and starting with the app.

I'm guessing that there must be a classloading problem but I don't understand why the Struts ActionServlet is working : javax.servlet.http.Cookie and javax.servlet.http.HttpServlet are declared in the same package.

Maybe, there is a problem with the Oracle implementation of the Cookie class in WebLogic but it is very unlikely.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半葬歌 2024-10-01 08:06:03

javax.servlet.http.Cookie 是一个接口,显示了那些实现 Servlet API 的人需要实现的结构。

问题可能与您的 WebLogic 11gR1 配置/库有关:我将使用 Tomcat 7.0 进行解释。

在 Tomcat 7.0 中,在 TOMCAT_HOME/lib 文件夹下,有一个 servlet-api.jar。该 jar 允许 Tomcat 支持 Java Servlet API 规范(并且目录中包含 Cookie.class,位于 javax/servlet/Cookie 下)。

您的WebLogic 11gR1必须有一个符合Servlet API的Servlet容器库(如Tomcat的servlet-api.jar)。我从未使用过 WebLogic,但如果您在某处有 lib 文件夹(显然是 WL_HOME/server/lib),请确保某处有 servlet api(我认为 weblogic.jar 包含 servlet api 实现)。

另外,请检查 WAR 文件中是否有类似 servlet 的库(例如 servlet-api.jar、eclipse servlet jar 等),因为它可能与 WebLogic 的 servlet 库冲突。

javax.servlet.http.Cookie is an interface showing the structure that those who are implementing the Servlet API need to implement.

The issue might be with your WebLogic 11gR1 configuration/libary: I'll explain using Tomcat 7.0.

In Tomcat 7.0, under TOMCAT_HOME/lib folder, there's a servlet-api.jar. That jar allows Tomcat to support the Java Servlet API specification (and has Cookie.class included in the directory, under javax/servlet/Cookie).

Your WebLogic 11gR1 must have a Servlet Container library that conforms to the Servlet API (like Tomcat's servlet-api.jar). I never used WebLogic, but if you have a lib folder somewhere (apparently WL_HOME/server/lib), make sure there's a servlet api somewhere (I think weblogic.jar contains servlet api implementations).

Also, please check that you don't have a servlet like library (e.g. servlet-api.jar, eclipse servlet jars, etc.) inside your WAR file as it can conflict with WebLogic's servlet library.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文