我需要一个servlet代码,它将返回客户端浏览器的类型,并检测是否安装了PDF Viewer插件。
我已尝试使用 HttpServletRequest 提供的 .getHeader(&#34; User-Agent&#34;),如下所示:< / p>
String userAgent = request.getHeader("user-agent");
但它只返回以下浏览器类型而没有插件:
&#34; Mozilla / 4.0(兼容; MSIE 8.0; Windows NT 5.1; Trident / 4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1。 4322; InfoPath.2)&#34;
有什么办法可以在servlet中检测到PDF Viewer插件吗?
任何答案都将不胜感激。 非常感谢你!
答案 0 :(得分:0)
您不能在servlet中执行此操作,并且肯定不是基于用户代理。您最好的选择是使用在Web浏览器本身中运行的语言(例如JavaScript)执行检测。有几种JavaScript解决方案,请参阅此问题的评论和答案javascript detect adobe reader plugin for browser。
要将此信息从JavaScript传递到Servlet,您可以通过ajax或操作表单中的隐藏字段传递请求参数,或者设置cookie然后在servlet中检查它。通常的HttpServletRequest
方法可以获得请求参数和cookie。