如何在不使用 web.xml 部署描述符的情况下从表单的操作中调用 servlet?
最佳答案
升级到Java EE 6/Servlet 3.0,然后您将能够通过@WebServlet
注册servlet注释。
package com.example;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
@WebServlet(urlPatterns={"/myServlet/*"})
public class MyServlet extends HttpServlet {
// ...
}
不再需要web.xml
。上面的代码与下面的代码基本相同:
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.example.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/myServlet/*</url-pattern>
</servlet-mapping>
到目前为止,您可以从每个Glassfish v3下进行选择和 Tomcat 7作为 Servlet 3.0 实现。
在 Servlet 3.0 之前,您最好的选择可能是前端 Controller 模式。在 web.xml
中有一个 servlet,它根据请求参数和/或路径信息将请求/操作委托(delegate)给域对象。一般的MVC框架中也使用这个。
关于java - 从 html 表单调用 servlet,无需 web.xml 部署描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3401079/