|
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Applet som frontend til en web-applikation Fra : Niels Andersen |
Dato : 16-12-02 21:02 |
|
Jeg har et administrationsværktøj, der på klient-siden bare er html. Jeg
kunne godt tænke mig en mere fancy brugerflade, dels for at lette arbejdet,
og dels for at lege med java. :)
Ideen er, at når der skal "gøres noget" (ændre eller hente data) sender
applet'en en almindelig GET-forespørgsel, med parametrene som almindelige
GET-parametre.
Resultatet og/eller data sendes så tilbage til applet'en i body'en af
http-forespørgslen. Det kan fx. være et serialized array.
Men hvordan laver jeg applet-delen? Det jeg søger er et par stikord til hvor
jeg kan læse om det. :)
Og er der evt. en nemmere (/bedre) måde?
(Der bruges PHP på webserveren, ikke java.)
--
Mvh.
Niels Andersen
(la nels. anersyn.)
| |
BigFatLamer(DK) (16-12-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : BigFatLamer(DK) |
Dato : 16-12-02 21:16 |
|
Niels Andersen wrote:
> Jeg har et administrationsværktøj, der på klient-siden bare er html. Jeg
> kunne godt tænke mig en mere fancy brugerflade, dels for at lette arbejdet,
> og dels for at lege med java. :)
>
> Ideen er, at når der skal "gøres noget" (ændre eller hente data) sender
> applet'en en almindelig GET-forespørgsel, med parametrene som almindelige
> GET-parametre.
> Resultatet og/eller data sendes så tilbage til applet'en i body'en af
> http-forespørgslen. Det kan fx. være et serialized array.
>
> Men hvordan laver jeg applet-delen? Det jeg søger er et par stikord til hvor
> jeg kan læse om det. :)
>
> Og er der evt. en nemmere (/bedre) måde?
>
> (Der bruges PHP på webserveren, ikke java.)
>
OK, så var spørgmålet jo helt anderledes forstået... Vi prøver igen :)
Som du selv skriver skal du lave en http-brigde til din server side, det
gør du via en admindelig socket forbindelse - så der skal du nok kende
lidt til HTTP protokolen, ikke at den er særlig svær. Læs lidt her
( http://www.faqs.org/rfcs/index.html) og vend gerne tilbage med flere
spørgsmål
Derefter skal du finde et format du vil send din data frem og tilbage,
da du måske ikke lige kan serialisere imellem PHP og java. Jeg ville nok
bruge POST istedet for GET, men der er ikke den store forskel.
lidt info omkring applets: http://java.sun.com/docs/books/tutorial/applet/
Hvis du genneføre dit projekt som beskrevet vil du helt sikker ende som
en 100 meter mester i java......
Vend gerne tilbage med flere spørgsmål og/eller en status på dit projekt :D
--
Cheers, BigFatLamer(DK)
| |
Niels Andersen (16-12-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Niels Andersen |
Dato : 16-12-02 21:27 |
|
BigFatLamer(DK) wrote in <3dfe3490$0$183$edfadb0f@dread14.news.tele.dk>:
> Som du selv skriver skal du lave en http-brigde til din server side, det
> gør du via en admindelig socket forbindelse - så der skal du nok kende
> lidt til HTTP protokolen, ikke at den er særlig svær. Læs lidt her
> ( http://www.faqs.org/rfcs/index.html) og vend gerne tilbage med flere
> spørgsmål
Jeg kender RFC2616 rimeligt godt, ingen problemer der. :)
Hvis du der var noget java-sjov med noget http-funktionalitet, så ville det
nok være noget nemmere. Men en almindelig TCP-socket kan også bruges. :)
> Derefter skal du finde et format du vil send din data frem og tilbage,
> da du måske ikke lige kan serialisere imellem PHP og java.
Serialisering af arrays skulle vist være simpelt nok, selv om de er
2-dimentionelle. Min plan var at studere java's måde at gøre det på, og
implementere det i PHP. Med mine nuværende evner inden for java og php vil
det nok være langt det letteste. :)
> Jeg ville nok
> bruge POST istedet for GET, men der er ikke den store forskel.
Tjah. Ved oprettelse/redigering af lange tekster vil det være nødvendigt. Og
så er det nok nemmest bare at bruge POST hver gang. Og forskellen derudover
er da vist ligegyldig i denne sammenhæng. :)
> lidt info omkring applets: http://java.sun.com/docs/books/tutorial/applet/
Det er ikke så meget applets generelt der er problemet. Det er mere hvordan
jeg får lavet det med at snakke med serveren. Men jeg kan forstå på dig at
der ikke lige ligger en fin lille klasse med rødt bånd omkring, der kan
bruges. :)
Jeg vil studere rå sockets i stedet. Der er vist hvad jeg skal bruge her:
http://java.sun.com/docs/books/tutorial/networking/sockets/
--
Mvh.
Niels Andersen
(la nels. anersyn.)
| |
![](/images/tree/0.gif) Niels Andersen (16-12-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Niels Andersen |
Dato : 16-12-02 21:30 |
|
Niels Andersen wrote in <eGqL9.2197$Hl6.192376@news010.worldonline.dk>:
> Det er ikke så meget applets generelt der er problemet. Det er mere
> hvordan jeg får lavet det med at snakke med serveren. Men jeg kan forstå
> på dig at der ikke lige ligger en fin lille klasse med rødt bånd omkring,
> der kan bruges. :)
>
> Jeg vil studere rå sockets i stedet. Der er vist hvad jeg skal bruge her:
> http://java.sun.com/docs/books/tutorial/networking/sockets/
Jeg har nu brugt små 30 sekunder på siden, og fandt ad den vej denne side:
http://java.sun.com/docs/books/tutorial/networking/urls/index.html
Ud fra overskifterne ser det ud til at være det jeg havde i tankerne. Måske
enda med rødt bånd og det hele. :)
--
Mvh.
Niels Andersen
(la nels. anersyn.)
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) Niels Andersen (16-12-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Niels Andersen |
Dato : 16-12-02 22:04 |
|
Niels Andersen wrote in <6JqL9.2201$Hl6.193070@news010.worldonline.dk>:
> http://java.sun.com/docs/books/tutorial/networking/urls/index.html
minApplet.java [19:1] cannot resolve symbol
symbol : class URL
location: class minApplet
URL server = new URL(" http://eksempel.dk/");
^
Jeg kunne læse mig frem til at URL kommer fra java.net, så jeg prøvede at
tilføje "import java.net", men det blev det ikke bedre af:
minApplet.java [12:1] cannot resolve symbol
symbol : class net
location: package java
import java.net;
^
Og så gik jeg i stå... Hvis vi lige fjerner comments og andet skrammel, så
ser min kode sådan ud:
import java.net;
public class minApplet extends javax.swing.JApplet {
public minApplet() {
URL server = new URL(" http://home.myplace.dk/");
}
}
$ /usr/bin/java -version
java version "1.4.1"
Java(TM) 2 Runtime Environment, Standard Edition (build
Blackdown-1.4.1-beta)
Java HotSpot(TM) Client VM (build Blackdown-1.4.1-beta, mixed mode)
Og en javac der hører til.
(Så vidt jeg er Blackdown bare SUN's java med en nemmere installer)
--
Mvh.
Niels Andersen
(la nels. anersyn.)
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) BigFatLamer(DK) (16-12-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : BigFatLamer(DK) |
Dato : 16-12-02 22:51 |
|
Niels Andersen wrote:
> Niels Andersen wrote in <6JqL9.2201$Hl6.193070@news010.worldonline.dk>:
>
>> http://java.sun.com/docs/books/tutorial/networking/urls/index.html
>
>
> minApplet.java [19:1] cannot resolve symbol
> symbol : class URL
> location: class minApplet
> URL server = new URL(" http://eksempel.dk/");
> ^
>
> Jeg kunne læse mig frem til at URL kommer fra java.net, så jeg prøvede at
> tilføje "import java.net", men det blev det ikke bedre af:
>
> minApplet.java [12:1] cannot resolve symbol
> symbol : class net
> location: package java
> import java.net;
> ^
>
> Og så gik jeg i stå... Hvis vi lige fjerner comments og andet skrammel, så
> ser min kode sådan ud:
>
> import java.net;
> public class minApplet extends javax.swing.JApplet {
> public minApplet() {
> URL server = new URL(" http://home.myplace.dk/");
> }
> }
>
> $ /usr/bin/java -version
> java version "1.4.1"
> Java(TM) 2 Runtime Environment, Standard Edition (build
> Blackdown-1.4.1-beta)
> Java HotSpot(TM) Client VM (build Blackdown-1.4.1-beta, mixed mode)
>
> Og en javac der hører til.
> (Så vidt jeg er Blackdown bare SUN's java med en nemmere installer)
>
Det er veist din classpath den er gal med, køre du på Solaris????
Skal lige se noget LOTRII i tossen, så er jeg tilbage!
--
Cheers, BigFatLamer(DK)
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) Allan E (16-12-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Allan E |
Dato : 16-12-02 22:59 |
|
"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:McrL9.2233$Hl6.199323@news010.worldonline.dk...
> Jeg kunne læse mig frem til at URL kommer fra java.net, så jeg prøvede at
> tilføje "import java.net", men det blev det ikke bedre af:
>
> minApplet.java [12:1] cannot resolve symbol
> symbol : class net
> location: package java
> import java.net;
Ovenstående gør at compileren tror den skal hente en klasse 'net' i pakken
'java'. Men da java.net er en pakke kan du enten importere de klasser du
skal bruge a la: import java.net.Url; eller hente hele pakken ind med et
wildcard: import java.net.*;
Det gør ingen forskel i sidste ende, bortset fra at det er nemmere at bruge
wildcard, hvis du skal bruge flere klasser fra den samme pakke. Den første
er god hvis du bruger flere pakker, hvor der kan være sammenfald i
klassenavne.
Mvh Allan E
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) Niels Andersen (16-12-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Niels Andersen |
Dato : 16-12-02 23:38 |
|
Allan E wrote in <atlibc$mso$1@sunsite.dk>:
>> minApplet.java [12:1] cannot resolve symbol
[...]
>> import java.net;
> Ovenstående gør at compileren tror den skal hente en klasse 'net' i pakken
> 'java'. Men da java.net er en pakke kan du enten importere de klasser du
> skal bruge a la: import java.net.Url; eller hente hele pakken ind med et
> wildcard: import java.net.*;
Lige præcis. Gad vide hvorfor jeg var overbevist om, at det er pakker man
importer. Måske fordi jeg har set ".*" for mange gange uden at tænke over
det. (URL staves dog med 3 store bogstaver.)
Derefter kom der en anden fejlmeddelelse, som viste sig at komme fordi det
skal ind i en try-block. Det står der vist heller ikke noget om i
tutorialen. I hvert fald ikke der, hvor *jeg* har kigget.
Tak for hjælpen indtil videre. :)
Det er nu sjovere at springe hovedkulds ud i et projekt der kan bruges, end
at sidde og læse tørre bøger og skrive værdiløse programmer. Især når nu
jeg allerede har læst adskillige hundrede sider om emnet, men aldrig fik
det brugt.
--
Mvh.
Niels Andersen
(la nels. anersyn.)
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) BigFatLamer(DK) (17-12-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : BigFatLamer(DK) |
Dato : 17-12-02 00:17 |
|
Niels Andersen wrote:
> Allan E wrote in <atlibc$mso$1@sunsite.dk>:
>
>>>minApplet.java [12:1] cannot resolve symbol
>
> [...]
>
>>>import java.net;
>
>
>
>>Ovenstående gør at compileren tror den skal hente en klasse 'net' i pakken
>>'java'. Men da java.net er en pakke kan du enten importere de klasser du
>>skal bruge a la: import java.net.Url; eller hente hele pakken ind med et
>>wildcard: import java.net.*;
>
>
> Lige præcis. Gad vide hvorfor jeg var overbevist om, at det er pakker man
> importer. Måske fordi jeg har set ".*" for mange gange uden at tænke over
> det. (URL staves dog med 3 store bogstaver.)
>
> Derefter kom der en anden fejlmeddelelse, som viste sig at komme fordi det
> skal ind i en try-block. Det står der vist heller ikke noget om i
> tutorialen. I hvert fald ikke der, hvor *jeg* har kigget.
>
> Tak for hjælpen indtil videre. :)
> Det er nu sjovere at springe hovedkulds ud i et projekt der kan bruges, end
> at sidde og læse tørre bøger og skrive værdiløse programmer. Især når nu
> jeg allerede har læst adskillige hundrede sider om emnet, men aldrig fik
> det brugt.
>
Helt enig - Hands on, thats the spirit!!!
--
Cheers, BigFatLamer(DK)
| |
![](/images/tree/0.gif) BigFatLamer(DK) (16-12-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : BigFatLamer(DK) |
Dato : 16-12-02 21:40 |
|
> Det er ikke så meget applets generelt der er problemet. Det er mere hvordan
> jeg får lavet det med at snakke med serveren. Men jeg kan forstå på dig at
> der ikke lige ligger en fin lille klasse med rødt bånd omkring, der kan
> bruges. :)
Desværre, selv om det er op til jul findes der ikke nogen færdig pakker
her, medmindre at du kan finde det på et eller andet site - hvem ved?!
Hvis du brugere HTTP/1.0 er det nemmest at teste med, så kan du opbygge
dine requests i notepad og så "paste" dem af i en telnet prompt, det er
som regl den måde jeg test HTTP med. Jeg har tidligere lavet en
http-bridge, men det var i C. Jeg kan huske der er var en ting der
voldte lidt problemer. Efter jeg havde sendt mit request svarede
serveren, når det var en IIS, altid først med en "100 - Continue" og så
derefter kom selve svaret....
Sockets burde være ikke volde problemer, da du arbejder i ren tekst
skulle det være rimiligt nemt at følge trafikken.
>
> Jeg vil studere rå sockets i stedet. Der er vist hvad jeg skal bruge her:
> http://java.sun.com/docs/books/tutorial/networking/sockets/
>
Held og lykke....
--
Cheers, BigFatLamer(DK)
| |
|
|