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

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

Servlet 3.0

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

使用

导包:

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>4.0.1</version>
  <scope>provided</scope>
</dependency>

<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
    </dependency>
注意看仔细这两个是不一样的,下面一个包应该都知道,
我这里只是拿出来说一下这两个包不一样。要使用时必须的导入上面那个包。

一. 用法(非常简单):

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

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

没用注解时:

web.xml :

<servlet>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>com.jiang.servlet.user.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/login.do</url-pattern>
</servlet-mapping>

servlet类:

image-20210523004928539

用了@WebServlet注解后:

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

image-20210523005203565

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

image-20210523011256926

二. 配置

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

@WebServlet属性列表:

image-20210523011744208

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

初次使用@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常用属性:
在这里插入图片描述

  • 47
    点赞
  • 148
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值