/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
HTTP POST fra en JSP-side
Fra : kikki


Dato : 16-02-01 11:18

Hej,
er der mon nogen som kan hjælpe mig med følgende problem:
Jeg skal fra en jsp-side sende en HTTP POST til en anden server med angivelse af
en forms felter og værdier. Svaret skal siden hen vises på (samme) side(n).
Hvordan kan det gøres i JSP ?

/Christina


Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


 
 
Soren 'Disky' Reinke (16-02-2001)
Kommentar
Fra : Soren 'Disky' Reinke


Dato : 16-02-01 11:53


"kikki" <kikki.news@kandu.dk> wrote in message
news:p77j6.71712$zw.1260946@twister.sunsite.dk...
> Hej,
> er der mon nogen som kan hjælpe mig med følgende problem:
> Jeg skal fra en jsp-side sende en HTTP POST til en anden server med
angivelse af
> en forms felter og værdier. Svaret skal siden hen vises på (samme)
side(n).
> Hvordan kan det gøres i JSP ?

<form action="POST"
methode="http://www.andenserver.hos.dig/sidenDerSkalBrugeData.html>
alle dine felter
</form>

det er bare standard HTML du skal bruge,

Husk jsp er java kode puttet ind i en HTML side.

>
> /Christina
>
>
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>

--
With many Thanks
Soren ' Disky ' Reinke ICQ #1413069 remove 'ihsyd' when email replying
Please visit my Freshwater Aquaria Webpage
http://www.disky-design.dk/fish



kikki (16-02-2001)
Kommentar
Fra : kikki


Dato : 16-02-01 12:31

Jeg er ikke enig i at jsp er javakode puttet i en HTML side,
det er derimod en java kode som afvikles på server side,
og som kan genererer HTML scrip (hvilket vil gør det muligt for web-browser at præsentere dette),
men det kan i princippet gør alt muligt andet. Det er nemlig på
serveren at JSP afvikles, og det, som bekendt, har intet med HTML at gøre )

Situationen er at min JSP side rammes af en HTTP POST ( fra en anden side med en form i lighed med det du skriver) jeg skal så på baggrund af forskellige felter afgøre hvor dette request skal videresendes, og så skal jeg gør det, tage imod resultatet (HTML formentlig, men måske også XML) og præsentere det for request browseren.

Dette skal gøres uden at det skal involvere nogen servlet etc.

/Christina




Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Dennis Thrysøe (16-02-2001)
Kommentar
Fra : Dennis Thrysøe


Dato : 16-02-01 12:48



kikki wrote:

> Jeg er ikke enig i at jsp er javakode puttet i en HTML side,
> det er derimod en java kode som afvikles på server side,
> og som kan genererer HTML scrip (hvilket vil gør det muligt for web-browser at præsentere dette),
> men det kan i princippet gør alt muligt andet. Det er nemlig på
> serveren at JSP afvikles, og det, som bekendt, har intet med HTML at gøre )
>
> Situationen er at min JSP side rammes af en HTTP POST ( fra en anden side med en form i lighed med det du skriver) jeg skal så på baggrund af forskellige felter afgøre hvor dette request skal videresendes, og så skal jeg gør det, tage imod resultatet (HTML formentlig, men måske også XML) og præsentere det for request browseren.

Det lyder som om du egentlig vil forwarde browseren til en anden side.
Hvis det som browseren skal se er tilgængligt udefra kan du bruge
response.sendRedirect(). Inden headeren er comitted.

Hvis ikke det er tilgængligt udefra, skal du alt efter hvor det ønskede
indhold kan skaffes fra, hente det i java kode. DU kan så sætte
ContentType for dit response inden du hælder data ud i det.

Var det hvad du ville?




-dennis


Soren 'Disky' Reinke (16-02-2001)
Kommentar
Fra : Soren 'Disky' Reinke


Dato : 16-02-01 12:57


"Dennis Thrysøe" <qabi@qabi.dk> wrote in message
news:3A8D1362.2050000@qabi.dk...
>
>
> kikki wrote:
>
> > Jeg er ikke enig i at jsp er javakode puttet i en HTML side,
> > det er derimod en java kode som afvikles på server side,
> > og som kan genererer HTML scrip (hvilket vil gør det muligt for
web-browser at præsentere dette),
> > men det kan i princippet gør alt muligt andet. Det er nemlig på
> > serveren at JSP afvikles, og det, som bekendt, har intet med HTML at
gøre )

