首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Servlet 2.5自动导入

Servlet 2.5自动导入
EN

Stack Overflow用户
提问于 2011-11-25 18:35:48
回答 2查看 982关注 0票数 1

这是一个奇怪的问题,我希望有人能给我一些启发。我们正在从WebLogic8.1迁移到10.3.4的过程中,作为这一过程的一部分,我们正在更新各种东西,包括我们的部署描述符。在我们的was应用程序中,我们的web.xml是Servlet verion 2.3,带有以下<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

我们现在已经将其更改为2.5,如下所示的<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

自更改以来,我们遇到了一些在运行时无法编译的jsps。它们失败是因为我们没有为该jsp导入一些必要的类。例如,在其中一个示例中,我们使用了日历(java.util),但由于某种原因,未能为其编写导入声明。出于某种原因,在2.3中,这似乎无关紧要。有人知道这是否是2.3的一个特性,即当导入没有声明时,某些类是动态导入的。我完全理解它们应该适当地导入,但我担心我们可能会有一些其他的jsps会失败。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-01 05:15:02

来自http://docs.oracle.com/cd/E12840_01/wls/docs103/webapp/weblogic_xml.html

隐式Servlet 2.5包导入

Servlet 2.5规范要求只隐式导入java.lang.*、javax.servlet.*、javax.servlet.jsp.*和javax.servlet.http.*包。为了符合Servlet2.5规范,WebLogic服务器将只导入这些强制包。然而,以前版本的WebLogic Server还导入了java.io.*、java.util.*和javax.servlet.jsp.tagext.*包。

如果发生以下任一情况,WebLogic服务器将遵循以前的2.4或更早版本的行为,并导入非强制包:

在weblogic.xml描述符文件中,向后兼容标志设置为true。

web应用程序版本为2.4或更低版本。

版本2.5 web应用程序中的各个JSP/标记文件是版本2.0或更早版本。

票数 4
EN

Stack Overflow用户

发布于 2011-11-25 19:44:47

也许以前版本的WebLogic进行了导入,因为它在内部使用了Calendar (或java.util.*)。然而,这不在规范中。

您可以使用weblogic appc编译器(或jspc,但已弃用)预编译jspc,并查看哪些不能编译。

请参阅http://docs.oracle.com/cd/E12840_01/wls/docs103/webapp/reference.html#wp57794

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8267783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档