Java 如何从servlet检测PDF查看器插件

Java 如何从servlet检测PDF查看器插件,java,servlets,plugins,browser,Java,Servlets,Plugins,Browser,我需要一个servlet代码,它将返回客户端浏览器的类型,并检测是否安装了PDF查看器插件 我尝试过使用可用的.getHeader(“用户代理”)HttpServletRequest,如下所示: String userAgent = request.getHeader("user-agent"); 但它只返回以下浏览器类型,不返回插件: “Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.1;Trident/4.0;.NET CLR 2.0.50727;.NET CLR

我需要一个servlet代码,它将返回客户端浏览器的类型,并检测是否安装了PDF查看器插件

我尝试过使用可用的.getHeader(“用户代理”)HttpServletRequest,如下所示:

String userAgent = request.getHeader("user-agent");
但它只返回以下浏览器类型,不返回插件:

“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)”

有没有办法在servlet中检测PDF查看器插件

如有任何答复,将不胜感激。
多谢各位

在servlet中不能这样做,当然不能基于用户代理。最好的选择是使用webbrowser本身运行的语言执行检测,例如JavaScript。有几种JavaScript解决方案,例如,请参见注释和此问题的答案

要将此信息从JavaScript传递到Servlet,可以通过ajax或操作表单中的隐藏字段传递请求参数,或者设置cookie,然后在Servlet中检查它。请求参数和cookie可通过通常的
HttpServletRequest
方法获得