在Servlet 2.5之前,我们都是通过在web.xml里面配置Servlet信息,
假设我们的Servlet的类名是 UpTest ,其配置 如下文所示:
<servlet> <servlet-name>a</servlet-name> <servlet-class>UpTestPack.UpTest</servlet-class> </servlet> <servlet-mapping> <servlet-name>a</servlet-name> <url-pattern>/UpTest</url-pattern> </servlet-mapping>
这种比较麻烦的方式在 3.0 版本之后可以使用注解的方式来简化我们的操作,具体代码如下:
@WebServlet("/UpTest") public class UpTest extends HttpServlet { ..... }
但是需要注意两点,
1.正如我们在上面说的,这是Servlet 3.0之后才有的功能,所以之前的版本还是不能使用。
2.在我们使用注解的时候 ,要将 web.xml 中的 metadata-complete="true" 属性改为 false 或者 删除该条属性,根据资料显示,这条属性的意义可以理解为忽略注解,所以我们需要删除或者改成 false。
补充一个异常处理措施:
Caused by: java.lang.IllegalArgumentException: Location must not be null / 容器名不能为空,你可以检查以下是不是<Servlet>标签没有设置 <Servlet-name>属性
以上,拜拜