RAS*_*RAS 8 java servlets browser-detection
我正在使用Java 6.我对JSP和Servlet的了解很少.
我正在使用以下代码来获取运行我的应用程序的浏览器名称:
String browserName = requestProvider.get().getHeader("User-Agent");
Run Code Online (Sandbox Code Playgroud)
此外,我使用以下代码来获取运行我的应用程序的计算机的IP地址:
String ipAdd = requestProvider.get().getRemoteAddr();
Run Code Online (Sandbox Code Playgroud)
在这两种情况下requestProvider都是类型的引用变量Provider<HttpServletRequest>.而且我确信它永远不会NULL.
现在问题是有时我得到两个值(browserName and ipAdd)NULL.我有时写过,因为我没有测试用例.
所以我的问题是,当这些值可以为NULL时,Java中的情况是什么?
编码时应该注意什么,以避免这个问题?
有没有其他方法可以每次获取IP地址和浏览器名称?
Rya*_*art 14
String browserName = requestProvider.get().getHeader("User-Agent");
null表示发送请求的人不包括"User-Agent"标题.
String ipAdd = requestProvider.get().getRemoteAddr();
在正常情况下不太可能返回null,但有报告称它可能在边缘情况下这样做,例如在响应已经发送之后.无论如何,"获取运行我的应用程序的机器的IP地址"听起来并不像是什么getRemoteAddr().它用于获取发送请求的最新客户端或代理的地址.
有没有其他方法可以每次获取IP地址和浏览器名称?
不.您完全依赖HTTP客户端和/或任何干预代理的行为来获取此类信息.
| 归档时间: |
|
| 查看次数: |
30341 次 |
| 最近记录: |