郁闷憋了一天,第一次用java调用ocx控件问题,出现了一打一打的问题,在这里想请教高手急急!我现在的情况是这样的:我用普通html页面编写就可以把摄像头的录像信息给读出来,但是换成jsp文件就不行了,并且在服务器上运行本地硬盘可以运行的.html文件,就发现不能掉出图像信息了,这个是什么问题啊急~~急!我使用Tomcat服务器,下面是index.html文件读取摄像头的信息代码:
<html>
  <head>
    <title>监控信息</title>
  </head>
<body>
   <OBJECT ID="ocx3191" WIDTH=907 HEIGHT=588 CLASSID="CLSID:6778BB11-ED90-4803-BB27-FB48A47A0651">
</OBJECT>
  </body>
</html>
Index.html页面上ocx控件也可以显示出来如下图:
 
而我在jsp页面中却显示不出来,起初我认为是路径问题,后来加进去路径还是不能解决问题:代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript">
  function test(){
    ocx3191.testInterface();
  }
</script>
  </head>
<body onload="test();">
   <OBJECT ID="ocx3191" WIDTH=907 HEIGHT=588 CLASSID="CLSID:6778BB11-ED90-4803-BB27-FB48A47A0651" codebase="<%=basePath%>ocx/ocx-3-19.ocx">
<%--     <PARAM NAME="_Version" VALUE="65536">--%>
<%--     <PARAM NAME="_ExtentX" VALUE="23992">--%>
<%--     <PARAM NAME="_ExtentY" VALUE="15552">--%>
<%--     <PARAM NAME="_StockProps" VALUE="0">--%>
<%--     <param name="SRC" value="<%=basePath%>ocx/ocx-3-19.ocx">--%>
   </OBJECT>
  </body>
</html>
这个页面说也奇怪,有时候可以有时候就不行。可以的时候就会可以把ocx控件给显示出来,我对这控件也注册过了,问题还是解决不了。后来我从网络上很多帖子都说用JNI技术可以解决,可是我对JNI不是很熟悉。。想问一下各位大虾有没例子可以参考一下。急急急!网络上还说还有一种解决的办法使用jacob,我想问一下这个是怎么回事?
在这边细说一下:ocx控件没问题,ocx控件是用c++写的,在c++工程下,ocx控件可以读出摄像头的视频信号。 在线等指教!有做过这个方面的人。。给点意见~~~谢谢,有相关的例子最好在这里先谢谢了!

解决方案 »

  1.   

    JNI技术可以解决 ~但是你不可能要求用户注册了你的OCX 控件 还要安装一个虚拟机吧?老实说 我连 OCX控件都不愿意安装 !其实你这个东西应该是 OCX 控制本地摄像头,然后与服务器通信,将数据传递到数据库 ~
      

  2.   

    如果用JNI,为什么还要要求用户在安装一个虚拟机?
    raoshaoquan 你QQ号多少,后者MSN,我们可以详细聊聊吗?
    我对这方面一无所知!
      

  3.   

    就是单独 html页面可以正常的接像, 一放到项目中就不行了, 什么问题啊! 求解!!