Avatar billede ultragames Nybegynder
01. december 2004 - 22:18 Der er 19 kommentarer og
1 løsning

Applet not inited

Hej eksperter. Jeg sidder her med et lille problem med en applet

Jeg har følgende kode:

    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    import java.io.*;
    import java.net.*;

    public class DatabaseApplet extends Applet implements ActionListener {
        TextArea select = new TextArea();
        TextField f1 = new TextField();
        TextField f2 = new TextField();
        Button insert = new Button();
        public void init() {
            select.setColumns(40);
            select.setRows(20);
            select.setText(select());
            f1.setColumns(10);
            f2.setColumns(20);
            insert.setLabel("Tilføj til databasen");
            insert.addActionListener(this);
            add(select, null);
            add(f1, null);
            add(f2, null);
            add(insert, null);
            setVisible(true);
        }
        public void actionPerformed(ActionEvent ev) {
            insert(f1.getText(), f2.getText());
            select.setText(select());
            repaint();
        }
        private String select() {
            StringBuffer res = new StringBuffer("");
            try {
                URL url = new URL("http://danishdesignlab.dk/java/select.php");
                HttpURLConnection con = (HttpURLConnection) url.openConnection();
                con.setRequestMethod("GET");
                con.connect();
                if (con.getResponseCode() == HttpURLConnection.HTTP_OK) {
                    BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
                    String line;
                    while ( (line = br.readLine()) != null) {
                        res.append(line);
                        res.append("\r\n");
                    }
                    con.disconnect();
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
            return res.toString();
        }
        private void insert(String f1, String f2) {
            try {
                URL url = new URL("http://danishdesignlab.dk/java/insert.php");
                HttpURLConnection con = (HttpURLConnection) url.openConnection();
                con.setRequestMethod("POST");
                String info = "F1=" + f1 + "&F2=" + f2;
                con.setDoOutput(true);
                con.getOutputStream().write(info.getBytes());
                con.connect();
                if (con.getResponseCode() != HttpURLConnection.HTTP_OK) {
                    System.err.println("POST failed");
                }
                con.disconnect();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }


jeg har fået koden fra dette java-fora. Til at hente data fra databasen, har jeg 2 php sider, der virker fint.

Mit problem er, at der på hjemmesiden, når appleten er hentet, står "Applet not inited".. jeg ved ikke hvorfor den gør det, da programmet virker fint i applet vieweren..

hvad er der galt? :(
Avatar billede arne_v Ekspert
01. december 2004 - 22:21 #1
Den kode ser lidt bekendt ud !  :-)

Kig i Java Console efter fejl besked.

Et godt gæt kunne være at koden er compilet til nyere SUN JVM og forsøges
vist i en Internet Explorer med en gammel MS JVM.
Avatar billede arne_v Ekspert
01. december 2004 - 22:22 #2
Hvis det er problemet så kan det løses ved at compile med:

-target 1.1
Avatar billede ultragames Nybegynder
01. december 2004 - 22:23 #3
hmm.. altså, så meget er jeg ikke lige inde i det.. bruger eclipse til at compile.. men jeg kigger lige på det hele-..

var det forresten din kode? :)
Avatar billede ultragames Nybegynder
01. december 2004 - 22:25 #4
uha dada.. der var vidst en del fejl :S..

------------------------------------------------------------
java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:80 connect,resolve)

    at java.security.AccessControlContext.checkPermission(Unknown Source)

    at java.security.AccessController.checkPermission(Unknown Source)

    at java.lang.SecurityManager.checkPermission(Unknown Source)

    at java.lang.SecurityManager.checkConnect(Unknown Source)

    at sun.net.www.http.HttpClient.openServer(Unknown Source)

    at sun.net.www.http.HttpClient.<init>(Unknown Source)

    at sun.net.www.http.HttpClient.<init>(Unknown Source)

    at sun.plugin.net.protocol.http.HttpClient.<init>(Unknown Source)

    at sun.plugin.net.protocol.http.HttpClient.New(Unknown Source)

    at sun.plugin.net.protocol.http.HttpURLConnection.createConnection(Unknown Source)

    at sun.plugin.net.protocol.http.HttpURLConnection.connect(Unknown Source)

    at DatabaseApplet.select(DatabaseApplet.java:37)

    at DatabaseApplet.init(DatabaseApplet.java:15)

    at sun.applet.AppletPanel.run(Unknown Source)

    at java.lang.Thread.run(Unknown Source)

java.security.AccessControlException: access denied (java.net.SocketPermission danishdesignlab.dk resolve)

    at java.security.AccessControlContext.checkPermission(Unknown Source)

    at java.security.AccessController.checkPermission(Unknown Source)

    at java.lang.SecurityManager.checkPermission(Unknown Source)

    at java.lang.SecurityManager.checkConnect(Unknown Source)

    at sun.plugin.net.protocol.http.HttpURLConnection.checkPermission(Unknown Source)

    at sun.plugin.net.protocol.http.HttpURLConnection.connect(Unknown Source)

    at DatabaseApplet.select(DatabaseApplet.java:37)

    at DatabaseApplet.init(DatabaseApplet.java:15)

    at sun.applet.AppletPanel.run(Unknown Source)

    at java.lang.Thread.run(Unknown Source)

java.security.AccessControlException: access denied (java.net.SocketPermission danishdesignlab.dk resolve)

    at java.security.AccessControlContext.checkPermission(Unknown Source)

    at java.security.AccessController.checkPermission(Unknown Source)

    at java.lang.SecurityManager.checkPermission(Unknown Source)

    at java.lang.SecurityManager.checkConnect(Unknown Source)

    at sun.plugin.net.protocol.http.HttpURLConnection.checkPermission(Unknown Source)

    at sun.plugin.net.protocol.http.HttpURLConnection.connect(Unknown Source)

    at DatabaseApplet.select(DatabaseApplet.java:37)

    at DatabaseApplet.init(DatabaseApplet.java:15)

    at sun.applet.AppletPanel.run(Unknown Source)

    at java.lang.Thread.run(Unknown Source)

-----------------------------------------------------------

hvad i alverden betyder det ;)
Avatar billede arne_v Ekspert
01. december 2004 - 22:26 #5
Appletten skal hentes fra samme maskine som den connecter til.
Avatar billede ultragames Nybegynder
01. december 2004 - 22:27 #6
http://www.danishdesignlab.dk/java/index.htm det virker heller ikke... men det er da der den hentes fra?
Avatar billede arne_v Ekspert
01. december 2004 - 22:28 #7
Så det er ikke version.

Hvis det var så sætter man det i Eclipse i:

windows
preferences
java
compiler
compliance and class files
fjern kryds i default
generated class file compatibility = 1.1
source compatibility = 1.3
Avatar billede ultragames Nybegynder
01. december 2004 - 22:30 #8
compiler compliance level: 1.4.. hvad siger det?
Avatar billede ultragames Nybegynder
01. december 2004 - 22:34 #9
det er da også mærkeligt at jeg kan se den fra applet vieweren korrekt :S.. den kan både modtage og sende data
Avatar billede arne_v Ekspert
01. december 2004 - 22:34 #10
Ligegyldigt bortset fra at at sætte target til 1.1 kan kræve at source sætte stil 1.3.

Men det er ikke dit problem. Det vil først give problemer med en Internet Explorer
ude SUN Java installeret.
Avatar billede arne_v Ekspert
01. december 2004 - 22:35 #11
applet vieweren har så vidt jeg ved et afslappet forhold til security !
Avatar billede arne_v Ekspert
01. december 2004 - 22:35 #12
Så vidt jeg kan se så hentes appletten fra www.xxx.dk mens appletten forsøger
at connecte til xxx.dk prøv at synche det.
Avatar billede ultragames Nybegynder
01. december 2004 - 22:37 #13
der skal ikke nogen ekstra params på applet koden i html-filen?
Avatar billede arne_v Ekspert
01. december 2004 - 22:38 #14
Nej den applet kode bruger ingen parametre.
Avatar billede arne_v Ekspert
01. december 2004 - 22:38 #15
men prøv og ret host navnene så de matcher
Avatar billede ultragames Nybegynder
01. december 2004 - 22:38 #16
WEEEE.. det virkede med taget 1.1 :D


smider du et svar :D..

1000 tak for hjælpen
Avatar billede arne_v Ekspert
01. december 2004 - 22:40 #17
OK

jeg synes ikke at fejlen passede til det

men der kan man bare se

svar
Avatar billede arne_v Ekspert
01. december 2004 - 22:41 #18
Iøvrigt er koden noget jeg oprindeligt har lavet.

Den ser dog ud til at være modificeret en smule siden.
Avatar billede ultragames Nybegynder
01. december 2004 - 22:43 #19
hehe, du skulle have taget patent på koden ;).. men tak for hjælpen
Avatar billede arne_v Ekspert
01. december 2004 - 22:46 #20
Den er postet her, så den er jo frit tilgængelig.

Jeg har også en ASP variant og en ASP.NET variant.
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