hej, mam problem z moim servletem, problem zapewne banalny ale siedze i siedze i nie moge rozkminic dlaczego tak sie dzieje...
3 wyjscia:
- login poprawny -> przesyla do logHarvest.jsp
- login poprawny lecz ACTIVE ustawione na 0 w db -> przesyla do index.jsp ze ?statusem -> ze konto nie aktywne
- login niepoprawny -> przesyla do index.jsp ze ?statusem -> ze dane niepoprawne
Z gory dziekuje:)
pozdro!
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class loginServlet extends HttpServlet {
private String Msg;
public void doGet(HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException
{
doPost(request, response);
}
public void doPost( HttpServletRequest request, HttpS%rvletResponse response ) throws ServletException, IOException
{
Connection connection = null;
Statement statement = null;
ResultSet results = null;
PrintWriter out = response.getWriter();
try {
String id = ServletUtil.checkSingleDB(request.getParameter("id"));
String password = ServletUtil.checkSingleDB(request.getParameter("password"));
if(id!= null && password !=null){
connection = (Connection) DriverManager.getConnection("jdbc:mysql:///esystemtech", "root", "");
statement = (Statement) connection.createStatement();
results = statement.executeQuery("select * from users where id = '" + id + "' and password = '" + password + "'");
if (results.next() && results.getLong("active") == 1) {
HttpSession session = request.getSession( true );
session.setAttribute("id", results.getString("id"));
session.setAttribute("password", results.getString("password"));
request.getRequestDispatcher("logHarvest.jsp").forward(request, response);
Msg = "sucess";
return;
}
if(results.next() && results.getLong("active") == 0){
Msg = "activate pls";
request.getRequestDispatcher("index.jsp?status="+Msg).forward(request, response);
return;
}
}
Msg = "Wrong login/pw details - Please Try again!";
request.getRequestDispatcher("index.jsp?status="+Msg).forward(request, response);
}
catch ( Throwable pop ) {
pop.printStackTrace();
throw new ServletException( pop );
} finally {
if ( results != null ) {
try { results.close(); } catch ( Throwable pop ) {}
results = null;
}
if ( statement != null ) {
try { statement.close(); } catch ( Throwable pop ) {}
statement = null;
}
if ( connection != null ) {
try { connection.close(); } catch ( Throwable pop ) {}
connection = null;
}
}
}