如何在不使用 web.xml 部署描述符的情况下从表单的操作中调用 servlet?
问问题
3273 次
2 回答
4
升级到 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 之前,您最好的选择可能是前端控制器模式。有一个 servlet,web.xml
其中根据请求参数和/或路径信息将请求/操作委托给域对象。这也用于一般的 MVC 框架。
于 2010-08-03T22:25:37.703 回答
1
您可以直接使用类名来调用 webserver 中的 servlet。
如果您的 url 是http://myurl.com/
那么,将完整的类名附加到 url 将调用 servlet。
eg:
如果我的servlet是 com.my.package.servlet.MyServlet
那么,可以使用http://myurl.com/com.my.package.servlet.MyServlet
来传递参数,http://myurl.com/com .my.package.servlet.MyServlet?name=myname&user=myuser
但是 url 变脏了。但是您不需要使用 web.xml 来调用 servlet。
于 2010-08-04T01:57:21.263 回答