Din JSP side er stadigvæk normalt en standard HTML side, hvori du har lagt
Java code ind, denne jsp side bliver så første gang den bliver accesset
konverteret om til en Java servlet, og den spytter så html koden ud. Det er
ligesom det der er hele fidussen

> >
> > Situationen er at min JSP side rammes af en HTTP POST ( fra en anden
side med en form i lighed med det du skriver) jeg skal så på baggrund af
forskellige felter afgøre hvor dette request skal videresendes, og så skal
jeg gør det, tage imod resultatet (HTML formentlig, men måske også XML) og
præsentere det for request browseren.

Du kan altid ud fra request objectet se hvilke parameter der er blevet sendt
med, og du kan så ud fra dem tage din beslutning, og bruge
response.sendRedirect() til at sende folk videre.

Men skal det være rigtig pæn kode, gemmer du disse beslutninger i en Java
bean, for at opnå stor adskillelse imellem design og program ! Et eller
andet design pattern beskriver dette men jeg kan ikke huske navnet.

Hele ideen ved JSP er jo netop denne adskillelse, så en designer laver HTML
siden, og du fortæller dem så nogle små stumper kode de skal sætte ind hvis
de skal have data fra f.eks. en database.

f.eks.

<input name="navn" value="<% bean.getName()%>">

osv.

Hvis du begynder at smide alt mulig java kode i din jsp side, kan du ikke
nemt portere siden til andre systemmer f.eks. wap.

--
With many Thanks
Soren ' Disky ' Reinke ICQ #1413069 remove 'ihsyd' when email replying
Please visit my Freshwater Aquaria Webpage
http://www.disky-design.dk/fish





Dennis Thrysøe (16-02-2001)
Kommentar
Fra : Dennis Thrysøe


Dato : 16-02-01 13:08



Soren 'Disky' Reinke wrote:

> Men skal det være rigtig pæn kode, gemmer du disse beslutninger i en Java
> bean, for at opnå stor adskillelse imellem design og program !

Men endnu bedre (i nogle situationer): Tag libraries. Hjemmelavede tags
der løser nogle opgaver. For web-designeren, der ikke kender meget til
Java ser det ud som en udvidelse af HTML med evt. forretningslogik.

-dennis



kikki (16-02-2001)
Kommentar
Fra : kikki


Dato : 16-02-01 13:38

> Men endnu bedre (i nogle situationer): Tag libraries. Hjemmelavede tags
> der løser nogle opgaver. For web-designeren, der ikke kender meget til
> Java ser det ud som en udvidelse af HTML med evt. forretningslogik.

Har du et eksempel på det, det lyder som noget jeg kunne lære noget af

/Christina


Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Soren 'Disky' Reinke (16-02-2001)
Kommentar
Fra : Soren 'Disky' Reinke


Dato : 16-02-01 14:07


"kikki" <kikki.news@kandu.dk> wrote in message
news:Ma9j6.71963$zw.1276367@twister.sunsite.dk...
> > Men endnu bedre (i nogle situationer): Tag libraries. Hjemmelavede tags
> > der løser nogle opgaver. For web-designeren, der ikke kender meget til
> > Java ser det ud som en udvidelse af HTML med evt. forretningslogik.
>
> Har du et eksempel på det, det lyder som noget jeg kunne lære noget af
>
> /Christina

Nedenstående eksempel er taget fra en lille amatør side jeg har lavet for
min ex. klasse.

Den opfylder dog ikke helt kriteriet om adskillelse af kode og
brugergrænseflade. Men lidt gør den

Det er en JSP side som viser resultatet af en søgning i en SQL database,

det er rigtigt som en anden skriver at Custom tags er det ultimative, men
dette her skulle alves hurtigt så jeg sprang over hvor gærdet var lavest

Det øverste login kode checker om brugeren er logget ind, hvis ikke bliver
de smidt hen til en login side.

Hvis du har spørgsmål bare fyr løs.

--
With many Thanks
Soren ' Disky ' Reinke ICQ #1413069 remove 'ihsyd' when email replying
Please visit my Freshwater Aquaria Webpage
http://www.disky-design.dk/fish




<jsp:useBean id="ul" class="disky.user.UserLogin" scope="page"/>
<%
ul.setPageContext(pageContext);

