不熟,但感觉仅依靠JSP自身功能是不太可能的。
必须借助JAVA APPLET等一些小程序来做吧,通过它们与扫描仪通讯,完成后再由JSP继续处理。

解决方案 »

  1.   

    我有写过用JAVA控制光学符号阅读器(就是高考时候答题的那种),扫描以后取得答题卡的值,然后进行保存和登分工作,不知道可不可以?
      

  2.   

    我给你一个思路吧!具体的原代码不方便开放。
    你先要用VB、VC、PB或者其他的一种工具写一个OCX的控件,然后在JSP里面直接用<object>直接调用这个控件,在Javascript或者VBscript里面通过你声明<object>的name调用你在OCX里面写的方法(这个方法的调用你要参照你扫描仪的具体的说明书,上面应该有具体的介绍和接口的实现问题),当然调用之前你先要再页面进来或者加载的时候将这个仪器进行初始化,然后通过在基类写一些具体的操作方法就OK了。我认为最主要的问题是OCX控件写方法的这一个过程,其实网上有很多这方面的代码。下面的代码是我在进入页面之前就已经将仪器初始化了,下面只是一些调用而已
    <%@ page contentType="text/html;charset=GBK"%>
    <%@ page language = "java" import = "a.b.c.*"%>
    <%
    ff adfsadfs= new ff(request,response,session);
    %>
    <HTML>
    <HEAD>
    <SCRIPT language="javascript">function save1()
    {
    if(checkdata()==false) return;
    Form1.action="a.jsp?EventID=gg";
    Form1.target="mainFrame";
    Form1.submit();

    }
    function hisback()
    {
    Form1.action="b.jsp?EventID=bb";
    Form1.target="mainFrame";
    Form1.submit();
    }
    function anpai()
    {
    window.showModalDialog("c.jsp", "","dialogWidth:660px; dialogHeight:380px; help:no; scroll:no; status:no");
    }function zkzprt()
    {
    window.showModalDialog("d.jsp?EventID=sdfsfssf", "","dialogWidth:660px; dialogHeight:440px; help:no; scroll:no; status:no");
    }
    function addnew1()
    {
    //从光阅读器读取数据
    var iRes = window.parent.parent.frames["topFrame"].DevReadRead();
    if(iRes==-1)
    {
    alert("读取数据失败!");
    return false;
    }

    }
    function addnew()
    {
    //取阅读结果
    var sRes = window.parent.parent.frames["topFrame"].DevReadGetResult();
    if(sRes == 0)
    {
    alert("取数据失败!");
    }else
    {
    //分解数据
    Form1.action="f.jsp?EventID=FDFDFD&Res=" + sRes;
    Form1.target="mainFrame";
    Form1.submit();
    }
    }function devinit()
    {
    window.parent.parent.frames["topFrame"].DevReadInit();
    }
    </SCRIPT></HEAD>
    <body topmargin="5"> 
    <form name="Form1" method="post">
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC" class="TD2">
      <tr><td valign="top">
        <table width='100%' height='21' border='0' cellpadding='0' cellspacing='0'>
          <tr>
            <td><table width='100%' height='21' border='0' cellpadding='0' cellspacing='0'>
                <tr>
                  <td>
                    <TABLE class='tableTitle'>
                      <TR>
                        <TD nowrap><strong>读信息</strong></TD>
                      </TR>
                  </TABLE></td>
                  <td width='10'>&nbsp;</td>
                  <td>&nbsp;</td>
                </tr>
            </table>
            
    <table class='tableInput' width='95%' height='35' border='0' align='center' cellspacing='0'>
          <tr>
            <td><table width='140' height='31' border='0' align='right' cellpadding='0' cellspacing='0'>
                <tr>
                  <td>
                    <input name="btndevinit" type="button"  class="buttonGray" id="deltem22" value="设备初始化" onClick="javascript:devinit()"> 
    <input name="Submit2" type="button" class="buttonGray" value="读 卡" onClick="javascript:addnew1()"> 
    <input name="Submit1" type="button" class="buttonGray" value="取 值" onClick="javascript:addnew()"> 
    <input name="savef" type="button"  class="buttonGray"  value="准予登记" onClick="javascript:save1()"> 
    <input name="prtzkz" type="button"  class="buttonGray"  value="打印证件" onClick="javascript:zkzprt()" disabled> 
    <input name="back"  type="button" value="返 回" class="buttonGray" onClick="javascript:hisback();">
     </td>
                </tr>
            </table></td>
          </tr>
        </table>
    </form>
    </body>
    </HTML>
      

  3.   


    java 一般不用来搞底层开发, 
    Java提供了JNI这些用 JNI 调用 C++/C实现 比较方便
      

  4.   

    http://community.csdn.net/Expert/topic/3344/3344384.xml?temp=.3726465