0

我正在步入 Servlets 和 3.0 的世界,我看到了示例和教程中使用的某些方法和注释,这些方法和注释谈到了在 JAVA 6.0 发布时可用(它有),现在当我尝试使用上面的注释例如在 Eclipse 中它无法识别它,尽管我安装了 java 1.6.013 并且在 Eclipse 中它说我正在使用 jre6。当我尝试用谷歌搜索它时,我偶然发现了这个关于 WebServlet Annotation 的页面,它在右上角显示:DRAFT。这意味着什么?1.6.013 是否支持@WebServlet?是我的 Eclipse 的问题吗?

非常感谢任何可以帮助我的人

编辑:我现在明白我弄得有点乱,但是我下载了一个 Servlets 3.0 API 的 Jar,至少对于 @WebServlet 注释有效,但给了我地狱。

4

3 回答 3

5

Servlet 由 JSR(JSR-154 中的 Servlet 规范)定义。servlet 规范的 2.5 版中引入了 servlet 注释。所有实现 2.5 版本规范的容器都将支持注解;你的问题可能在于容器没有实现它。您可以参考SRV.14.5 节。servlet 规范的注释和资源注入,它以黑白方式定义。

顺便说一句,您正在查看 Java EE 6 的 javadocs(目前处于草稿阶段)。Servlet Spec 2.5 是 Java EE 5 的一部分。

PS:您所指的 @WebServlet 注释出现在Servlet Spec 3.0中,它是草案中的一部分,并且是 Java EE 6 的一部分。在撰写本文时,没有可下载的容器支持 Servlet规格 3.0;甚至没有可用的 RI(参考实现)。虽然您会发现实验性构建,但请注意,规范本身并不是最终的,因此实验性构建必然会以不同的方式交互和实施规范。

PPS:Glassfish v3 Preclude Preview 似乎支持大多数 Java EE 6 标准。比较表提供有关 Glassfish v2、v3 Preclude 和 v3 Preview 中可用内容的信息。

于 2009-09-08T17:47:46.887 回答
3

目前,GlassFish v3提供了最完整的 EJB 3.1 和 Servlet 3.0 以及其他 Java EE 6 规范的实现。

于 2009-09-08T19:24:39.857 回答
1

跟进 Vineet,简而言之,3.0 目前还没有使用,因此您应该关注 Java EE 5 和 2.5。

于 2009-09-08T18:03:21.223 回答