我正在进入Servlets和3.0的世界,特别是我看到了一些示例和教程中使用的方法和注释,这些方法和注释在JAVA 6.0发布时已经讨论过(现在有的),现在当我尝试使用上面的注释,例如在Eclipse中它不能识别它,虽然我安装了java 1.6.013但在Eclipse中它说我正在使用jre6。 当我尝试使用谷歌搜索时,我偶然发现了this page关于WebServlet Annotation的内容,它在右上角表示:DRAFT。 那是什么意思? 是否在1.6.013中支持@WebServlet?是我的Eclipse的问题吗?
非常感谢任何可以伸出援助之手的人
编辑:我现在明白我已经搞得一团糟但是我已经下载了一个Jar的Servlets 3.0 API,至少对于@WebServlet注释起作用但是给了我地狱。答案 0 :(得分:5)
Servlet由JSR定义 - the Servlet Specification in JSR-154。在version 2.5 of the servlet specification中引入了servlet的注释。实现2.5版规范的所有容器都支持注释;你的问题可能在于容器没有实现它。您可以参考 SRV.14.5部分。 servlet规范的注释和资源注入,它以黑白方式定义。
顺便说一句,您正在查看Java EE 6的javadoc(目前处于草案阶段)。 Servlet Spec 2.5是Java EE 5的一部分。
PS:你所引用的@WebServlet注释,它出现在Servlet Spec 3.0中,它在草案中,是Java EE 6的一部分。在编写本文时,没有可用的容器用于下载,支持Servlet Spec 3.0;甚至没有RI(参考实现)可用。你会发现实验性的构建,但是要预先警告,规范本身并不是最终的,所以实验性构建必然会以不同的方式实施和实现规范。
PPS:Glassfish v3 Preclude Preview似乎支持大多数Java EE 6标准。 A comparison sheet提供有关Glassfish v2,v3 Preclude和v3 Preview中可用内容的信息。
答案 1 :(得分:3)
目前,GlassFish v3提供了EJB 3.1和Servlet 3.0以及其他Java EE 6规范的最完整实现。
答案 2 :(得分:1)
继续使用Vineet,简单地说,3.0现在还没有使用,所以你应该专注于Java EE 5和2.5。