Servlet两种配置方式和Servlet Filter以及Listener的配置方式

Servlet两种配置方式和Servlet Filter以及Listener的配置方式

Servlet两种配置方式

在Servlet2.5规范之前,Java
Web应用的绝大部分组件都通过web.xml文件来配置管理,Servlet3.0规范可通过Annotation来配置管理Web组件,因此web.xml文件可以变得更加简洁,这也是Servlet3.0的重要简化。

ps个人由于学习中下载Tomcat版本与教学视频不一致,对应的Dynamic Web Module(即上Servlet2.5与3.0)版本不一致
Tomcat6.0–》Dynamic Web Module2.5
Tomcat7.0以后–》Dynamic Web Module3.0

(1)通过web.xml配置Servlet
<servlet>
    <description></description>
    <display-name>LoginServlet</display-name><!-- 别名-->
    <servlet-name>LoginServlet</servlet-name><!-- 文件名-->
    <servlet-class>com.hongzetao.servlet.LoginServlet</servlet-class><!-- 全类名-->
</servlet>
	<servlet-mapping>
 	<servlet-name>LoginServlet</servlet-name><!-- 对应上边文件名,引用相应Servlet-->
 	<url-pattern>/user/LoginServlet</url-pattern><!-- 相对于Web应用的根目录的URL,url-pattern元素的值必须以斜杠(/)起始。-->
</servlet-mapping>
(2)使用@WebServlet(Annotation)进行配置

Annotation 一般为url-pattern(相对于Web应用的根目录的URL)
@WebServlet支持的常用属性:
displayName,initParams,loadOnStartup,name,urlPatterns/value,asyncSupported

/**
 * Servlet implementation class BaseServlet
 */
@WebServlet("/BaseServlet")
public class BaseServlet extends HttpServlet 

使用Annotation来配置Servlet,需注意:

  1. 不要在web.xml文件的根元素()中指定metadata-complete=“true”;
  2. 不要在web.xml文件中配置该Servlet;

Servlet Filter的配置方式

在web.xml中配置(与Servlet基本相同)
<filter>
	<display-name>TransactionFilter</display-name>
	<filter-name>TransactionFilter</filter-name>
	<filter-class>com.atguigu.filter.TransactionFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>TransactionFilter</filter-name>
	<url-pattern>/*</url-pattern><!--以斜杠(/)开始的模式,它指定过滤器应用的URL(即所有访问URL的请求都要经过Filter  -->
</filter-mapping>

有三种写法:

  • 精确匹配:拦截指定路径的请求
  • 路径匹配:路径/* 拦截路径下所有请求
  • 后缀匹配:*.后缀 拦截该后缀的所有请求

Listener的配置方式

同样在web.xml中配置(先实现相应接口)
  <listener>
  	<listener-class>com.atguigu.listener.lifecycle.RequestLifeListener</listener-class>
  </listener>

上例中当收到请求时即会触发监听器
ps:只配置了一个全类名即可,是不是很简单呀哈哈

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洪泽涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值