使用注解方式新建Servlet类

在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>属性

 

以上,拜拜

 

posted @ 2021-03-11 21:09  二五树  阅读(261)  评论(0编辑  收藏  举报