j2me - servlet

Hei!

Matkapuhelimeni mittaa eräitä tietoja tavu-taulukkoon (byte array). Tämä taulukko tulee välittää servletille, jossa tavutaulukko luetaan vastaavaan muotoon ja käsitellään edelleen.

Matkapuhelimeni osaa nyt lähettää tavutaulukon käyttäen httpconnection -rajapintaa apunaan:

       HttpConnection conn = null;
       DataInputStream din = null;
       DataOutputStream dout = null;

       conn = (HttpConnection) Connector.open(urlstring);
       conn.setRequestMethod(HttpConnection.POST);

       dout = conn.openDataOutputStream ();
       dout.writeInt (data.length);
       dout.write (data, 0, data.length);
       dout.flush ();
       dout.close ();
Esimerkissä data -sisältää tavutaulukon, jossa välitettävä tieto on. dout.writeInt() -lähettää servletille tiedon datan pituudesta ja dout.write() lähettää tavutaulukon kokonaisuudessaan servletille.

Mutta ongelmana on, kuinka lukea servletissä tuo lähetetty tieto? En ole saanut onnistumaan, vaikka mitä olen yrittänyt. Tässä eräs esimerkki:

InputStream in = request.getInputStream();
OutputStream out = response.getOutputStream();
DataInputStream din = new DataInputStream(in);
DataOutputStream dout = new DataOutputStream(out);

byte[] data = receiveObject (din);

private byte [] receiveObject (DataInputStream din)
throws IOException {
    int length = din.readInt();
    byte [] buf = new byte [length];
    din.readFully (buf);
    return buf;
}
1244
Äänestä

Muut lukivat myös

Vastaukset 1

Vanhimmat

Unohdin doPost -metodissa alkuun doGet -metodin kutsun, joten ei ihmekään kun ei toiminut ;). Koodi itse toimii hyvin.

Äänestä

Kommentoi aloitusta


Nokia_ kirjoitti:

Hei!

Matkapuhelimeni mittaa eräitä tietoja tavu-taulukkoon (byte array). Tämä taulukko tulee välittää servletille, jossa tavutaulukko luetaan vastaavaan muotoon ja käsitellään edelleen.

Matkapuhelimeni osaa nyt lähettää tavutaulukon käyttäen httpconnection -rajapintaa apunaan:

       HttpConnection conn = null;
       DataInputStream din = null;
       DataOutputStream dout = null;

       conn = (HttpConnection) Connector.open(urlstring);
       conn.setRequestMethod(HttpConnection.POST);

       dout = conn.openDataOutputStream ();
       dout.writeInt (data.length);
       dout.write (data, 0, data.length);
       dout.flush ();
       dout.close ();
Esimerkissä data -sisältää tavutaulukon, jossa välitettävä tieto on. dout.writeInt() -lähettää servletille tiedon datan pituudesta ja dout.write() lähettää tavutaulukon kokonaisuudessaan servletille.

Mutta ongelmana on, kuinka lukea servletissä tuo lähetetty tieto? En ole saanut onnistumaan, vaikka mitä olen yrittänyt. Tässä eräs esimerkki:

InputStream in = request.getInputStream();
OutputStream out = response.getOutputStream();
DataInputStream din = new DataInputStream(in);
DataOutputStream dout = new DataOutputStream(out);

byte[] data = receiveObject (din);

private byte [] receiveObject (DataInputStream din)
throws IOException {
    int length = din.readInt();
    byte [] buf = new byte [length];
    din.readFully (buf);
    return buf;
}

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu