Avatar billede privaten Nybegynder
22. december 1999 - 16:33 Der er 6 kommentarer og
1 løsning

Kommunikation med web-server fra java-program

Hej folks,


Jeg har aldrig kode i java før, men er en rimelig habil til pascal, basic og c++

Nu skal jeg (helst inden en uge) udarbejde flg. i java:

"Et program med menu og nogle dialoger, der skal kommunikere med en web-server."

Det at få bakset selve "frameworket" sammen forventer jeg ikke kommer til at give de store
problemer, ligesom det ikke er den færdige løsning jeg søger



Efter brugeren har startet programmet (en .exe der allerede ligger på brugerens hd),
vælger han "login" fra programmets hovedmenu.

Herefter skal flg. dialoger fremkomme:

Dialog 1:
+--------------------------------------+
Felt1: [Indtast en URL]          (fx. www.myweb.dk)
Felt2: [Indtast Brugernavn]
Felt3: [Indtast Password]
       
Knap1: [Login]
+--------------------------------------+

Når login-knappen trykkes skal brugeren godkendes på web-serveren



Dialog 2:    
+--------------------------------------+
ListBox1: [ListBox med 4 kolonner]

Knap1:      [Vælg]
+--------------------------------------+
Data i listbox skal hentes via en query på serveren.
Når man har valgt et entry i listboksen, trykkes vælg hvorefter en download igangsættes




Spørgsmålene er herefter flg:

1) Hvordan igangsætter jeg en godkendelses-proces på serveren, fra javaprogrammet?
  (kan jeg igangsætte et ASP-script fra java?)
 
1a) Hvilken metode kalder jeg serveren med fra java?
    (der må være nogle stadard lib's man kan bruge)

2) Serveren skal bruge klientens IP adresse, den kan vel nappes i et script?


3) Hvilken metode er bedst til at downloade en fil med efter klienten har trykket [VÆLG]

4) Er der nogle "fælder" man skal passe på, når man opretter sessioner ml. et java-program
  og web-serveren
 
5) Hvilke metoder skal man anvende for at initiere en session ml. klient og server
  (her ville en stump kode, eller en "step-by-step" være super"


Det er som sagt tiden der en vigtig faktor i denne sag...Sååå det må jo være på sin plads
at der også er nogle point i dealen.

Jeg har aldrig oprettet nogle spørgsmål på 'eksperten' før, så i skrivende stund ved jeg
end ikke hvordan man honorerer venlige sjæle, men det er vel fair med en 100 point til den
første der har et svar der rykker projektet i den rigtige retning, og så kan vi vel uddele
nogle halvtredsere til andre bidragsydere, sådan nogle trøstepræmier?!


/Privaten

Avatar billede andersb Nybegynder
22. december 1999 - 20:17 #1
Jeg er ikke helt med. Hvis det skal integreres totalt med web-serveren, så skal du nok programmere Java-servlets (java's svar på CGI, ASP og lign.). Se http://java.sun.com/products/servlet/index.html for en introduktion mv.

Hvis du er interesseret i generel netværksprogrammering (sockets) i Java, så se http://www.rhs.dk/anders/javanet/ Der er eksempler på simple klient- og server-programmer.

- Anders
Avatar billede privaten Nybegynder
22. december 1999 - 20:35 #2
Hej Anders,

Du skal forestille dig et program, der ligger på din harddisk. Når du starter det er det ligesom at starte et helt almindeligt windows-program. Efter opstart kan du imidlertid kontakte en web-server via en login-dialog. Det er i den forbindelse vi skal have noget kommunikation med web-serveren igang. Det er ikke noget med at jeg absolut skal til at programmere sockets, snarere tværtimod, jeg kan ikke se det skulle være nødvendigt?! (men er ikke sikker, derfor dette spørgsmål)

Uden at jeg overhovedet ved hvad jeg taler om, kunne det være noget med:

1) opret forbindelse til www.myweb.dk
2) aflever indhold af felterne i dialog(1)
3) vent på godkendelse
4) hvis godkendt, opstart dialog(2)
5) hent data fra web-server og opret listbox
6) vent på brugeren har valgt et entry i listbox
7) sæt en download af den valgte fil igang.


/Privaten
Avatar billede andersb Nybegynder
23. december 1999 - 10:38 #3
Hvordan har du tænkt dig at kommunikere med web-serveren?
En web-server kommunikerer iflg. HTTP-protokollen, der er i sin grundform er ret simpel - kender GET, PUT, POST og et par "kommandoer" mere.
Hvis du vil kommunikere med en web-server SKAL du bruge disse "kommandoer".

Hvis du blot vil hente web-sider fra web-serveren, så er den nemmeste måde nok at bruge klassen java.net.URL, se http://www.rhs.dk/anders/javanet/URL/index.htm Med den kan du hurtigt lave et "browser-lignende" program.

Hvis dit hoved-ærinde er at downloade en fil fra en fil-server, så skal du bruge FTP (mig bekendt er der ikke noget nemt interface til FTP i Java).
-----
Hvis du kan se bort fra kravet om at programmet absolut skal ligge på din harddisk, så vil jeg foreslå at du laver "login-dialogen" som en FORM på en web-side. Hentning af filen kan så foregå efter oplysninger (filnavn osv.) indtastet i en anden FORM (på en anden web-side).
- Anders
Avatar billede privaten Nybegynder
23. december 1999 - 12:14 #4
Hej Anders,

Jeg stiller i princippet nogle services til rådighed for en bruger. Når man skal bruge en exe fil på den lokale disk, er det fordi det er et spil man skal spille. Login-delen er til for at sikre at man ikke kan spill, hvis man ikke er "medlem". Download-delen skal til for at hente data til det spil man ønsker at deltage i.

Giver det mening?
Avatar billede privaten Nybegynder
23. december 1999 - 19:35 #5
Hej Anders,

Jeg har lige givet dig de 100 dask, for din indsats. Jeg har forsket lidt i sagen, og mener løsningen må være noget med at kalde et asp-script på serveren med nogle parametre (er det noget du kender til ?), ellers er jeg på rimelig bar bund lige nu. Det vigtigste for mig er ikke at lande i en blindgyde, for så at opdage jeg har brugt den sparsomme tid til at forske i den forkerte ende.
Jeg ved heller ikke om det med med de 100 point har lukket sagen nu, hvis, ja så har jeg vel dummet mig :-)

/Privaten

Du kan evt. skrive direkte på privaten@forum.dk
Avatar billede privaten Nybegynder
29. december 1999 - 00:23 #6
Fik du denne besked Anders?
Avatar billede andersb Nybegynder
01. januar 2000 - 20:15 #7
Just returneret fra juleferie..
Hvis du skal bruge andet end en simpel web-server, så skal du selv programmere et lille program (udvidelse til web-server), der kan foretage det ønskede f.eks. validering af brugernavn og password.
Web-server programmer kan laves i mange sprog f.eks. Java Servlets, CGI (C / C++, Perl og lign), ASP (VBScript eller JScript), PHP3 osv.

ASP er nok det nemmeste umiddelbart at gå til navnlig hvis du tidligere har prøvet at programmere i fortolkede (ikke oversatte) programmeringssprog.

Jeg har just læst et udmærket stykke litteratur om ASP
Francis m.fl.
Beginning Active Server Pages 2.0 (er vist kommet i en 3.0 udgave)
Wrox Press, 1998 (653 sider)
ISBN 1-861001-34-7
- Anders
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