request.getHeader("user-agent")为null

今天一大早来,发现日志文件大小暴增,艰难的打开一部分查看之后发现,一直在报空指针的错误,所以检查了下代码,发现String ua = ((HttpServletRequest) request).getHeader(“user-agent”).toLowerCase();这段话一直报错,马上就反应过来((HttpServletRequest) request).getHeader(“user-agent”)没有取到值!!!

因为之前一直是好的,突然出现这种问题有点不知所措,理论上”user-agent”在request的header中一定是存在的,他的内容是当前请求浏览器的类型版本等相关信息,可是什么原因导致他为null了呢?是在服务器层次被过滤掉了?

目前不得而知,因为使用的阿里云的服务器,而且这个也不是我们维护的,真心不知道他们做了什么事情导致的这个问题。。。。

如果知道原因之后,会在过来更新上,现在只是想说下,大家在写这种代码的时候千万不要理所当然的认为”user-agent”一定有值,万一他没值,那么程序是不是就挂了呢?

所以将上面的代码分成了两部分,做了一下判空,代码如下:

String ua = ((HttpServletRequest) request).getHeader("user-agent");
if(ua != null){
    ua = ua.toLowerCase();
}

希望知道可能是什么原因导致这个问题的大拿们,分享下!!谢谢!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮生(FS)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值