从没有web.xml部署描述符的html表单调用servlet

时间:2010-08-03 21:55:50

标签: java servlets web.xml

如何在不使用web.xml部署描述符的情况下从表单的操作中调用servlet?

2 个答案:

答案 0 :(得分: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 v3Tomcat 7下选择Servlet 3.0实现。


在Servlet 3.0之前,最好的选择可能是前端控制器模式。在web.xml中有一个servlet,它根据请求参数和/或pathinfo将请求/操作委托给域对象。这也用于平均MVC框架。

答案 1 :(得分:1)

您可以直接使用类名来调用Web服务器中的servlet 如果您的网址为http://myurl.com/ 然后,将完整的类名附加到url将调用servlet。

例如:
如果我的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
但网址变脏了。但是您不需要使用web.xml来调用servlet。