我想从jsp锁定我的工作站。为此,我编写了一个使用JNA API的applet,它嵌入在JSP中。
当我将applet作为一个独立的applet调用时,它正在工作,我的工作站被锁定了。但是当我从JSP调用它时,它没有按预期工作。我可以看到applet已加载,它显示为“在状态栏中启动”,但它没有锁定我的工作站。
applet代码段
public void init(){
User32 user32 = (User32) Native.loadLibrary("user32", User32.class);
user32.LockWorkStation();
}
public void paint(Graphics g){
}
jsp代码段
<jsp:plugin type="applet"
code="Applet.myApplet.class"
width="200" height="100" align="top"
codebase="/workspace/applet">
<jsp:fallback>
<p>Unable to load applet</p>
</jsp:fallback>
</jsp:plugin>
请告诉我出错的地方......如果还有其他办法锁定工作站,请提出建议......
谢谢, Indranil
2017年更新 - Chrome已经删除了NPAPI,它不再支持dll,IE也与Edge同向发展。实现此解决方案的唯一可能方法是使用websockets。如果有人感兴趣,我可以发布完整的解决方案作为答案。