Avatar billede Slettet bruger
14. april 2004 - 20:37 Der er 27 kommentarer

JApplet og io

Jeg har ændret en swing app. så den vises i en browser med JApplet.
Men så kan den ikke længere læse/gemme på min computer eller på mit webhotel.
Noget som kan komme med en "retning" som kan give mig en idé om hvad der skal til for at få den til at virke?
Avatar billede riversen Nybegynder
14. april 2004 - 20:40 #1
for at gemme på din computer, skal den vist signeres... den bliver jo afviklet på klientside, så den kan ikke gemme på serveren direkte.
Avatar billede arne_v Ekspert
14. april 2004 - 21:57 #2
Jep.

Af sikkerheds årsager skal en applet signes og have tildelt eksplicitte
priviligier for at kunne accesse client PC'ens harddisk (eller kunen man
jo lave en FORMAT C: applet).

En applet kan ikke gemme på server direkte. Men den kan downlaode/uploade
via FTP fra/til samme server som appletten er hentet fra. Og mere avanceret
kan appletten snakke med PHP/ASP/JSP scripts på samem server som den
er hentet fra og via dem hente/gemme fra/i en database.
Avatar billede Slettet bruger
14. april 2004 - 22:07 #3
ah.ha. Det betyder så at applet ikke er velegnet til en online dagbog. Sådan som jeg ser det er det væsentligt nemmere at lave den i .asp.
På den anden side tænkte jeg i applet p.gr.a. den grafiske brugerflade og den omfattende understøttelse af funktioner til tekstbehandling.
Men det har .asp måske også hvis jeg bevæger mig lidt længere "ned" i dette script sprog.
Avatar billede Slettet bruger
14. april 2004 - 22:14 #4
Jeg ville nok vælge en løsning hvor man bruger et serverside scripting sprog til at håndtere tilgang samt persistering at dataene, og så bruge en Javascript WYSIWYG-editor, f.eks som denne: http://www.interactivetools.com/products/htmlarea/ ???
Avatar billede arne_v Ekspert
14. april 2004 - 22:14 #5
Du kan godt lave:

applet---ASP---database/fil

på den måde kan kode hele logikken i ASP men bruge appletten til at give
et ægte client app look and feel
Avatar billede Slettet bruger
14. april 2004 - 22:42 #6
corhilo. Mit mål - engang - er at lave en online teksteditor med blandt andet stavekontrol og grammatik v.hj.a. bl.a. piktogrammer som har mange fordele. Bl.a. omkring endelser osv. Men også i forhold til mennesker som staver dårligt. F.eks. kan lære/lærer give nogle problemer. Umiddelbart kunne lærer være et p. af en person og lære en bog. Med mindre der menes skydelærer. Men hvor det så er et andet ord. Men hvor nogle dog vil stave det skyde lære el. lign. Men alt det til den tid.
Blot for vise problematikken. Java har den oplagte fordel at det er objektorienteret og kan fremstilles i en fleksibel tilpasningsegnet klasse struktur (når man(jeg) kan! (engang)).
Et yderligere perspektiv er at kunne ligge lyd på. Dvs at få teksten oplæst.
(Det er ikke ambitionerne som mangler! :)
Avatar billede Slettet bruger
14. april 2004 - 22:45 #7
arne. Har du nogle eksempler (enkle) på dette?
Avatar billede arne_v Ekspert
14. april 2004 - 22:47 #8
Jeg har ikke til ASP men jeg har et til PHP. Kan det bruges ? Ellers kan jeg
omskrive det fra PHP til ASP ...
Avatar billede Slettet bruger
14. april 2004 - 22:58 #9
Hvis ikke det er for stort besvær arne. Jeg har snuset lidt til asp- Kalender og lign. Så det ville sikkert være godt at fortsætte i samme boldgade.
Ellers er asp og php måske ikke så forskelligt?
Avatar billede arne_v Ekspert
14. april 2004 - 23:03 #10
Du får lige PHP versionen nu.

