Applet - JavaScript communication problem

Hi,
I am creating applet parameter using JavaScript (DOM Tree). But when i am accessing inside the applet, it is coming as null.
Here is code:
JavaScript Code:
<html>
<head>
</head>
<script language="JavaScript">
     function testXML(){
          var applet = document.getElementById("graftApplet");
          var param = document.createElement("param");
          param.setAttribute("name","graft4");
          param.setAttribute("value","25:10|20:50|172:220");
          applet.appendChild(param);          
</script>
<body onload=testXML()>
Applet embedded here!
<br>
<hr>
<APPLET id="graftApplet" CODE=Graft.class width=400 height=500 mayscript>
</APPLET>
<br>
</body>
</html>Applet code:
public void init()
System.out.println(getParameter("graft4")); //it is prinitng NULLcan you please tell me where i am wrong?
Thanks
Chintan

Did u Try this
<APPLET id="graftApplet" CODE=Graft.class width=400 height=500 mayscript>
<PARAM NAME="name" VALUE="25:10|20:50|172:220">
</APPLET>

Similar Messages

  • Applet javascript communication

    hi all,
    I want my applet to flash the browser window, came to know that can be done
    using applet javascript communication.
    ne1 has ne idea how to do that.
    thx in adv,
    kiran

    ???

  • Applet-Servlet Communication problem EOFException

    Hi! i´ve been searching and searching through forums because it seems this problem is very common, but none of the solutions i´ve seen so far suits me, so i´m here looking for some help because i´ve been stuck one week with this. First of all sorry if my english isn´t the best... i´m a bit rusty...
    Well, i had some code that worked perfectly, but i needed to perform some changes because i needed the servlet to send more info to the applet, and here started the problems, when i made the changes it started to throw EOFException when i was trying to read the InputStream, and furthermore when i came back to the original code it started to throw the exception in the same place too
    So here i am... don´t know what to do now and i entrust to you to give me some tips.
    Here comes some code. This is the original code, the one that runned but it doesn´t run right now
    Applet:
    public ListasComponentesSeleccionables cargarListasComponentes( ) throws IOException, ClassNotFoundException {
              String serv = "/Desaladora/cargarListasComponentesApplet.do";
              String host = Principal.documentBase.getHost( );
              URL direccion = new URL( "http", host, 8080, serv );
              // Create conection
              URLConnection connection = direccion.openConnection( );
              connection.setDoInput( true ); 
              connection.setDoOutput( true );
              connection.setUseCaches( false );
              connection.setRequestProperty( "Content-Type", "application/x-java-serialized-object" );
              ObjectOutputStream output;
              output = new ObjectOutputStream( connection.getOutputStream( ) );
              output.writeObject( new Boolean(true) );
              output.flush( );
              output.close( );
              ObjectInputStream input = new ObjectInputStream( connection.getInputStream( ) ); //<-- Here is the problem
              ListasComponentesSeleccionables response = new ListasComponentesSeleccionables( );
              response = ( ListasComponentesSeleccionables ) input.readObject( );
              return response;
         }Servlet:
    ublic class CargarListasComponentesAppletAction extends Action {
    public ActionForward execute(     ActionMapping mapping,
                                                     ActionForm form,
                                                     HttpServletRequest request,
                                                     HttpServletResponse response )
                            throws ServletException, IOException, Exception  {
              InitialContext context = new InitialContext();
              SensorManagerService sensor_service;
              ActuatorManagerService actuator_service;
              Globals.LOGGER_SECURITY.debug( "Entering ACTION 'CargarListasComponentesAppletAction'" );
              response.setContentType("application/x-java-serialized-object");
              try
                   ObjectInputStream bufferentrada = new ObjectInputStream(request.getInputStream());
                   Boolean peticionOK = (Boolean)bufferentrada.readObject();
                   ObjectOutputStream buffersalida = new ObjectOutputStream(response.getOutputStream());
                   sensor_service = ( SensorManagerService ) context.lookup( "desaladora/SensorManagerServiceBean/local" );
                   ArrayList<AlarmConnectedSensorDTO> sensorList = sensor_service.findAllSensorsToAlarms();
                   actuator_service = ( ActuatorManagerService ) context.lookup( "desaladora/ActuatorManagerServiceBean/local" );
                   ArrayList<AlarmConnectedActuatorDTO> actuatorList = actuator_service.findAllActuatorsToAlarms();
                   buffersalida.writeObject( crearListasSeleccionables(sensorList, actuatorList) );
                   buffersalida.flush();
              catch(Exception e)
                   System.out.println("Error en la trasmision de datos");
              return null;
         private ListasComponentesSeleccionables crearListasSeleccionables(ArrayList<AlarmConnectedSensorDTO> sensorList,
                    ArrayList<AlarmConnectedActuatorDTO> actuatorList) {
              Vector<Integer> vectorSensores = new Vector<Integer>();
              Vector<Integer> vectorActuadores = new Vector<Integer>();
              for(AlarmConnectedSensorDTO sensor : sensorList) {
                   vectorSensores.add(sensor.getIdSensor( ));
              for(AlarmConnectedActuatorDTO actuator : actuatorList) {
                   vectorActuadores.add(actuator.getIdActuator( ));
              ListasComponentesSeleccionables listasComponentesSeleccionables =
                                  new ListasComponentesSeleccionables(vectorSensores, vectorActuadores);
              return listasComponentesSeleccionables;
    }i´ve been running some test in another computer, and this code simply works, but it doesn´t work in the machine i usually work.
    Maybe someway the stream get corrupt? the info i´ve been trying to send and started throwing the exception may still be in the stream? I don´t know what to think right now.
    Hope someone has any idea, thankyou.

    I dont see the problem. However, I suggest you change this;
    System.out.println("Error en la trasmision de datos"); t
    to e.printStackTrace() to see what it is doing when it stops working.
    I also suggest peppering your code with System.out.println() statements to see what it is doing just before stopping.
    Also, try your code with a brand new file with only a few characters in it. If it works, add to it some of your originial file content until it stops working. This way, you can determine if its the file size that is causing the crash or something in the file content. If all else fails, study java I/O and try some other way to read/write the file. You can also try a different browser. If it works, its the browser. Still having problems? Create a new project with a simple applet and file read/write program and get that working. That way, all the other stuff in your original project isn't in the way.

  • Servlet Applet object communication problem???!!!

    Hy folks,
    I need to validate the ability of complex Servlet Applet communication an run into my first pb right at the beginning of my tests. I need to have around 200 Applet clients connect to my servlet and communicate by ObjectInput and ObjectOutput streams. So I wrote a simple Servlet accepting HTTP POST connections that return a Java object. When the java Applet get instantiated, the Object Stream communication workes fine. But when the Applet tries to communicate with the servlet after that, I can not create another communication session with that Servlet, instead I get a 405 Method not allowed exception.
    Summarized:
    - Applet init() instantiate URLConnection with Servlet and request Java object (opening ObjectInput and Output Stream, after receaving object, cloasing streams).
    - When I press a "get More" button on my Applet, I am not able to instantiate a new URLConnection with my servler because of that 405 exception, WHY???
    Here my Servlet code:
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
             ObjectInputStream inputFromApplet = null;
             ArrayList transmitContent = null;       
             PrintWriter out = null;
             BufferedReader inTest = null;
             try{               
                   inputFromApplet = new ObjectInputStream(request.getInputStream());           
                     transmitContent = (ArrayList) inputFromApplet.readObject();       
                     inputFromApplet.close();
                     ArrayList toReturn = new ArrayList();                 
                     toReturn.add("One");
                     toReturn.add("Two");
                     toReturn.add("Three");
                     sendAnsweredList(response, toReturn);                 
             catch(Exception e){}        
         public void sendAnsweredList(HttpServletResponse response, ArrayList returnObject){
             ObjectOutputStream outputToApplet;    
              try{
                  outputToApplet = new ObjectOutputStream(response.getOutputStream());          
                  outputToApplet.writeObject(returnObject);
                  outputToApplet.flush();           
                  outputToApplet.close();              
              catch (IOException e){
                     e.printStackTrace();
    }Here my Applet code:
    public void init() {         
             moreStuff.addActionListener(new ActionListener(){
                  public void actionPerformed(ActionEvent e){
                       requestMore();
             try{
                  studentDBservlet = new URL("http://localhost/DBHandlerServlet");              
                  servletConnection = studentDBservlet.openConnection();      
                   servletConnection.setUseCaches (false);
                   servletConnection.setDefaultUseCaches(false);
                   servletConnection.setDoOutput(true);
                   servletConnection.setDoInput(true);
                   ObjectOutputStream outputToApplet;
                 outputToApplet = new ObjectOutputStream(servletConnection.getOutputStream());          
                 outputToApplet.writeObject(new ArrayList());
                 outputToApplet.flush();           
                 outputToApplet.close(); 
                   ObjectInputStream inputFromServlet = new ObjectInputStream(servletConnection.getInputStream());
                   ArrayList studentVector = (ArrayList) inputFromServlet.readObject();
                   area.setText("Success!\n");
                   for (int i = 0; i<studentVector.size(); i++) {
                        area.append(studentVector.get(i).toString()+"\n");
                  inputFromServlet.close();
                  outputToApplet.close();             
              catch(Exception e){
                   area = new JTextArea();
                   area.setText("An error occured!!!\n");
                   area.append(e.getMessage());
            getContentPane().add(new JScrollPane(area), BorderLayout.CENTER);
            getContentPane().add(moreStuff, BorderLayout.SOUTH);
        private void requestMore(){
             try{              
                  studentDBservlet = new URL("http://localhost/DBHandlerServlet");                             
                  servletConnection = studentDBservlet.openConnection(); 
                   ObjectInputStream inputFromServlet = new ObjectInputStream(servletConnection.getInputStream());
                   ArrayList studentVector = (ArrayList) inputFromServlet.readObject();
                   area.setText("Success2!\n");
                   for (int i = 0; i<studentVector.size(); i++) {
                        area.append(studentVector.get(i).toString()+"\n");
              catch(Exception e){               
                   area.setText("An error occured2!!!\n");
                   area.append(e.getMessage());
        }Can someone help me solv this issue please, this is my first Applet Servlet work so far so I have no idea on how to solve this issue.

    Sorry folks, just found my error. Forgot about the ObjectInputStream waiting on the Servlet side, so of course had a dead look...
    Sorry!

  • Applet/javascript communication with 1.4 plug in

    I have a javascript function that queries an applet parameter using the following code:
    var applet = window.parent.frames["FRAME_NAME"].document.applets[0];
    var errorStatus = applet.ErrorStatus;
    The applet has a "getErrorStatus" method. This all worked fine using the 1.3 plug-in, but doesn't work at all with the 1.4.1.01 plug in! It seems to be listed as bug 4599575, but that bug is listed as being fixed in 1.4.0 Beta 3, and I'm using a more recent version! Does anyone know anything more about this bug, or has anyone found a good work around? Thanks!

    To call an Applet's public methods in JavaScript, just do this:
    var applet = window.parent.frames["FRAME_NAME"].document.applets[0];
    var errorStatus = applet.getErrorStatus();

  • Applet servlet communication problem again

    applet send the data to servlet, servlet receive the data and send a message back to applet, but there is an exception error.
    // servlet
    public void doPost (HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
         Connection theConnection;
         boolean check = false;
         // Get the value of a request parameter; the name is case-sensitive
            String name = "key1";
            String value = request.getParameter(name);
           try{
                //Loading Sun's JDBC ODBC Driver  
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                theConnection = DriverManager.getConnection("jdbc:odbc:database1", "", "");
                Statement theStatement=theConnection.createStatement();
                String sql = "SELECT col_name FROM table_name WHERE col_name ='"+value+"''";
                ResultSet rs = theStatement.executeQuery(sql);
                if(rs.next()){
                    check = true;
                theStatement.close();//Close statement
                theConnection.close(); //Close database Connection
            }catch (ClassNotFoundException e) {
            System.err.println("ClassNotFoundException : " +e);
            asdf.write(e.toString().getBytes("US-ASCII"));
            } catch (SQLException e) {
                System.err.println("SQL exception : " +e);
                asdf.write(e.toString().getBytes("US-ASCII"));
            if(check){
              try{
                   ObjectOutputStream objStream = null;
                   objStream = new ObjectOutputStream(response.getOutputStream());
                   String message = "your input is already exist in col_name in table_name ";
                   objStream.writeObject(message);
                   objStream.flush();
                   objStream.close();
               catch(Exception ex){
                    asdf.write(ex.toString().getBytes("US-ASCII"));
    //applet
    private void recordSeg()  throws ClassNotFoundException, MalformedURLException, IOException{
                *  Try to connect to the servlet
              try {
                // Construct data
                String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("hello", "UTF-8");
                // Send data to sqlServlet
                URL url = new URL(http://localhost:8084/JSP/sqlServlet");
                URLConnection conn = url.openConnection();
                conn.setDoOutput(true);
                OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
                wr.write(data);
                wr.flush();
                // Get the response
                BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                String line;
                while ((line = rd.readLine()) != null) {
                    // Process line...
                wr.close();
                rd.close();
            } catch (Exception e) {
              //receive data from sqlServlet
            try{
                URL url = new URL(server + "JSP/sqlServlet");
                 URLConnection servletConnection = url.openConnection();
                servletConnection.setUseCaches (false);
                servletConnection.setDefaultUseCaches(false);
    / *+++++++++error line (java.io.IOException: Server returned HTTP response code: 405 for URL: http://localhost:8084/JSP/sqlServlet) */
                ObjectInputStream inputFromServlet = new ObjectInputStream(servletConnection.getInputStream());
                String temp_s = inputFromServlet.readObject().toString();
                inputFromServlet.close();
            catch(Exception ex){
                errField.append("Exception ~~~~~~~~~ " +ex+ "\n");
        }

    Sorry, I have put the code tab but ...................................
    applet send the data to servlet, servlet receive the data and send a message back to applet, but there is an exception error.
    //servlet
    public void doPost (HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
         Connection theConnection;
         boolean check = false;
         // Get the value of a request parameter; the name is case-sensitive
            String name = "key1";
            String value = request.getParameter(name);
           try{
                //Loading Sun's JDBC ODBC Driver  
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                theConnection = DriverManager.getConnection("jdbc:odbc:database1", "", "");
                Statement theStatement=theConnection.createStatement();
                String sql = "SELECT col_name FROM table_name WHERE col_name ='"+value+"''";
                ResultSet rs = theStatement.executeQuery(sql);
                if(rs.next()){
                    check = true;
                theStatement.close();//Close statement
                theConnection.close(); //Close database Connection
            }catch (ClassNotFoundException e) {
            System.err.println("ClassNotFoundException : " +e);
            asdf.write(e.toString().getBytes("US-ASCII"));
            } catch (SQLException e) {
                System.err.println("SQL exception : " +e);
                asdf.write(e.toString().getBytes("US-ASCII"));
            if(check){
              try{
                   ObjectOutputStream objStream = null;
                   objStream = new ObjectOutputStream(response.getOutputStream());
                   String message = "your input is already exist in col_name in table_name ";
                   objStream.writeObject(message);
                   objStream.flush();
                   objStream.close();
               catch(Exception ex){
                    asdf.write(ex.toString().getBytes("US-ASCII"));
    //applet
    private void recordSeg()  throws ClassNotFoundException, MalformedURLException, IOException{
                *  Try to connect to the servlet
              try {
                // Construct data
                String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("hello", "UTF-8");
                // Send data to sqlServlet
                URL url = new URL(http://localhost:8084/JSP/sqlServlet");
                URLConnection conn = url.openConnection();
                conn.setDoOutput(true);
                OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
                wr.write(data);
                wr.flush();
                // Get the response
                BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                String line;
                while ((line = rd.readLine()) != null) {
                    // Process line...
                wr.close();
                rd.close();
            } catch (Exception e) {
              //receive data from sqlServlet
            try{
                URL url = new URL(server + "JSP/sqlServlet");
                 URLConnection servletConnection = url.openConnection();
                servletConnection.setUseCaches (false);
                servletConnection.setDefaultUseCaches(false);
    / /+error line (java.io.IOException: Server returned HTTP response code: 405 for URL: http://localhost:8084/JSP/sqlServlet)
                ObjectInputStream inputFromServlet = new ObjectInputStream(servletConnection.getInputStream());
                String temp_s = inputFromServlet.readObject().toString();
                inputFromServlet.close();
            catch(Exception ex){
                errField.append("Exception ~~~~~~~~~ " +ex+ "\n");
    }

  • Applet servlet communication problem

    applet can receive data but cannot send data to the servlet (i.e. the servlet does not receive anything).
    Listed below are the codes
    //applet
    ObjectOutputStream objStream = null;
            URL url = new URL(getCodeBase(), "/JSP/readAppletServlet");
            URLConnection con= url.openConnection();
            con.setDoInput(true);
            con.setDoOutput(true);
            con.setUseCaches(false);
            con.setDefaultUseCaches(false);
            con.setRequestProperty ("Content-Type", "application/x-java-serialized-object");
           try{
               objStream = new ObjectOutputStream(con.getOutputStream());
               String s = "i come from APPLET";
               objStream.writeObject(s);
               objStream.flush();
               objStream.close();
           }catch(Exception ex){
    //servlet
    public class readAppletServlet extends HttpServlet {
        /** Initializes the servlet.
        public void init(ServletConfig config) throws ServletException {
            super.init(config);
        /** Destroys the servlet.
        public void destroy() {
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            java.io.FileOutputStream asdf = new java.io.FileOutputStream(new java.io.File("C:\\13579.txt"));
            InputStream in = request.getInputStream();
            ObjectInputStream inputFromApplet = null;
            String s = " you cannot call servlet ar!!!! try again";
            try{
                inputFromApplet = new ObjectInputStream(in);
                s = inputFromApplet.readObject().toString();
                in.close();
            }catch(Exception ex){
            asdf.write(s.getBytes("US-ASCII"));
            asdf.close();
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            processRequest(request, response);
        /** Returns a short description of the servlet.
        public String getServletInfo() {
            return "Short description";
    }

    As a (future) programmer the first thing you should learn is never just say "it doesn't work"
    That's what first line support is for to get info out of "dumb" users who don't know better.
    I suggested some code changes but you haven't re posted any code.
    You think it might be the applet but I don't see any exception nor a trace from the applet.
    To turn the full trace on (windows) you can start the java console, to be found here:
    C:\Program Files\Java\j2re1.4...\bin\jpicpl32.exe
    In the advanced tab you can fill in something for runtime parameters fill in this:
    -Djavaplugin.trace=true -Djavaplugin.trace.option=basic|net|security|ext|liveconnect
    if you cannot start the java console check here:
    C:\Documents and Settings\userName\Application Data\Sun\Java\Deployment\deployment.properties
    I think for linux this is somewhere in youruserdir/java (hidden directory)
    add or change the following line:
    javaplugin.jre.params=-Djavaplugin.trace\=true -Djavaplugin.trace.option\=basic|net|security|ext|liveconnect
    for 1.5:
    deployment.javapi.jre.1.5.0.args=-Djavaplugin.trace\=true -Djavaplugin.trace.option\=basic|net|security|ext|liveconnect
    The trace is here:
    C:\Documents and Settings\your user\Application Data\Sun\Java\Deployment\log\plugin...log
    I think for linux this is somewhere in youruserdir/java (hidden directory)

  • Java Applet to Javascript Communication

    There is a Java Applet which digitally signs files after taking
    private key from a smart card.This applet takes external files.
    I want to do this "Generate digital signature of a web page with the
    help of an applet of which the applet is itself a part"
    I am trying using Java Applet to Javascript Communication.
    I am able to access the object which represents the HTML document.
    That abject is represented by document itself.
    Now I have to somehow generate the whole webpage i.e. like we view in a
    notepad like this:
    <HTML>
    <Title>my page</title>
    Then write into a file and then that file can be signed.
    This is what I feel.
    In C#.net there is a method .innerhtml.
    Does such kind of a method exists in Java.???
    I m searching but cudn't get till now.
    Will serialization work??

    Kindly forget the previous post. Read the following:
    JSObject browserWindow = JSObject.getWindow(this);
    JSObject doc = (JSObject)browserWindow.getMember("document");
    Here doc represents the object of the HTML document.
    This is accessed using Java Applet JavaScript Communication.
    I want to serialize the object represented by doc.
    Then write it into a file and generate it's digital signature.
    In the below written line the parameter fileName is passed.
    CertificationChainAndSignatureBase64 signingResult = signFile(fileName);
    For this I have added few lines in the code written below.
    see first 10-30 lines. Though this code gets compiled but it is not running. When I want to sign the file , it throws an error
    "Unexpected error:sun.plugin.javascript.ocx.JSObject"
    This code is just one class. Two other classes are needed to completely test the code.
    Should I post them ??
    Kindly see what is the error.
    I will be highly grateful and Sorry for confusing in the previous mail...
    private void signSelectedFile() {
    try {
    // Get the file name to be signed from the form in the HTML document
    JSObject browserWindow = JSObject.getWindow(this);
    JSObject mainForm = (JSObject) browserWindow.eval("document.forms[0]");
    String fileNameFieldName = this.getParameter(FILE_NAME_FIELD_PARAM);
    JSObject fileNameField = (JSObject) mainForm.getMember(fileNameFieldName);
    //This is another modification
    //String fileName = (String) fileNameField.getMember("value");
                   //here we get the document......
    JSObject doc = (JSObject)browserWindow.getMember("document");
    //String docum = doc.toString();
    String thePage = "as";
                   FileOutputStream out = new FileOutputStream(thePage);
                   ObjectOutputStream s = new ObjectOutputStream(out);
                   s.writeObject(doc);
                   String fileName = thePage;
                   JOptionPane.showMessageDialog(this, fileName); //"Unexpected error: " + e.getMessage());
    // Perform the actual file signing
    CertificationChainAndSignatureBase64 signingResult = signFile(fileName);
    if (signingResult != null) {
    // Document signed. Fill the certificate and signature fields
    String certChainFieldName = this.getParameter(CERT_CHAIN_FIELD_PARAM);
    JSObject certChainField = (JSObject) mainForm.getMember(certChainFieldName);
    certChainField.setMember("value", signingResult.mCertificationChain);
    String signatureFieldName = this.getParameter(SIGNATURE_FIELD_PARAM);
    JSObject signatureField = (JSObject) mainForm.getMember(signatureFieldName);
    signatureField.setMember("value", signingResult.mSignature);
    } else {
    // User canceled signing
    catch (DocumentSignException dse) {
    // Document signing failed. Display error message
    String errorMessage = dse.getMessage();
    JOptionPane.showMessageDialog(this, errorMessage);
    catch (SecurityException se) {
    se.printStackTrace();
    JOptionPane.showMessageDialog(this,
    "Unable to access the local file system.\n" +
    "This applet should be started with full security permissions.\n" +
    "Please accept to trust this applet when the Java Plug-In ask you.");
    catch (JSException jse) {
    jse.printStackTrace();
    JOptionPane.showMessageDialog(this,
    "Unable to access some of the fields of the\n" +
    "HTML form. Please check the applet parameters.");
    catch (Exception e) {
    e.printStackTrace();
    JOptionPane.showMessageDialog(this, "Unexpected error: " + e.getMessage());
    }

  • Applet/Javascript/JSP Communication

    I have defined the following for applet/javascript communication in my applet class
    JSObject topWindow;In my init() method I initialised topWindow as follows
    topWindow = JSObject.getWindow(this);I wrote this call to javascript in my applet destroy method.
    String userDetailsString[] = {String.valueOf(userCount), String.valueOf(userNumber)};
    topWindow.call("closeWindow", userDetailsString);My javascript method is as follows in my html page which has the applet
    function closeWindow(args)
               var userCount = args[0];
          var userNum = args[1];
          var filename = "http://localhost:7001/decrement.jsp?userCount="+userCount+"&userNum="+userNum;
          win1 = window.open(filename,'Logoff',config='height=100,width=200,toolbar=0,scrollbars=0,resizable=0,left=300,top=75');
       }This decrement.jsp call is a file on Weblogic and its supposed to decrement the value of userCount for the UserNum using a sql update query which are passed from the applet to javascript and then to this jsp.
    When I close the browser which should call the destroy method in the applet nothing happens and my javascript is not triggered. I do have MAYSCRIPT in my applet tags and also have the MAYSCRIPT as a param with true as its value within applet tags.
    Where am I going wrong and also have I used the args variable in my javascript correctly to retrieve the values from the applet into the javascript?
    Thanks

    Try to use window.eval("..") That could help sometimes!

  • Applet-servlet communication, object serialization, problem

    hi,
    I encountered a problem with tomcat 5.5. Grazing the whole web i didn't find any solution (some guys are having the same problem but they also got no useful hint up to now). The problem is as follows:
    I try to build an applet-servlet communication using serialized objects. In my test scenario i write a serialized standard java object (e.g. a String object) onto the ObjectOutputStream of the applet/test-application (it doesn't matters wheter to use the first or the latter one for test cases) and the doPost method of the servlet reads the object from the ObjectInputStream. That works fine. But if i use customized objects (which should also work fine) the same code produces an classnotfound exception. When i try to read and cast the object:
    TestMessage e = (TestMessage)objin.readObject();
    java.lang.ClassNotFoundException: TestMessage
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1359)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    ...That seems strange to me, because if i instantiate an object of the same customized class (TestMessage) in the servlet code, the webappclassloader doesn't have any problems loading and handling the class and the code works fine!
    The class is located in the web-inf/classes directory of the application. I've already tried to put the class (with and without the package structure) into the common/classes and server/classes directory, but the exception stays the same (I've also tried to build a jar and put it in the appropriate lib directories).
    I've also tried to catch a Throwable object in order to get information on the cause. But i get a "null" value (the docu says, that this will may be caused by an unknown error).
    I've also inspected the log files intensively. But they gave me no hint. Until now I've spend a lot of time on searching and messing around but i always get this classnotfound exception.
    I hope this is the right place to post this problem and i hope that there is anyone out there who can give me some hint on solving this problem.
    Kindly regards,
    Daniel

    hi, thanks for the reply,
    all my classes are in the web-inf/classes of the web-app and have an appropriate package structure. thus the TestMessage class is inside a package.
    i tried some names for the testclass but it didn't matter. the exception stays the same. I also tried to put the jar in the common/lib but the problem stays.
    Well the problem with loaded classes: As i mentioned in the post above i can instantiate an object of TestMessage in the code without any problems (so the classloader of my webapp should know the class!!)
    only when reading from the objectinputstream the classloader doesn't seem to know the class?? maybe theres a parent classloader resposible for that and doesn't know the class?
    strange behaviour...
    p.s. sending the same object from the servlet to the client works well
    regards
    daniel
    Message was edited by:
    theazazel

  • Signed applet and javascript communication

    Hi All,
    I have an (jar) signed applet which I use to access system properties (e.g user.home). I also have a javascript code that communicates (call to a public function) with the applet to get the property "user.home" from the applet. Everything works fine in Java plugin 1.3 but since I have installed the latest plugin 1.4.2_01 from http://www.java.com/en/download/windows_automatic.jsp website I can not access the system properties even though everything in the code is same.
    I can however still access public functions/variables from the same applet which do not access system properties in the new plugin 1.4.2_01.
    The browser I am using is IE and OS is Windows 2000.
    Does anybody know if Sun has changed the security policy for 1.4.2_01, in the new plugin for java-javascript communication to block access to functions which uses system property,fileIO, socket etc. even if they are signed applet??
    Thanks in advance..

    When invokin applet methods via javascript, you are accessing privileged actions from an unsafe source.
    Depending on your needs, you could either load the system variables in applet init into class variables and return the information contained in the class variables to javascript or wrap the method calls inside AccessController.doPrivileged() calls.

  • Problem in Applet Servlet communication in cluster

              Our new production server has been configured with
              clusters very recently.The application is running fine if and only if one instance
              of weblogic is running.The application has two applets that communicate through a
              servlet and the servlet is hosted by both the WL servers in the cluster.
              Please consider the following scenario :
              1. JSP#1(having embedded tag for Applet#1) is served by, say, WLInstance#1.
              2. JSP#2(having embedded tag for Applet#2) is served by, say, WLInstance#2.
              3. Applet#1 is loaded by BrowserInstance#1.
              4. Applet#2 is loaded by BrowserInstance#2.
              The way I understand applet-servlet communication is as follows :
              The servlets are invoked through the url-pattern specified in web.xml - if the applet
              is making use of a certain url-pattern that is mapped to servlet, then the call from
              that applet will
              eventually invoke a servlet on any of the two instances till a session is established,
              at which point all subsequent requests from the same browser window/frame will go
              to the servlet hosted on the instance where the http session was created.
              (Please correct me, if I am wrong.)
              So, Applet#1 will always talk to the servlet hosted by WLInstance#1 and Applet#2
              will always talk to the servlet hosted by WLInstance#2.
              In our case, the servlet is maintaining data structures to store all the messages
              sent by diffterent instances of Applets.
              The applets periodically polls the messages from those data structures.Once the messages
              are polled, those are deleted from
              the data structures.
              As there are two different instances of the servlet, Applet#1 never gets messages
              posted by Applet#2.
              Is there a way to make this data structure global to both the servlet instances?
              Thanks and best regards,
              Subir Das
              

              "Subir Das" <[email protected]> wrote:
              >So, Applet#1 will always talk to the servlet hosted by WLInstance#1 and
              >Applet#2
              >will always talk to the servlet hosted by WLInstance#2.
              This statement is not entirely true.
              Suppose WLInstance#1 were to be brought down (for whatever reason), Applet#1 will
              then talk to servlet hosted by WLInstance#2.
              Server pinning could be modified by different load balancing algorithms, configurable
              via containers (or hardware).
              So don't count on which servlet instance your applet is going to be served by.
              Instead consider to give a second look into the design of the servlet data structure
              (object):
              1.Read from data store, if it has been persisted.
              2.If the data is client related then consider sticking the data into session, which
              would then replicate to other WL instances.
              3.Stateless EJB in a cluster ? Don' know much about this(yet).
              My 2 cents..Good luck.
              Rama
              

  • Communication problems: A device attached to the system is not functioning.

    Hi all,
    I'm developing an applet and using the OMNIKEY 5321 CL reader for communication and testing. One of the requirements for our card is to read large binary data.
    For this purpose i used extented lenght APDU to read the data from card.
    When I tested it via JCOP simulation I was able to read up to 32767 bytes as described in specification. But problem occurs when I test it with reader, in this case I'm able to read max 298B in APDU response. When I send greater byte count than 298B i have got following error in JCShell plugin:
    jcshell: requestSessionKey.jcsh[1]: Error code: -6 (Card terminal error)
    jcshell: requestSessionKey.jcsh[1]: Communication problems: A device attached to the system is not functioning.
    Regarding the extend lengh APDU support it should by OK from the OMNIKEY. I'm using newest driver 1.2.9.2 for Win 7.
    Here my configuration:
    JCOP:JCOP 2.4.2r1
    JAVA CARD: jc301
    Global Platform: gp22
    Can somebody help me? Any ideas?

    If you want to use PC/SC directly, I have a simple Go program that reads an APDU file (just hex encoded APDU strings) and sends them to a smart card. You can give that a try if you like.
    The code is at: https://bitbucket.org/safarmer/go-apdus
    There is a Goclipse project as well as the source. You will need to install Go and run "go get github.com/ebfe/go.pcsclite/scard" to install the required PC/SC wrapper. Once you have done this you can run the program with -file <apth to text file>
    An example text file:
    # A comment that is ignored
    00a4040000
    80ca9f7f00- Shane

  • Javascript security problem in IE/Netscape

    I am facing with the javascript security problem in IE/Netscape. I have solved this problem partially, but there are more issues involved.
    Here's the scenario:
    There is an HTML page on client's hard disk (main.htm) containing two frames:
    frame 1 contains a page that lies that is deployed from my server, say
    src="http://127.0.0.1:8080/MyApplication.htm"
    frame 2 contains a page that lies on the client's server, say
    src="http://www.clientside.com/clientPage.htm"
    My page in frame 1 wants to access the URL of the page in frame 2 (through a button click, say ). This is done in MyApplication.htm through javascript as:
    window.parent.frame2.location.href;
    Now when the above line is executed, i get the following error:
    In IE(5.0): "permission denied"
    In Netscape(4.7): "access disallowed from scripts at http://127.0.0.1:8080/MyApplication.htm to documents at another domain."
    (which is understandable)
    I have partially solved the above problem in Netscape, by granting access permissions to MyApplication.htm (page on my server) to access the
    "http://www.clientside.com/clientPage.htm" page at client's domain.
    This is done as follows:
    1. First enable code base principals in client's Netscape by adding the following line in prefs.js file of Netscape
    "user_pref("signed.applets.codebase_principal_support", true);"
    2. Secondly i must add the following line in java script of "MyApplication.htm"
    "netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserAccess");"
    Now when the client clicks the button on my frame he'll get a netscape window asking him to grant permissions to MyApplication.htm.
    After granting permission, MyApplication.htm can retrieve the URL of clientPage.htm (even if he browses to another url)
    As you can see this problem is solved partially, but i want that the page "main.htm" (which is now on the client's hard disk),
    must be deployed at client's server (in which case not even the above technique works).........what should i do? any alternates or other solution?
    Secondly i want this to work with IE too, (which should according to their documentation, but does not and is therfore a big IE bug-as mentioned on the net)
    Any sort of help in this case would greatly appreciated.
    Thanks
    Faisal Moin Khan

    i believe you are posting in the wrong forum.
    This forum is foro XML web services.

  • Applet/servlet communication for byte transmission

    Hello all !
    I wrote an applet to transfer binary file from web servlet (running under Tomcat 5.5) to a client (it's a signed applet) but I have a problem of interpretation of byte during transmission.
    the code of the servlet is :
            response.setContentType("application/octet-stream");
            ServletOutputStream sos = response.getOutputStream();
            FileInputStream fis = new FileInputStream(new File(
                    "C:\\WINDOWS\\system32\\setup.bmp"));
            byte[] b = new byte[1024];
            int nbRead = 1;
            while (nbRead > 0) {
                nbRead = fis.read(b);
                System.out.println("octets lus = " + nbRead);
                sos.write(b, 0, nbRead-1);
            fis.close();
            sos.close();et le code de l'applet qui appelle cette servlet est :
            URL selicPortal = null;
            try {
                selicPortal = new URL(
                        "http://localhost:8080/AppletTest/servlet/FileManipulation");
            } catch (MalformedURLException e) {
                e.printStackTrace();
            URLConnection selicConnection = null;
            try {
                selicConnection = selicPortal.openConnection();
            } catch (IOException e) {
                e.printStackTrace();
            selicConnection.setDoInput(true);
            selicConnection.setDoOutput(true);
            selicConnection.setUseCaches(false);
            selicConnection.setRequestProperty("Content-Type",
                    "application/octet-stream");
            try {
                InputStream in = selicConnection.getInputStream();
                FileOutputStream fos = new FileOutputStream(new File(tempDir
                        + "\\toto.bmp"));
                byte[] b = new byte[1024];
                int nbRead = in.read(b);
                while (nbRead > 0) {
                    fos.write(b);
                in.close();
                fos.close();
             } catch (IOException ioe) {
                ioe.printStackTrace();
            }the file dowloaded is broken. it seems that bytes 01 00 or 00 01 are not correctly process.
    Some ideas to help me please ?

    hi,
    have you solved this issue.. please post me the code since i m also doing the applet/servlet communication and can use your code as reference.
    how to read the content placed in the urlConnection stream in the servlet
    Below is my code in applet
    public void upload(byte[] imageByte)
              URL uploadURL=null;
              try
                   uploadURL=new URL("<url>");
                   URLConnection urlConnection=uploadURL.openConnection();
                   urlConnection.setDoInput(true);
                   urlConnection.setDoOutput(true);
                   urlConnection.setUseCaches(false);
                   urlConnection.setRequestProperty("Content-type","application/octet-stream");
                   urlConnection.setRequestProperty("Content-length",""+imageByte.length);
                   OutputStream outStream=urlConnection.getOutputStream();
                   outStream.write(imageByte);
                   outStream.close();
              catch(MalformedURLException ex)
              catch(IOException ex)
    How can i read the byte sent on the outstream (in above code) in the servlet.
    Thanks,
    Mclaren

Maybe you are looking for

  • Cannot download Creative Cloud due to Adobe Bridge error

    My Windows based computer will not allow me to download any of the CS6 products available through the Creative Cloud subscription. The error I continue to receive is that Adobe Bridge is open. I've since used the Adobe Cleanup Tool to delete my previ

  • How can I remove my email address from the lock screen?

    How do I remove my email address from the lock screen? My dad bought me a new laptop after mine was stolen from my house on New Year's Eve. I'm a little tighter on my security now and when I turn on my laptop the lock screen shows me my name and my e

  • IPhone Cable Cracked

    I noticed today that my iPhone cable has cracked right behind the connector that goes to the USB piece. The cable still works but I was wondering would this be covered under the warranty? Would I be able to go to an Apple Store to get a replacement o

  • Sort sequence and sort rules

    Hello friends, In batch determination at delivery level In strategy type SD01, if I don't maintain sort sequence can sytem automatically determines the batch at delivery level? Please clarify my doubt. regards, Sekhar_sd consultant.

  • SCOM management packs for POS, wireless, printer, scanners

    Hi, We are looking for a solution where we want to integrate monitoring of various devices, that might be used in a typical Retail Store operations, into System Center Operations Manager 2012. Please let me know how SC OM can support monitoring Point