He declarado PrintWriter al principio de la clase, y en el metodo BooleanLogin quiero ocupar out.println para mostrar mis mensajes de error, al ejecutar los datos en el login no muestra nada y no sé si estoy conectado a la BDD o si ocurrio alguna cosa.
Como puedo solucionar el problema para mostrar los mensajes de error formulados por excepciones en pantalla y el mensaje si estoy conectado a la BDD?
gracias
Código:
package pagina106; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.sql.*; import java.util.*; public class LoginServletSql extends HttpServlet { PrintWriter out; //printWriter declarado public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { sendLoginForm(response,false); }//fin doGet private void sendLoginForm(HttpServletResponse response, boolean withErrorMessage) throws ServletException,IOException { response.setContentType("text/html"); PrintWriter out= response.getWriter(); out.println("<HTML>"); out.println("<HEAD>"); out.println("<TITLE>Login</TITLE>"); out.println("</HEAD>"); out.println("<BODY>"); out.println("<CENTER>"); if(withErrorMessage) out.println("Login failed. Please try again.<BR>"); out.println("<BR>"); out.println("<BR><H2>Login Page</H2>"); out.println("<BR>"); out.println("<BR>Please enter your user name and password."); out.println("<BR>"); out.println("<BR><FORM METHOD=POST>"); out.println("<TABLE>"); out.println("<TR>"); out.println("<TD>User Name:</TD>"); out.println("<TD><INPUT TYPE=TEXT NAME=userName></TD>"); out.println("</TR>"); out.println("<TR>"); out.println("<TD>Password:</TD>"); out.println("<TD><INPUT TYPE=PASSWORD NAME=password></TD>"); out.println("</TR>"); out.println("<TR>"); out.println("<TD ALIGN=RIGHT COLSPAN=2>"); out.println("<INPUT TYPE=SUBMIT VALUE=Login></TD>"); out.println("</TR>"); out.println("</TABLE>"); out.println("</FORM>"); out.println("</CENTER>"); out.println("</BODY>"); out.println("</HTML>"); }//fin sendLoginForm public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException { String userName= request.getParameter("UserName"); String password =request.getParameter("password"); if(login(userName,password)) { RequestDispatcher rd=request.getRequestDispatcher("mensaje/Mensaje"); rd.forward(request,response); }//fin if else { sendLoginForm(response,true); }//fin else }//fin doPost //metodo de conexion Boolean login(String userName,String password) { try { Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql://localhost/prueba","root",""); out.println("got connection"); Statement s = con.createStatement(); String sql ="SELECT UserName FROM Users"+ "WHERE UserName'"+userName+"'"+ "AND Password='"+password+"'"; ResultSet rs = s.executeQuery(sql); if(rs.next()) { rs.close(); s.close(); con.close(); return true; }//fin if rs.close(); s.close(); con.close(); } //fin try catch(ClassNotFoundException e) { out.println("Exception:"+e.toString()); }//fin primer catch catch(SQLException e) { out.println("Exception:"+e.toString()); }//fin segundo catch catch(Exception e) { out.println("Exception:"+e.toString()); }//fin tercer catch return false; }//fin Boolean login }//fin clase