From abc005e69022e7e08a580cd8027a5a3fb73ba929 Mon Sep 17 00:00:00 2001 From: beginner <52942568@qq.com> Date: Wed, 21 May 2025 01:01:38 +0000 Subject: [PATCH] =?UTF-8?q?fix(web):=20=E6=B7=BB=E5=8A=A0Servlet=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E7=B1=BB=E5=AF=B9getOs=E5=92=8CgetBrowser=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E4=B8=ADUser-Agent=E4=B8=BA=E7=A9=BA=E6=88=96?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E5=A4=B1=E8=B4=A5=E6=97=B6=E7=9A=84=E9=9D=9E?= =?UTF-8?q?=E7=A9=BA=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../starter/web/util/ServletUtils.java | 33 ++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/continew-starter-web/src/main/java/top/continew/starter/web/util/ServletUtils.java b/continew-starter-web/src/main/java/top/continew/starter/web/util/ServletUtils.java index e49770b0..c33e0129 100644 --- a/continew-starter-web/src/main/java/top/continew/starter/web/util/ServletUtils.java +++ b/continew-starter-web/src/main/java/top/continew/starter/web/util/ServletUtils.java @@ -24,6 +24,7 @@ import cn.hutool.http.useragent.UserAgentUtil; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpSession; +import org.apache.commons.lang3.StringUtils; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -68,8 +69,22 @@ public class ServletUtils extends JakartaServletUtil { * @return 浏览器及其版本信息 */ public static String getBrowser(String userAgentString) { - UserAgent userAgent = UserAgentUtil.parse(userAgentString); - return userAgent.getBrowser().getName() + StringConstants.SPACE + userAgent.getVersion(); + if (StringUtils.isBlank(userAgentString)) { + return null; + } + try { + UserAgent userAgent = UserAgentUtil.parse(userAgentString); + if (userAgent == null || userAgent.getBrowser() == null) { + return null; + } + String browserName = userAgent.getBrowser().getName(); + String version = userAgent.getVersion(); + return StringUtils.isBlank(version) + ? browserName + : browserName + StringConstants.SPACE + version; + } catch (Exception e) { + return null; + } } /** @@ -92,8 +107,18 @@ public class ServletUtils extends JakartaServletUtil { * @return 操作系统 */ public static String getOs(String userAgentString) { - UserAgent userAgent = UserAgentUtil.parse(userAgentString); - return userAgent.getOs().getName(); + if (StringUtils.isEmpty(userAgentString)) { + return null; + } + try { + UserAgent userAgent = UserAgentUtil.parse(userAgentString); + if (userAgent == null || userAgent.getOs() == null) { + return null; + } + return userAgent.getOs().getName(); + } catch (Exception e) { + return null; + } } /**