项目背景
原有的启动平台公共组件库comm-util的浏览器工具类BrowserUtils是基于UserAgentUtils的,但是该项目最后一个版本发布于 2018/01/24,之至今日23年底,已有5年没有维护更新,会造成最新版本的部分浏览器不能正确获取到浏览器信息。(至于为什么停更了获取不到最新浏览器和操作系统信息了呢,文末给大家揭晓。)以至于公司的项目组团队不得已去寻找其他解决方案,做该工具类的优化更新。于是我们来到的项目官网,看到了官方公告也提示项目已停止更新,官方建议使用Browscap做代替。如下图:

开始改造
1、maven依赖替换
替换前
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>1.21</version>
</dependency>
替换后
<dependency>
<groupId>com.blueconic</groupId>
<artifactId>browscap-java</artifactId>
<version>1.4.1</version>
</dependency>
说明:browscap-java的1.4.1版本实在2023年7月维护的
2、公共方法抽取
原有实现是基于UserAgentUtils的,首先从请求头中获取到User-Agent,再通过parseUserAgentString()方法获取到UserAgent对象,然后在调用对象的getBrowser()方法获取到浏览器对象Browser,进而获取到浏览器相关信息。
private static Browser getBrowser(HttpServletRequest request) {
return UserAgent.parseUserAgentString(

最低0.47元/天 解锁文章
682

被折叠的 条评论
为什么被折叠?



