Applet a zapisywanie w bazie

0

Witam

Chce stworzyć applet na którym będą generowane wyniki i te wyniki chce zapisywać w bazie danych tyle że dawanie klientowi możliwości zapisu do bazy z tego co słyszałem nie jest bezpieczne. Nie chce prowadzić po stronie bazy (serwera javowego) który by miał dostęp non stop do bazy. Czy jest jeszcze jakieś sensowne/bezpieczne rozwiązanie tego problemu?

0

Podpisanie apletu + WebService ?

0

@mgs_saladin, jakiś serwer musisz mieć. Najprościej jest postawić sobie taki pseudo webservice w php. Wtedy połączenia do bazy są przydzielane per wywołanie i nie ma "stałego połączenia". zastanawia mnie dlaczego nie chcesz mieć serwera podłączonego do bazy. Jakie masz ograniczenia?

0

a mianowicie mam PHP/mysql i stawianie jeszcze javowego serwera mija sie z celem bo chce raptem pare rekordów tylko zapisać (applet bedzie działał non stop przez np. 1 godzinę i co 5-10 minut będę chciał odwołać się do bazy bez przeładowywania strony)

co do WebService to nigdy nie miałem z tym do czynienia czy to sprosta temu problemowi?

1

Jeżeli masz serwer php+mysql to nic prostszego . Wystarczy by aplet wysyłał pod określony URL żądanie typu POST, a php je obrabiał. Co do WS to w php chyba są już biblioteki do tego, ale głowy nie dam.

0

Koziołek --> dzięki stukrotne :) przyznam sie ze przeszła mi taka myśl po głowie ale od razu stwierdziłem ze to będzie złe rozwiązanie a okazało się w sam raz :) dzięki :)

try {
    // Construct data
    String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
    data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");

    // Send data
    URL url = new URL("http://hostname:80/cgi");
    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) {
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1