【发布时间】:2013-06-14 14:03:32
【问题描述】:
我使用的是 Java 6。我对 JSP 和 Servlet 的了解很少。
我正在使用以下代码来获取运行我的应用程序的浏览器名称:
String browserName = requestProvider.get().getHeader("User-Agent");
我还使用以下代码来获取运行我的应用程序的机器的 IP 地址:
String ipAdd = requestProvider.get().getRemoteAddr();
在这两种情况下,requestProvider 都是Provider<HttpServletRequest> 类型的引用变量。而且我确信它永远不会是NULL。
现在问题是有时我得到两个值 (browserName and ipAdd) NULL。
我有时会写,因为我没有测试用例。
所以我的问题是,在 Java 中,这些值可以为 NULL 的情况是什么?
在编码时我应该注意什么以避免这个问题?
有没有其他方法可以每次都获取 IP 地址和浏览器名称?
【问题讨论】:
-
某些客户端/浏览器可能不会发送 User-Agent 标头。试试
user-agent。 -
@TheNewIdiot 你能给我确切的代码吗?
-
您不能信任请求中进入应用程序的单个字节。因此,你不能相信任何东西都是非空的。
标签: java servlets browser-detection