A minha dúvida é:
a interação do jsp e servlets, estou utilizando a ide netbeans e criei um servelt onde ficou dentro de webinf/classes
e criei um form jsp que ficou em exemplos/servlet
(os códigos estão abaixo), a questão é que eu não estou conseguindo referenciar o servlet através da página jsp no action do form
<FORM ACTION=“login” METHOD=“POST”> estou colocando login
que eh o nome que coloquei para o servlet preciso colocar alguma extensão a esse servlet como login.xxx ou será que tem algo errado com o meu código?
Obrigado!
servlet
package com.massa;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class login extends HttpServlet {
private int NivelAcessoUsuario(String p_login,String p_senha){
int l_nivelAcesso = -1;
if((p_login != null)&&(p_senha != null)){
if ((p_login == "comun")&&(p_senha=="comun")){
l_nivelAcesso = 2;
} else if ((p_login == "adm")&&(p_senha=="adm")){
l_nivelAcesso = 1;
}
}
return l_nivelAcesso;
}
protected void doGet(HttpServletRequest p_request, HttpServletResponse p_response)
throws ServletException, IOException {
// Definindo headers auxiliares para evitar cacheamento de página
p_response.setHeader("Cache-Control", "no-cache, must-revalidate");
p_response.setHeader("Pragma", "no-cache");
p_response.setHeader("Expires", "Mon, 26 Jul 1997 05:00:00 GMT");
p_response.setDateHeader("Last-Modified",System.currentTimeMillis ());
// Fazendo autenticação do usuário e obtendo seu nível de acesso
String l_login = p_request.getParameter("LOGIN");
String l_senha = p_request.getParameter("SENHA");
int i_nivelAcesso = NivelAcessoUsuario(l_login,l_senha);
// Definindo atributos de sessão (se o usuário for válido)
HttpSession l_sessao = p_request.getSession(true);
if(i_nivelAcesso != -1){
l_sessao.setAttribute("LOGIN", l_login);
}
else l_sessao.removeAttribute("LOGIN");
try {
if (i_nivelAcesso == -1){
// Usuário não conseguiu se autenticar; existem duas possibilidades:
// login / senha incorretos ou usuário ainda não enviou os dados do
// formulário (simplesmente acessou a página); em ambos os casos,
// fazemos um "forward" para a página JSP "FormLogin.jsp?
p_request.setAttribute("Mensagem", "");
if((l_login != null)||(l_senha != null))
p_request.setAttribute("Mensagem", "Erro: login e/ou senha inválido(s)!");
p_request.getRequestDispatcher("/FormLogin.jsp").forward(p_request,p_response);
}
else {
// Usuário conseguiu efetuar autenticação; apresentando a interface
// correspondente ao seu nível de acesso
p_request.setAttribute("Login",l_login);
if(i_nivelAcesso == 1)
p_request.getRequestDispatcher
("/UsuarioComum.jsp").forward(p_request, p_response);
else p_request.getRequestDispatcher
("/Administrador.jsp").forward(p_request, p_response);
}
}catch (ServletException p_e) {}
}
protected void doPost(HttpServletRequest p_request, HttpServletResponse p_response)
throws ServletException, IOException {
doGet(p_request, p_response);
}
}
form.jsp
<HTML>
<BODY>
<%= (String) request.getAttribute("Mensagem") %><BR>
<FORM ACTION="login" METHOD="POST">
Login: <INPUT TYPE="TEXT" NAME="LOGIN"><BR>
Senha: <INPUT TYPE="PASSWORD" NAME="SENHA"><BR>
<INPUT TYPE="SUBMIT" NAME="ENTRAR" VALUE="Entrar"><BR>
</FORM>
</BODY></HTML>