如何使用@WebServlet将java servlet与动作表单映射?

时间:2014-08-01 04:14:34

标签: jsp

由于我们不需要在Servlet 3.0中使用web.xml,那么我们如何才能正确使用@WebServlet(假设我有两个servlet类驻留在不同的包中,两个动作表位于两个不同的文件夹中)?

1 个答案:

答案 0 :(得分:1)

Servlet API 3.0引入了注释以简化部署。在javax.servlet.annotation包中,我们有@WebServlet:它定义了一个servlet组件。

Web应用程序部署描述符web.xml在Servlet 3.0中已成为可选项。相反,运行时的容器将处理WEB-INF / classes中类的注释。

现在问题是容器如何知道要处理哪个类。 正如你所说,假设有两个servlet。 src/mypackage1/ServletOnesrc/mypackage2/ServletTwo以及Servlet类定义类似于

@WebServlet("/servletOne")
public class ServletOne extends HttpServlet { ...... }

@WebServlet("/servletTwo")
public class ServletTwo extends HttpServlet { ...... }

编译这些类时,它将作为.class存储在以下层次结构中

build/classes/mypackage1/ServletOne.class

build/classes/mypackage2/ServletTwo.class

当容器看到类定义上方的annotation时,它将检查指定文件夹中的.class文件,并解析对所需Servlet的调用