Avatar billede mp Nybegynder
13. februar 2001 - 23:56 Der er 11 kommentarer og
1 løsning

Data fra ASP til Applet og retur

Hvordan sendes variabler/data fra en ASP fil en Applet ved initialiseringen
Og hvordan sender man data retur til en ASP fil fra en Applet.

Jeg ved det er muligt da mange Applet games benytter sig af highscore\'s på basis af ASP/ACCESS
+ Diverse Chat applets sender data til serveren
Avatar billede mp Nybegynder
13. februar 2001 - 23:58 #1
NB ! His det kræver ændringer i klientens policy fil mm. er det ikke optimalt, men acceptabelt.
Avatar billede thums Praktikant
14. februar 2001 - 00:03 #2
Du er gået galt i byen her..... det her er Java Topicet... IKKE ASP.. :)))
Avatar billede ricki Nybegynder
14. februar 2001 - 00:06 #3
data til din Applet kan du jo klare med nogle <PARAM>-tag som din ASP generere. Den anden vej kan du jo lave noget med at du åbner en side med java.net.URL, jeg er dog ikke helt sikker på dette er muligt uden at ændre på Applet\'ens sandkasse. Ellers kan du jo når spillet er slut redirecte browseren til en anden side.
Avatar billede mp Nybegynder
14. februar 2001 - 00:06 #4
Det koden i appletten til håndteringen af kommunikation, jeg mangler.
Avatar billede disky Nybegynder
14. februar 2001 - 08:59 #5
du kan gøre det ved hjælp af lidt fusket java script programmering. (men det er ikke nemt)
Avatar billede kama Nybegynder
14. februar 2001 - 13:53 #6
1) Du sender værdier fra din ASP/HTML-fil til en applet via et Parameter-tag: <PARAM NAME=\"x1\" VALUE=\"40\">
Vædien modtages i appleten via getParameter: int p = Integer.parseInt(getParameter(\"x1\"));

2) Du kan eksempelvis sende en variabel fra en applet til en ASP-fil således:

private void opretPerson(String navn) {
URL nyURL=null;
try {
    nyURL=new URL(getDocumentBase().toString() + \"?nyPerson=\"+navn);
    getAppletContext().showDocument(nyURL,\"_top\");
    }
    catch (java.net.MalformedURLException m){
    m.printStackTrace();
    }
}

Her er der dog en masse faktorer der spiller ind bla. hvordan du har lavet dit ASP, men du kan se idéen i det.

3) Hvis det er med henblik på database-tilgang fra appletten, vil det bedste være at tilgå denne direkte fra appletten.

4) Jeg har en masse små kode-eksempler på alle ovennævnte forslag. Hvis du specifikt fortæller hvad du vil, kan jeg sende dig noget passende!

/kama

Avatar billede disky Nybegynder
14. februar 2001 - 13:54 #7
Endnu bedre drop ASP og brug JSP istedet.

Det er ligesom Java, folk skal ikke vente på deres JVM starter op først, og det er hurtigere end ASP
Avatar billede mp Nybegynder
14. februar 2001 - 14:32 #8
OK Kama kan du stå \"standby\" et stykke tid, din kode skal lige testes mm.
Avatar billede mp Nybegynder
16. februar 2001 - 00:36 #9
Kama,

Hvis du smider kodeeksempel på hvordan man en Applet skriver direkte til en access dba på serveren, og man modtager data fra Appletten med:

spvar = Request(\"var-navn-fra-applet\")

Avatar billede kama Nybegynder
16. februar 2001 - 16:35 #10
1) Du kan ikke \'modtage data fra appletten\' på den måde du tror. Skal du sende en værdi til en asp-side kan du gøre det således:

minVar = \"Hello\";
sendTilAsp(minVar, \"minASP.asp\", \"mainFrame\"); // kald til metoden.

private void sendTilAsp(String var, String aspSide, String target) {
URL nyURL=null;
try {
    nyURL=new URL(getCodeBase().toString()+aspSide+\"?aspVar=\"+var);
    getAppletContext().showDocument(nyURL,target);
    }
    catch (java.net.MalformedURLException m){
        m.printStackTrace();
    }
}

Resultatet kunne eksempelvis blive: http://www.dinside.dk/minASP.asp?aspVar=Hello
Avatar billede kama Nybegynder
16. februar 2001 - 17:12 #11
2)At tilgå en access-database direkte fra en applet kan være lidt omstændigt. Jeg benytter ikke selv access, da jeg kun har dårlige erfaringer med det. Jeg bruger for den sags skyld heller ikke ASP, så jeg går udfra du kender en ren odbc-driver, som du kan bruge. Den jdbc-odbc bro, som er brugt nedenfor skulle ikke være så god med appletter. I det nedenstående forenklede emksempel, kan du se hvordan man skriver til en database. Du skal selvfølgelig have ændret konstanterne.

//eksempel på kald til metoden.
Database.skriv(\"INSERT INTO tabel(a) VALUES(\'x\');\");

import java.sql.*;
import java.util.*;

public class Database
{   
    private static final String DATABASE_NAVN = \"min-database\";
    private static final String DATABASE_DRIVER = \"sun.jdbc.odbc.JdbcOdbcDriver\";
    private static final String DATABASE_DRIVER_TYPE = \"jdbc:odbc:\";
    private static final String USERNAME = \"root\";
    private static final String PASSWORD = \"\";
    private static final String HOST = \"sqlhost:port\";
   
    public static void skrivTilDB(String sql)
    {    // Etablering af forbindelse til JDBC-ODBC-Driver
        try
        {    Class.forName(DATABASE_DRIVER);
        }
        catch (ClassNotFoundException cnfe)
        {    System.out.println(\"Forbindelse til driveren kunne ikke oprettes.\");
        }   

        try
        {    // Oprettelse af forbindelse til databasen.
            String dbUrl = HOST + DATABASE_DRIVER_TYPE + DATABASE_NAVN;
            Connection c = DriverManager.getConnection(dbUrl,USERNAME,PASSWORD);
            Statement s = c.createStatement();
            s.executeUpdate(sql);
        }
        catch(SQLException se)
        {    System.out.println(\"Forespørgsel kunne ikke udføres.\");
        }
    }
}

/kama
Avatar billede mp Nybegynder
16. februar 2001 - 17:55 #12
TAk skal du have, jeg har nu et glimrende udagngspunkt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester