96SEO 2026-02-20 03:54 10
使用Druid监控功能-SQL监控Druid监控功能-WEB关联监控Druid监控功能-SQL防火墙Druid监控功能-session监控Druid

1.创建src/main/java/com/zzw/springboot/servlet/Servlet_.java
{resp.getWriter().write(Servlet_);}
ServletComponentScan(com.zzw.springboot)
SpringApplication.run(Application.class,
4.创建src/main/java/com/zzw/springboot/filter/Filter_.java
servletRequest;log.info(过滤器处理的uri{},
request.getRequestURI());filterChain.doFilter(servletRequest,
servletResponse);//放行}Overridepublic
过滤器配置的urlPatterns也会经过SpringBoot拦截器.
localhost:8080/images/logo.png时拦截器不会拦截
6.创建src/main/java/com/zzw/springboot/listener/Listener_.java
contextInitialized(ServletContextEvent
contextDestroyed(ServletContextEvent
ServletComponentScan(com.zzw.springboot)
SpringApplication.run(Application.class,
1.创建src/main/java/com/zzw/springboot/config/RegisterConfig_.java
(默认)保证每个Bean方法被调用多少次返回的组件都是单例的,
{//使用RegistrationBean方法注入ServletBeanpublic
ServletRegistrationBean对象///Servlet_1,
ServletRegistrationBean(servlet,
/Servlet_2);}//使用RegistrationBean方法注入FilterBeanpublic
Filter_();FilterRegistrationBean
FilterRegistrationBean(filter);//设置filter的url-patternsfilterRegistrationBean.setUrlPatterns(Arrays.asList(/css/*,
filterRegistrationBean;}//使用RegistrationBean方法注入ListenerBeanpublic
ServletListenerRegistrationBean
ServletListenerRegistrationBean(listener);}
1.请求Servlet时不会到达DispatcherServlet因此也不会到达拦截器。
注入的Servlet会存在于Spring容器DispatcherServlet也会存在于Spring容器。
url匹配的原则多个servlet都能处理到同一层路径精确优先原则/最长前缀匹配原则。
1)DispatcherServlet在SpringBoot是如何配置和注入的
DispatcherServletAutoConfiguration完成对DispatcherServlet自动配置。
1.SpringBoot支持的webServerTomcatJettyUndertow。
3.支持对Tomcat也可以是JettyUndertow)的配置和切换。
#tomat是ServerProperties的静态内部类对tomcat配置threads:max:
#max是threads静态内部类的属性默认是200min-spare:
#当tomcat启动的线程达到最大值后接受排队的请求个数默认是100max-connections:
2.创建src/main/java/com/zzw/springboot/config/CustomizationBean.java
WebServerFactoryCustomizerConfigurableServletWebServerFactory
customize(ConfigurableServletWebServerFactory
{//手动修改的server.setPort(9092);//设置server的端口
#tomat是ServerProperties的静态内部类对tomcat配置
#当tomcat启动的线程达到最大值后接受排队的请求个数默认是100
o.s.b.w.embedded.tomcat.TomcatWebServer
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId!--排除tomcat
server--exclusionsexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactId/exclusion/exclusions
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-undertow/artifactId/dependency
需求演示SpringBoot如何通过jdbcHikariDataSource
说明HikariDataSource目前市面上非常优秀的数据源是SpringBoot2默认数据源。
assets/images/product-image/6.jpg);INSERT
assets/images/product-image/4.jpg);INSERT
assets/images/product-image/14.jpg);INSERT
assets/images/product-image/16.jpg);--
furn;2.进行数据库开发在pom.xml引入data-jdbc-starter.
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jdbc/artifactId
/dependency3.需要在pom.xml指定导入数据库驱动,
mysql.version8.0.26/mysql.version
dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.49/version
/dependency4.application.xml配置数据源信息
jdbc:mysql://localhost:3306/spring_boot?useSSLtrueuseUnicodetruecharacterEncodingUTF-8username:
com.mysql.jdbc.Driver5.新建src/main/java/com/zzw/springboot/bean/Furn.java
imagePath;}6.测试E:\idea_project\zzw_springboot\springboot-usersys\src\test\java\com\zzw\springboot\ApplicationTest.java
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactId
/dependency//演示一下如何在SpringBoot中开发测试类
{//自动注入JdbcTemplate对象Resourceprivate
BeanPropertyRowMapper(Furn.class);//调用ListFurn
{System.out.println(furn);}//查看底层使用的是什么数据源类型[HikariDataSource]System.out.println(jdbcTemplate.getDataSource());}
https://github.com/alibaba/druid
https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.17/version
/dependency2.创建src/main/java/com/zzw/springboot/config/DruidDataSourceConfig.java
driverClassName;//编写方法注入DruidDataSourceBeanpublic
DruidDataSource();druidDataSource.setUrl(url);druidDataSource.setUsername(username);druidDataSource.setPassword(password);druidDataSource.setDriverClassName(driverClassName);return
默认的HikariDataSource失效了?//1.默认的数据源是如何配置的?//解读:
就不注入默认的HikariDataSource//2.debug源码ConfigurationProperties(prefix
ConfigurationProperties(spring.datasource)//
就可以读取到application.yml的配置//2.我们就不需要显示地调用DruidDataSource
需求配置Druid的监控功能包括SQL监控SQL防火墙Web应用Session监控等。
1.修改src/main/java/com/zzw/springboot/config/DruidDataSourceConfig.java,
StatViewServlet();ServletRegistrationBean
ServletRegistrationBean(statViewServlet,
HashMap();initParameters.put(loginUsername,
druid);//允许清空统计数据initParameters.put(loginPassword,
druid);//用户名initParameters.put(resetEnable,
true);//密码servletRegistrationBean.setInitParameters(initParameters);return
}3.修改src/main/java/com/zzw/springboot/config/DruidDataSourceConfig.java/druidDataSource(),加入SQL监控
druidDataSource.setFilters(stat);4.增加src/main/java/com/zzw/springboot/controller/DruidSqlController.java,
jdbcTemplate;ResponseBodyGetMapping(sql)public
BeanPropertyRowMapper(Furn.class);ListFurn
1.修改src/main/java/com/zzw/springboot/config/DruidDataSourceConfig.java/druidDataSource(),加入WEB监控
//WebStatFilter用于采集web-jdbc关联监控的数据。
WebStatFilter();FilterRegistrationBeanWebStatFilter
FilterRegistrationBean(webStatFilter);filterRegistrationBean.setUrlPatterns(Arrays.asList(/*));MapString,
HashMap();initParameters.put(exclusions,
*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*);filterRegistrationBean.setInitParameters(initParameters);return
1.修改src/main/java/com/zzw/springboot/config/DruidDataSourceConfig.java/druidDataSource(),加入SQL防火墙
druidDataSource.setFilters(stat,wall);2.测试
1.前面我们使用的是自己引入druid配置类方式整合Druid和监控。
2.注销src/main/java/com/zzw/springboot/config/DruidDataSourceConfig.java全部
项目中加入druid-spring-boot-starter依赖
dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.17/version
*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*filter:
#启用sql防火墙(不在白名单那就在黑名单,看你的拦截规则)drop-table-allowed:
#禁止删除表config:select-all-column-allow:
ListenerTomcat切换数据库操作HiKariDataSource
2.目前是一些比较散的知识点同学们学习时如果想不起来一定要回顾在前面那个章节中讲过做一个简单快速的巩固从而达到融会贯通。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback