Olá pessoal, estou fazendo uma aplicação LoginServlet para testar a conexão com o banco de dados, mas esta não esta dando certo.
Como no NetBeans já faço a conexão automátina do BD e a criação de tabelas na própria ferramenta, tenho que colocar algum código de conexão com o BD no meu Servlet ?
Até mais,
Leisley
1o - Para login, vc tem um mecanismo muito eficiente do próprio conteiner JSP/Servler. Pesquise por autentication and autorization;
2o Post seu código para ver a conexão.
Ai vai o código que estou usando:
/*
- LoginServlet.java
-
- Created on 31 de Maio de 2004, 10:28
*/
package com.mycompany;
import javax.servlet.;
import javax.servlet.http.;
import java.io.;
import java.net.;
import java.util.;
import java.sql.;
/**
*
-
@author Leisley
-
@version
*/
public class LoginServlet extends HttpServlet {
/** Handles the HTTP <code>GET</code> method.
-
@param request servlet request
-
@param response servlet response
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
sendLoginForm(response, false);
}
/** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
-
@param request servlet request
-
@param response servlet response
*/
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("");
out.println("<center>");
if(withErrorMessage)
out.println(“Login failed. Pleased try again.
”);
out.println("
");
out.println("
<h2>Login Page</h2>");
out.println("
");
out.println("
<FORM METHOD=POST>");
out.println("<TABLE>");
out.println("<TR>");
out.println("<TD>User Name:</TD>");
out.println("<TD></TD>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD>Password:</TD>");
out.println("<TD></TD>");
out.println("</TD>");
out.println("<TR>");
out.println("<TD ALIGN=RIGTH COLSPAN=2>");
out.println("<TD></TD>");
out.println("</TR>");
out.println("</TABLE>");
out.println("</FORM>");
out.println("</CENTER>");
out.println("");
out.println("</html>");
}
/** Handles the HTTP <code>POST</code> method.
-
@param request servlet request
-
@param response servlet response
*/
protected 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(“AnotherServlet”);
rd.forward(request, response);
}
else{
sendLoginForm(response, true);
}
}
boolean login(String userName, String password){
try{
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
Connection con = DriverManager.getConnection(“jdbc:mysql:JavaWeb”);
System.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;
}
rs.close();
s.close();
con.close();
}
/* catch (ClassNotFoundException e){
System.out.println(e.toString());
}*/
catch (SQLException e){
System.out.println(e.toString());
}
catch (Exception e){
System.out.println(e.toString());
}
return false;
}
}