Boas,
pessoal, depois de muita investigação na net, e tutoriais de jsp, la consegui solucionar o meu problema com o Login do JSP.
Criei um Servlet que trata das ligaçoes à bd e controla os dados inseridos pelo user.
Agora o meu problema é o seguinte, tenho uma nova pagina JSP onde faço o Registo (Cadastro) de um novo user, e a minha questão é, onde é que eu devo incluir codigo de tratamento desse caso, no JSP ou no Servlet?!
Vou deixar ai o codigo do meu Servlet para voces terem uma ideia do q esta feito:
[code]import java.io.;
import java.util.;
import javax.servlet.http.;
import javax.servlet.;
import java.sql.*;
public class LoginServlet extends HttpServlet
{
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
{
doGet(request,response);
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
{
HttpSession session = request.getSession(true);
PrintWriter out = response.getWriter();
try
{
String driverName="sun.jdbc.odbc.JdbcOdbcDriver";
String dbUrl="jdbc:odbc:BDTrabalho";
Class.forName(driverName);
java.sql.Connection db =DriverManager.getConnection(dbUrl,"","");
if ((session.getAttribute("user") == null) || (!session.getAttribute("ip").equals(request.getRemoteAddr())))
{
java.sql.PreparedStatement pStmt = db.prepareStatement("SELECT * FROM cliente WHERE Nome =? AND Password=? ");
pStmt.setString(1, request.getParameter("txtUsername"));
pStmt.setString(2, request.getParameter("txtPassword"));
java.sql.ResultSet rs = pStmt.executeQuery();
if(!rs.next())
{
System.out.println("Username is not valid.");
request.setAttribute("msg", "Username is not valid.");
RequestDispatcher rd = request.getRequestDispatcher("…/login_ondesign.jsp");
rd.forward(request, response);
}
else do
{
int id = rs.getInt(1);
String account = rs.getString(2);
session.setAttribute("user", new Integer(id));
session.setAttribute("account", account);
session.setAttribute("ip", request.getRemoteAddr());
System.out.println("User " + session.getAttribute("user") +" has logged on.");
request.setAttribute("msg", "User has logged on.");
RequestDispatcher rd = request.getRequestDispatcher("…/Welcome.jsp");
rd.forward(request, response);
}
while(rs.next());
rs.close();
}
else
{
System.out.println("User has already logged on.");
request.setAttribute("msg", "User has already logged on.");
RequestDispatcher rd = request.getRequestDispatcher("…/Welcome.jsp");
rd.forward(request, response);
}
db.close();
}
catch(Exception exp)
{
System.out.println("Exception: "+ exp);
}
out.close();
}
}[/code]
Obrigado por toda a ajuda já prestada
Correia