Tenho essa classe que pega uma coleção de um servlet mas está ocorrendo um erro na linha 20 e não consigo descobrir o que pode ser.
Essa é a mensagem de erro: Exception in thread “main” java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8080/WebApplication3/TesteServlet at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1241)
public class TesteHttp {
public void teste() throws IOException, ClassNotFoundException{
String usuario = "admin";
java.net.URL netUrl = new java.net.URL("http://localhost:8080/WebApplication3/TesteServlet");
HttpURLConnection connection = (HttpURLConnection)netUrl.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Length", "" + Integer.toString(usuario.getBytes().length));
connection.setUseCaches(false);
connection.setDoInput(true);
connection.setDoOutput(true);
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
out.writeBytes(usuario);
out.flush();
out.close();
ObjectInputStream ois = new ObjectInputStream(connection.getInputStream()); // algo errado aqui
Collection <String> c = (Collection)ois.readObject();
Iterator it = c.iterator();
while (it.hasNext()){
System.out.println((String)it.next());
}
}
Código do servlet:
public class TesteServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
DataInputStream in = new DataInputStream(request.getInputStream());
String usuario = in.readLine();
if (usuario.equals("admin")){
Collection <String> c = null;
c.add("teste");
ObjectOutputStream out = new ObjectOutputStream(response.getOutputStream());
out.writeObject(c);
out.flush();
out.close();
}
}