首页  > 世界杯冠军奖金

@webServlet注解的使用(适合初次接触的朋友)

@webServlet注解的使用(适合初次接触的朋友)

Servlet 3.0

​ Servlet3.0提供了注解(annotation),我们可以不用再web.xml里面配置servlet,只需要加上@WebServlet注解就可以修改该servlet的属性了。web.xml可以配置的servlet属性,在@WebServlet中都可以配置。

使用

导包:

javax.servlet

javax.servlet-api

4.0.1

provided

javax.servlet

servlet-api

2.5

注意看仔细这两个是不一样的,下面一个包应该都知道,

我这里只是拿出来说一下这两个包不一样。要使用时必须的导入上面那个包。

一. 用法(非常简单):

​ 只需要在原来的Servlet类上面加上 @WebServlet("/login.do")

不理解?没事我们来对比一下就会更清楚了。

没用注解时:

web.xml :

LoginServlet

com.jiang.servlet.user.LoginServlet

LoginServlet

/login.do

servlet类:

用了@WebServlet注解后:

只需要在原来的Servlet类上面加上@WebServlet("/login.do"),如图:

意思就是说你使用这个这个注解后就可以不用在写再去web.xml中部署了servlet了,使用这个注解就相当于替换了它。

二. 配置

web.xml可以配置的servlet属性,在@WebServlet中都可以配置。(我这里就不具体说了)

@WebServlet属性列表:

三. 注意事项(一定要注意啊!)

初次使用@WebServlet注解时注意一些坑,

1. 使用这个注解时web.xml文件的设置

说一说web.xml中metadata-complete属性吧:

​ 无论是Servlet,还是Filter,Listener等,在自定义Filter时,要想使它起作用,那么必须要对它进行配置,一般都有两种配置的方式,一种是基于配置式的,另一种则是基于注解式的。

metadata-complete="false" //false是指使用注解式

metadata-complete="true" //true是指使用配置式

2. 使用了注解式就不要使用配置式了。就是不要同时配置该Servlet的web.xml的servlet配置又在类上添加注解

3. @WebServlet("/login.do")这个括号里面不要忘了打 /

这几个注意事项都是初次使用的朋友可能会遇到的错误的原因。

四.@WebFilter过滤器

可能使用会想不用配置式了,过滤器怎么办?

使用@WebFilter注解,用法跟@WebServlet用法类似。

@WebFilter 用于将一个类声明为过滤器,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为过滤器。

@WebFilter常用属性: