/ 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
doGet og doPost
Fra : Nikolaj


Dato : 06-03-02 12:26

Jeg forsøger at sende et objekt til en http-servlet. Når jeg sender
objektet bliver doPost() i servleten kaldt som den skal og objektet
bliver også sendt, men de parametre jeg forsøger at sende med via
URL'en når ikke frem. Kan man ikke både angive parametre i URL'en og
sende et objekt samtidig?
Følgende er koden for klient og server. Det er sidste linie i
serverkoden der ikke giver det ventede resultat.

Client-kode (f.eks i en applet):

private void sendObject(Object o) {
URL servletURL = new URL("http://localhost/servletpath?param1=hej")
URLConnection servletConnection = servletURL.openConnection();

servletConnection.setDoInput(true);
servletConnection.setDoOutput(true);
servletConnection.setUseCaches(false);
servletConnection.setRequestProperty("Content-Type",
"application/octet-stream");

ObjectOutputStream outputToServlet = null;
outputToServlet = new
ObjectOutputStream(servletConnection.getOutputStream());
outputToServlet.writeObject(o);
outputToServlet.flush();
outputToServlet.close();
}


Servletkode:

doPost(HttpServletRequest request, HttpServletResponse response) {
ObjectInputStream input = null;
input = new ObjectInputStream(request.getInputStream());
Object o = input.readObject();
input.close();
String param1 = request.getParameter("param1"); //dette virker ikke
!!!
}

Hvor kan fejlen være? Er det ikke muligt at gøre som jeg vil?
Tak for hjælpen

Nikolaj

Nikolaj

 
 
Morten (06-03-2002)
Kommentar
Fra : Morten


Dato : 06-03-02 13:29


Nikolaj wrote:
> Jeg forsøger at sende et objekt til en http-servlet. Når jeg sender
> objektet bliver doPost() i servleten kaldt som den skal og objektet
> bliver også sendt, men de parametre jeg forsøger at sende med via
> URL'en når ikke frem. Kan man ikke både angive parametre i URL'en og
> sende et objekt samtidig?

Nix. Men du kan fex. sende to objekter?

writeObject("param1=hej");

Så skal du selv parse dit input, men det burde ikke være så svært.

> Servletkode:
>
> doPost(HttpServletRequest request, HttpServletResponse response) {
> ObjectInputStream input = null;
> input = new ObjectInputStream(request.getInputStream());
> Object o = input.readObject();
> input.close();
> String param1 = request.getParameter("param1"); //dette virker ikke
> !!!
> }

Her lukker du din input stream, hvis request objektet er implementeret
så det skal benytte den for at læse en parameter kan det volde
problemer. Hvilken fejl får du?

Mvh Morten


Dennis Thrysøe (06-03-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 06-03-02 13:54



Nikolaj wrote:
> Jeg forsøger at sende et objekt til en http-servlet. Når jeg sender
> objektet bliver doPost() i servleten kaldt som den skal og objektet
> bliver også sendt, men de parametre jeg forsøger at sende med via
> URL'en når ikke frem. Kan man ikke både angive parametre i URL'en og
> sende et objekt samtidig?
> Følgende er koden for klient og server. Det er sidste linie i
> serverkoden der ikke giver det ventede resultat.
>
> URL servletURL = new URL("http://localhost/servletpath?param1=hej")
[SNIP]
> doPost(HttpServletRequest request, HttpServletResponse response) {
[SNIP]

Kunne det tænkes at man ikke kan læse en GET-parameter fra doPost() metoden?


-dennis


Foxy (12-03-2002)
Kommentar
Fra : Foxy


Dato : 12-03-02 18:53

> Kunne det tænkes at man ikke kan læse en GET-parameter fra doPost()
metoden?



nej



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

Månedens bedste
Årets bedste
Sidste års bedste