Java neuvoja kaivataan...

Osaisko kukaan neuvoa, et miten mun kannattaa tehdä appletin ja servletin välinen keskustelu?

Luin tuossa kurseilla jo vähän XML:stä, mut se tuntu jotenkin ihmeelliseltä. Sit mä törmäsin yhteen juttuun tosta Seralization-jutusta ja se tuntu aika kivalta.

Tietteks, et onks se vaikeet? Eli, et ens tehdään oma tiedonsiirto-luokka, ja sen pitäis kait periä toi Serialization-rajapinta?

Ennen lähettämistä servletille mun tarttis kuiteski vielä salakirjoittaa toi olio, et kaikki ei nää mitä juttui siinä liikkuu. Niin, onks teillä kokemuksia TripleDES:stä, vai mitä algoritmiä te yleensä käytätte?

Mä kyselin näit juttui jo meidän koulun maikalt, mut sil oli silloin kiire johonkin ja en oo nähnyt sitä uudelleen et oisin voinut kysyä paremmin.

Ehtisitteks te auttaan ku mun tarrtis tosiaan saada tää harkka tehdyks ennen ensviikon keskiviikkoa ja mulla ei oo kovin paljon aikaa tutkii näit eri tiedonsiirtotapoi?

-Emmi-
5358
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

Tuolla java.sun.com-sivuilla on tutorialeja aiheesta. Olen tehnyt sellaisia sovelluksia, joissa appletti keskustelee rmi-'etäolion' kanssa. Ko olio tekee tietokantahaut yms. ja palauttaa sitten vastauksia appletille.
Tuo 'Serialization-juttu' tarkoittaa tässä esimerkiksi sitä, että etäolion metodi palauttaa tietokantakyselyn vastauksen appletille vaikka String-taulukkona. Etäolio itse saa vastauksen ResultSet:nä. Mutta koska ResultSet ei toteuta Serializable-rajapintaa, sitä ei voi lähettää appletille. ResultSet-olio pitää ensin muuttaa vaikka String-taulukoksi tai vektoriksi.
Yksi vaihtoehto systeemin rakentamiseksi on J2EE-tekniikat. Niistäkin löytyy oppaita sunin sivuilta.

Äänestä
  • .. et toimiiko rmi myös servlettien kanssa? Mietin tuossa, et mitä tapahtuu ku moni asiakas tekee etäkutsja yhtäaikaa - Ajaako rmi noi etäkutsut eri säikeissä vai miten ihmeessä toi oikein menee? - Mä oon kyl ihan ulkona täst jutust...

    Niin, ja sitten, et miten rmi toteutaa kryptografiaa?

    -Emmi-

    Äänestä

  • Emmi kirjoitti:

    .. et toimiiko rmi myös servlettien kanssa? Mietin tuossa, et mitä tapahtuu ku moni asiakas tekee etäkutsja yhtäaikaa - Ajaako rmi noi etäkutsut eri säikeissä vai miten ihmeessä toi oikein menee? - Mä oon kyl ihan ulkona täst jutust...

    Niin, ja sitten, et miten rmi toteutaa kryptografiaa?

    -Emmi-

    Servletit voi kyllä kutsua etäolion metodeja ihan samalla tavalla kuin appletit.
    Rmi ajaa kutsut eri säikeissä, joten yksi etäolio riittää monelle clientille.
    Kryptografiasta en tiedä.

    Äänestä

.. tairakki olla aika koodari!

Itte meinaan tehdä yhden jutun just tolla lailla. Tän verran oon ehtinyt asiaa tutkimaan ja homma tuntuis pelittävän ainakin kovalevylle kirjoitettaessa, et en näe mitään estettä appletin ja servletin keskustelulle.

import javax.crypto.*;
import javax.crypto.spec.*;
import java.security.*;
import java.security.spec.*;
import java.io.*;
import java.util.*;


public class SerTest {

public static void main(String args[])
{
try {

// Luodaan salausavain
KeyGenerator kg = KeyGenerator.getInstance("DESede");
SecretKey secretKey = kg.generateKey();

// Luodaan salaaja
Cipher desCipher = Cipher.getInstance("DESede");
desCipher.init(Cipher.ENCRYPT_MODE, secretKey);

// luodaan virta
FileOutputStream fos = new FileOutputStream("DESede.txt");
BufferedOutputStream bos = new BufferedOutputStream(fos);
CipherOutputStream cos = new CipherOutputStream(bos, desCipher);
ObjectOutputStream oos = new ObjectOutputStream(cos);

Command cmdOrig = new Command("testing...");

// kirjoitetaan salattu olio
//ja kirjoitetaan tiedot levylle
oos.writeObject(cmdOrig);
oos.flush();
oos.close();

// vaihdetaan salausmoodia
desCipher.init(Cipher.DECRYPT_MODE, secretKey);

// luodaan virta
FileInputStream fis = new FileInputStream("DESede.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
CipherInputStream cis = new CipherInputStream(bis, desCipher);
ObjectInputStream ois = new ObjectInputStream(cis);

// luetaan salattun olion tiedot
// ja muodostetaan olio
Command cmdRead = (Command)ois.readObject();
ois.close();

System.out.println (cmdRead.getServletCommand());

}
catch (Exception ex) {
ex.printStackTrace(System.out);
}
}
}


class Command implements Serializable
{
String servletCommand;

public Command (String servletCommand)
{
this.servletCommand = servletCommand;
}

public String getServletCommand(){

return servletCommand;
}
}

Toivottavasti tosta on apua.

-Jonttu-

Äänestä
  • ... sun kans naimisiin! ;)

    Homma toimii hienosti ja harkkakin on jo lähes tehty. Suurkiitokset avusta!

    -Emmi-

    Äänestä

Kommentoi aloitusta


Emmi kirjoitti:

Osaisko kukaan neuvoa, et miten mun kannattaa tehdä appletin ja servletin välinen keskustelu?

Luin tuossa kurseilla jo vähän XML:stä, mut se tuntu jotenkin ihmeelliseltä. Sit mä törmäsin yhteen juttuun tosta Seralization-jutusta ja se tuntu aika kivalta.

Tietteks, et onks se vaikeet? Eli, et ens tehdään oma tiedonsiirto-luokka, ja sen pitäis kait periä toi Serialization-rajapinta?

Ennen lähettämistä servletille mun tarttis kuiteski vielä salakirjoittaa toi olio, et kaikki ei nää mitä juttui siinä liikkuu. Niin, onks teillä kokemuksia TripleDES:stä, vai mitä algoritmiä te yleensä käytätte?

Mä kyselin näit juttui jo meidän koulun maikalt, mut sil oli silloin kiire johonkin ja en oo nähnyt sitä uudelleen et oisin voinut kysyä paremmin.

Ehtisitteks te auttaan ku mun tarrtis tosiaan saada tää harkka tehdyks ennen ensviikon keskiviikkoa ja mulla ei oo kovin paljon aikaa tutkii näit eri tiedonsiirtotapoi?

-Emmi-

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