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