Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Servlet: try ... finally {out.close();}

Hola a todos!

Estoy empezando a trabajar con servlets y en unos ejercicios de practica que he estado realizando me aparece un error que no comprendo por que se presenta:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {

String usuario = request.getParameter("usuario");
String password = request.getParameter("password");
//El elemento tecnologia puede tener varios
//valores, por ello lo procesamos como un arreglo
String[] tecnologias = request.getParameterValues("tecnologia");
String genero = request.getParameter("genero");
String ocupacion = request.getParameter("ocupacion");
//El componente de musica, indica que se pueden
//seleccionar multiples elementos, por ello
//lo procesamos como un arreglo
String[] musica = request.getParameterValues("musica");
String comentario = request.getParameter("comentarios");

/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Parametros Procesados</title>");
out.println("</head>");
out.println("");
out.println("<h1>Los parametros procesados son:</h1>");
out.println("<table border='1'>");

out.println("<tr>");
out.println("<td>");
out.println("Usuario");
out.println("</td>");
out.println("<td>");
out.println(usuario);
out.println("</td>");
out.println("</tr>");

out.println("<tr>");
out.println("<td>");
out.println("Password");
out.println("</td>");
out.println("<td>");
out.println(password);
out.println("</td>");
out.println("</tr>");

out.println("<tr>");
out.println("<td>");
out.println("Tecnologias");
out.println("</td>");
out.println("<td>");
for (String tecnologia : tecnologias) {
out.println(tecnologia);
out.println(" / ");
}
out.println("</td>");
out.println("</tr>");

out.println("<tr>");
out.println("<td>");
out.println("Género");
out.println("</td>");
out.println("<td>");
out.println(genero);
out.println("</td>");
out.println("</tr>");

out.println("<tr>");
out.println("<td>");
out.println("Ocupación");
out.println("</td>");
out.println("<td>");
out.println(ocupacion);
out.println("</td>");
out.println("</tr>");

out.println("<tr>");
out.println("<td>");
out.println("Música Favorita");
out.println("</td>");
out.println("<td>");
for (String m : musica) {
out.println(m);
out.println(" / ");
}
out.println("</td>");
out.println("</tr>");

out.println("<tr>");
out.println("<td>");
out.println("Comentarios");
out.println("</td>");
out.println("<td>");
out.println(comentario);
out.println("</td>");
out.println("</tr>");

out.println("<table>");

out.println("");
out.println("</html>");

} finally {
out.close();
}

}
}

El error es el siguiente, por alguna razon el try dentro de este metodo junto al finally provoca un error que hace q los metodos doGet o doPost se marquen con error diciendo q esperan una clase, interfaz o enum.

Si elimino el try y el finally se soluciona y funciona correctamente, lo q quiero saber es xq en los sevlets este bloque try.. finally provoca error.

Saludos!

octubre 16, 2014 | Unregistered CommenterAndHdz

Buenas,

El unico problema en tu codigo es que te sobra la ultima llave.


Un saludo

octubre 17, 2014 | Unregistered CommenterUnoPorAhi

Gracias!!

octubre 22, 2014 | Unregistered CommenterAndHdz