ASP versionen kommer engang imorgen.
Avatar billede arne_v Ekspert
14. april 2004 - 23:03 #11
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("Add");
        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://localhost/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://localhost/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();
        }
    }
}
Avatar billede arne_v Ekspert
14. april 2004 - 23:03 #12
<?php
$con = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("Test") or die(mysql_error());
$rs = mysql_query("SELECT * FROM T1") or die(mysql_error());
while ($row = mysql_fetch_array($rs, MYSQL_ASSOC)) {
    print $row["F1"] . " " . $row["F2"] . "\n";
}
mysql_free_result($rs);
mysql_close($con);
?>
Avatar billede arne_v Ekspert
14. april 2004 - 23:04 #13
<?php
$con = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("Test") or die(mysql_error());
$f1 = $_POST["F1"];
$f2 = $_POST["F2"];
mysql_query("INSERT INTO T1(F1,F2) VALUES($f1,'$f2')") or die(mysql_error());
mysql_close($con);
?>
Avatar billede Slettet bruger
14. april 2004 - 23:09 #14
Tak. Jeg stopper også for idag og glæder mig til at kigge på det imorgen.
Avatar billede arne_v Ekspert
15. april 2004 - 21:28 #15
Her kommer ASP versionerne
Avatar billede arne_v Ekspert
15. april 2004 - 21:28 #16
<%
Set con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Database\MSAccess\Test.mdb;User Id=admin;Password=;"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM T1",con
Do While Not rs.EOF
%>
<%=rs("F1")%> <%=rs("F2")%><br>
<%
rs.MoveNext
Loop
Set rs = Nothing
Set con = Nothing
%>
Avatar billede arne_v Ekspert
15. april 2004 - 21:28 #17
<%
Set con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Database\MSAccess\Test.mdb;User Id=admin;Password=;"
con.Execute "INSERT INTO T1(F1,F2) VALUES(" & Request.Form("F1") & ",'" & Request.Form("F2") & "')"
Set con = Nothing
%>
Avatar billede arne_v Ekspert
15. april 2004 - 21:29 #18
Eksemplet er naturligvis trivielt, men viser lidt muligheder.
Avatar billede arne_v Ekspert
15. april 2004 - 21:29 #19
Og et svar
Avatar billede Slettet bruger
15. april 2004 - 22:09 #20
Tak.
Jeg har selv siddet og rodet med .asp det meste af aftenen.
Jeg går ud fra strengen skal se sådan ud nu:
http://localhost/TekstBehandling/insert.asp
(TekstBehandling ligger filerne i).
Men når jeg vil gemme "fryser" den ved http://localhost/select.asp
(og ikke ved http://localhost/TekstBehandling/select.asp ?)
Mystisk
Avatar billede arne_v Ekspert
15. april 2004 - 22:12 #21
Appletten skal bruge den rigtige URL hvad det nu er.

Men du kan jo nemt teste select.asp standalone i en browser.

Og hvis du laver en lille HTML form kan du også teste insert.asp og når
de virker kan du så prøve fra applet.
Avatar billede Slettet bruger
15. april 2004 - 22:15 #22
Det prøver jeg
Avatar billede Slettet bruger
15. april 2004 - 22:34 #23
De fungerer fint.
Der skulle et par tegn ekstra i
con.Execute ("Insert Into T1(F1,F2) Values('" & Request.Form("F1") & "','" & Request.Form("F2") & "')")

Så må jeg prøve videre imorgen.
Jeg tror det er ie eller måske iis der hele tiden driller og ikke tømmer hukommelsen. Men det må jeg finde ud af.
Avatar billede arne_v Ekspert
15. april 2004 - 22:36 #24
Min F1 er en integer. Din er nok en String.

:-)
Avatar billede arne_v Ekspert
24. april 2004 - 17:47 #25
Lukke tid ?
Avatar billede Slettet bruger
24. april 2004 - 23:02 #26
Det er det da arne. Tak for hjælpen og sov godt ;)
Avatar billede arne_v Ekspert
29. maj 2004 - 00:23 #27
Du skal lige acceptere et svar !
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