SpringBoot配置及整合Servlet、Filter、Listener

本文详细介绍了如何在Spring Boot项目中配置和整合Servlet、Filter和Listener。通过注解方式和配置类方式,展示了它们的添加和实例化过程,帮助理解Spring Boot启动类、配置文件以及核心注解的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring Boot项目(1)

POM文件:

继承

依赖,要添加web启动器,这里可以不用写,因为继承里写好了继承的版本

插件在这里可以将springboot应用程序打包成jar文件,这样可以独立运行


启动类:

基于main方法运行,启动类会扫描同包或者子包下的注解(@Controller,@Repository,@Service)

启动类与启动器的区别:启动类是项目入口,启动器starter是jar包的坐标

启动类要加@SpringBootApplication的注解,main()方法里一定要调用SpringApplication.run(XXXDemo.class,args);前参数是项目的class,后参数是main函数里的args

启动器:

不同领域的技术jar包放入启动器starter里,所以比较直观和方便


配置文件:

全局配置文件application,可以有两种格式.properties格式和.yml格式

properties中以“.”来表示“的”

server.port=8080

yml中以“:”来表示“的”,缩进表示层级关系,冒号后边要写空格

server:

​ port: 8080

配置文件存放位置:resources根目录下,或 当前项目根目录下,或resources根目录下新建一个/config下,或 当前项目根目录下新建一个/config下

properties优先级>yml优先级

若有相同的配置信息,不会覆盖

/config下的配置文件优先级>根目录下的配置文件优先级

一般默认情况下,配置文件放在/resources根目录下

配置文件中的占位符“ ” 可 以 获 取 配 置 文 件 中 的 键 的 值 , 如 {}”可以获取配置文件中的键的值,如 {server.port},${random.int(1024,8080)}


核心注解:

@SpringBootApplication是SpringBoot的启动类

@RestController没办法跳转并返回数据到另一页面,返回的内容就是return的内容

@GetMapping相当于method=get,只处理get请求,如果要在地址栏输入相关信息则用get

@PostMapping相当于method=post,只处理post请求

@PutMapping相当于method=put,只处理put请求

@DeleteMapping相当于method=delete,只处理delete请求


整合Servlet方式一:

1.不需要在web.xml中手动配置servlet

2.在servlet程序前加@WebServlet(name=“FirstServlet”,urlPatterns=”/first”)这里就相当于是利用注解进行servlet的配置

3.修改启动类,在@SpringBootApplication下添加注解@ServletComponentScan,在SpringBoot启动时会扫描@WebServlet注解,并将该类实例化

整合Servlet方式二:

1.在编写Servlet时不需要添加注解

2.添加servlet配置类,需要在@Configuration下进行,由于启动类@SpringBootApplication中包含@Configuration,所以可以直接写在启动类中,也可以新建一个servlet配置类

3.在servlet配置类中的 方法进行解析还需要将它变成bean,所以在配置类的方法前添加@Bean注解

@Configurationpublic 
class ServletConfig {    
	@Bean    
	public ServletRegistrationBean getServletRegistrationBean(){       					ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());                                                            		bean.addUrlMappings("/second");
		return bean;    
}

整合Filter方式一:

1.创建filter类,添加@WebFilter注解

@WebFilter(filterName = “FirstFilter”,urlPatterns = {".do",".jsp"})或者

@WebFilter(filterName = “FirstFilter”,urlPatterns = “/first”)

2.修改启动类,在@SpringBootApplication下添加注解@ServletComponentScan,在SpringBoot启动时会扫描@WebFilter注解

整合Filter方式二:

1.创建Filter类,不需要任何注解

2.添加Filter配置类,

bean.addUrlPatterns(new String[]{"*.do","*.jsp"});或者
bean.addUrlPatterns("/second");

整合Listener方式一:

1.创建Listener类,使用@WebListener注解,该注解不需要其他参数

2.修改启动类,在@SpringBootApplication下添加注解@ServletComponentScan,在SpringBoot启动时会扫描@WebListener注解

整合Listener方式二:

1.创建Listener类,不需要任何注解

2.添加Listener配置类,这里的bean不需要去设置url


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值