SpringBoot中注入Servlet&Filter&Listener

1.基本介绍

文档:SpringBoot中注入Servlet&Filter&Listener

  1. 考虑到实际开发业务非常复杂和兼容问题,SpringBoot支持将Servlet、Filter、Listener注入spring容器中,成为Spring Bean
  2. 也就是说,SpringBoot开放了和原生WEB组件(Servlet、Filter、Listener)的兼容
  3. SpringBoot注入Servlet、Filter、Listener,有两种方式:
    • 通过注解方式注入
    • 使用RegistrationBean方式注入

2.通过注解方式注入

2.1@WebServlet

属性名 对应标签 描述
name <servlet-name> 指定 Servlet 的 name 属性。 如果没有显式指定,则取值为该 Servlet 的完全限定名,即包名+类名
value <url-pattern> 该属性等价于 urlPatterns 属性,两者不能同时指定。 如果同时指定,通常是忽略 value 的取值
urlPatterns <url-pattern> 指定一组 Servlet 的 URL 匹配模式
loadOnStartup <load-on-startup> 指定 Servlet 的加载顺序
initParams <init-param> 指定一组 Servlet 初始化参数
asyncSupported <async-supported> 声明 Servlet 是否支持异步操作模式
description <description> 指定该 Servlet 的描述信息
displayName <display-name> 指定该 Servlet 的显示名

例子--使用@WebServlet注入Servlet

(1)MyServlet.java

  1. 通过继承HttpServlet来开发原生的Servlet

  2. 使用@WebServlet,表示将其标识的对象注入到Spring容器中

  3. urlPatterns = {"servlet01","servlet02"} 对此servlet配置了映射路径

  4. 对于开发的原生的Servlet,需要使用@ServletComponentScan在SpringBoot主程序中,指定要扫描的原生Servlet,这样该Servlet才能注入容器

 
package com.li.thymeleaf.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author 李
* @version 1.0
*/
@WebServlet(urlPatterns = {"/servlet01", "/servlet02"})
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().write("Hello,MyServlet!");
}
}

(2)Application.java主程序

 
package com.li.thymeleaf;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
/**
* @author 李
* @version 1.0
*/
//指定扫描Servlet
@ServletComponentScan(basePackages = "com.li.thymeleaf")
@SpringBootApplicati
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值