if(ul.validateUser()==false)
{
response.sendRedirect("index.jsp"); file://open page after login
}
/*
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
if (request.getProtocol().equals("HTTP/1.1"))


response.setHeader("Cache-Control", "no-cache");
}
*/
try
{
String ID="";
if((ID=request.getParameter("userid"))!=null)
{
String userID=(String)session.getAttribute("userID");
session.setAttribute("userID",ID);
ul.retrieveDataHome();
ul.retrieveDataWork();
session.setAttribute("userID",userID);

%>
<TABLE BORDER="1" VALIGN="MIDDLE">
<TR>
<TD COLSPAN="2" ALIGN="CENTER" WIDTH="383">
Hjemme adresse
</TD>
</TR>
<TR>
<TD>
Navn
</TD>
<TD>
<P><INPUT TYPE="TEXT" NAME="name" VALUE="<%=ul.getName()%>"
SIZE="40"></P>
</TD>
</TR>
<TR>
<TD>
Adresse
</TD>
<TD>
<P><INPUT TYPE="TEXT" NAME="adresse" VALUE="<%=ul.getAdresse()%>"
SIZE="40"></P>
</TD>
</TR>
<TR>
<TD>
Postnummer
</TD>
<TD>
<P><INPUT TYPE="TEXT" NAME="postnummer"
VALUE="<%=ul.getPostnummer()%>" SIZE="40"></P>
</TD>
</TR>
<TR>
<TD>
By
</TD>
<TD>
<P><INPUT TYPE="TEXT" NAME="bynavn" VALUE="<%=ul.getBynavn()%>"
SIZE="40"></P>
</TD>
</TR>
<TR>
<TD>
Land
</TD>
<TD>
<P><INPUT TYPE="TEXT" NAME="land" VALUE="<%=ul.getLand()%>"
SIZE="40"></P>
</TD>
</TR>
<TR>
<TD>
Telefon
</TD>
<TD>
<P><INPUT TYPE="TEXT" NAME="telefon" VALUE="<%=ul.getTelefon()%>"
SIZE="40"></P>
</TD>
</TR>
<TR>
<TD>
Mobil telefon
</TD>
<TD>
<P><INPUT TYPE="TEXT" NAME="mobil" VALUE="<%=ul.getMobil()%>"
SIZE="40"></P>
</TD>
</TR>
<TR>
<TD>
Email
</TD>
<TD>
<P><INPUT TYPE="TEXT" NAME="email" VALUE="<%=ul.getEmail()%>"
SIZE="40"></P>
</TD>
</TR>
<TR>
<TD>
Homepage
</TD>
<TD>
<P><INPUT TYPE="TEXT" NAME="homepage" VALUE="<%=ul.getHomepage()%>"
SIZE="40"></P>
</TD>
</TR>
<TR>
<TD>
Fax
</TD>
<TD>
<P><INPUT TYPE="TEXT" NAME="fax" VALUE="<%=ul.getFax()%>"
SIZE="40"></P>
</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="CENTER">
<TABLE BORDER="1" VALIGN="MIDDLE">
<TR>
<TD COLSPAN="2" ALIGN="CENTER" WIDTH="383">
Arbejds adresse


kikki (16-02-2001)
Kommentar
Fra : kikki


Dato : 16-02-01 15:16

Hvor er de hjemmelavade tags i dette eksempel ?

/Christina


Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Dennis Thrysøe (16-02-2001)
Kommentar
Fra : Dennis Thrysøe


Dato : 16-02-01 15:30

Der er ingen. Jeg tror det var ment som et eksempel på den hellige gral
ved server-side scripting: adskillelse af indhold og presentation.

-dennis



kikki wrote:

> Hvor er de hjemmelavade tags i dette eksempel ?
>
> /Christina
>
>
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"


Soren 'Disky' Reinke (19-02-2001)
Kommentar
Fra : Soren 'Disky' Reinke


Dato : 19-02-01 09:13


"kikki" <kikki.news@kandu.dk> wrote in message
news:uCaj6.72204$zw.1287044@twister.sunsite.dk...
> Hvor er de hjemmelavade tags i dette eksempel ?
>
> /Christina

Dette er en af dem:
<acme:costumerIterator query="NAME LIKE 'John %'">

--
With many Thanks
Soren ' Disky ' Reinke ICQ #1413069 remove 'ihsyd' when email replying
Please visit my Freshwater Aquaria Webpage
http://www.disky-design.dk/fish



Dennis Thrysøe (16-02-2001)
Kommentar
Fra : Dennis Thrysøe


Dato : 16-02-01 14:49

From the top of my head:

<%@taglib uri="acme-costumer.tld" prefix="acme" %>
<TABLE>
<acme:costumerIterator query="NAME LIKE 'John %'">
<TR>
<TD><acme:costumerName></TD>
<TD><acme:costumerStatus displayType="hex"></TD>
</TR>
</acme:costumerIterator>
<TABLE>

Dette her skulle vise en tabel over alle Acme's kunder der hedder John
til fornavn. For hver kunde vises der en række med navn og status
(hexidecimalt). Dette forudsætter, at der implementeres tre Tags som kan
finde ud af ovennævnte.

-dennis


kikki wrote:

>> Men endnu bedre (i nogle situationer): Tag libraries. Hjemmelavede tags
>> der løser nogle opgaver. For web-designeren, der ikke kender meget til
>> Java ser det ud som en udvidelse af HTML med evt. forretningslogik.
>
>
> Har du et eksempel på det, det lyder som noget jeg kunne lære noget af
>
> /Christina
>
>
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"


Soren 'Disky' Reinke (16-02-2001)
Kommentar
Fra : Soren 'Disky' Reinke


Dato : 16-02-01 15:05


"Dennis Thrysøe" <qabi@qabi.dk> wrote in message
news:3A8D2FE4.2040709@qabi.dk...
> From the top of my head:
>
> <%@taglib uri="acme-costumer.tld" prefix="acme" %>
> <TABLE>
> <acme:costumerIterator query="NAME LIKE 'John %'">
> <TR>
> <TD><acme:costumerName></TD>
> <TD><acme:costumerStatus displayType="hex"></TD>
> </TR>
> </acme:costumerIterator>
> <TABLE>

Custom tag's er den rigtig fine måde at gøre tingene på.

--
With many Thanks
Soren ' Disky ' Reinke ICQ #1413069 remove 'ihsyd' when email replying
Please visit my Freshwater Aquaria Webpage
http://www.disky-design.dk/fish



Dennis Thrysøe (16-02-2001)
Kommentar
Fra : Dennis Thrysøe


Dato : 16-02-01 15:17

Soren 'Disky' Reinke wrote:

> "Dennis Thrysøe" <qabi@qabi.dk> wrote in message
> news:3A8D2FE4.2040709@qabi.dk...
>
>> From the top of my head:
>>
>> <%@taglib uri="acme-costumer.tld" prefix="acme" %>
>> <TABLE>
>> <acme:costumerIterator query="NAME LIKE 'John %'">
>> <TR>
>> <TD><acme:costumerName></TD>
>> <TD><acme:costumerStatus displayType="hex"></TD>
>> </TR>
>> </acme:costumerIterator>
>> <TABLE>
>
>
> Custom tag's er den rigtig fine måde at gøre tingene på.

Det er jeg enig i. På nær til nogle opgaver. For jeg tror ikke
umiddelbart man kan give objekter til Tags. Det kan man til beans.
Derfor skal eventuelle objekter eller andre fancy ting, der skal
udveklses med et Tag, udveksles via session, request eller pageContext.

-dennis


kikki (16-02-2001)
Kommentar
Fra : kikki


Dato : 16-02-01 15:38

Jeg går ud fra at :
hemmeligheden ligger i denne linie :
<%@taglib uri="acme-costumer.tld" prefix="acme" %>
men hvad ligger der bag det ?

/Christina


Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


muzakker (16-02-2001)
Kommentar
Fra : muzakker


Dato : 16-02-01 16:33

Hejsa

Du skal næsten gå ind på java.sun.com og finde den / de tutorials som
omhandler "Custom Tags".

Det er et stort emne.. og der er masser info....

*.tld er definitions filen på den/de tags som man har lavet.. og acme er det
namespace de ligger i...

flemming


"kikki" <kikki.news@kandu.dk> wrote in message
news:RWaj6.72266$zw.1288637@twister.sunsite.dk...
> Jeg går ud fra at :
> hemmeligheden ligger i denne linie :
> <%@taglib uri="acme-costumer.tld" prefix="acme" %>
> men hvad ligger der bag det ?
>
> /Christina
>
>
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste