Formulário com .jsp

Olá , estou com um problema em um formulário em jsp .
É o seguinte , meu form está na pagform.jsp e passo alguns parametros para o servlet LoginUsuario , mas na hora do teste , ele não acha o LoginUsuario .

agurado ajuda!

abaixo está o code;

Grato Reis!

[code]<%@page contentType=“text/html” %>

Login

Login do Sistema

Login:

Senha:

[/code]

[code]package faculdade.dominio;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import faculdade.base.AcessoDados;
import faculdade.base.Pessoa;

/**

  • Servlet implementation class for Servlet: LoginUsuario

/
public class LoginUsuario extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
/
(non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public LoginUsuario() {
super();
}

/* (non-Java-doc)
 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request , HttpServletResponse response ) throws ServletException, IOException {
	
	
	
		response.setContentType("aplication/jsp");	
		
	 String usuarioForm = request.getParameter("login");
		String senhaForm = request.getParameter("senha");
		//buscar a pessoa no BD
		Pessoa p = AcessoDados.loginUsu(usuarioForm, senhaForm);
		
		System.out.println("passou aki");
	
		//armazenando o objeto pessoa a ser exibido 
		request.setAttribute("pessoa", p);

		//chama o JSP para exibir o objeto
    	RequestDispatcher disp;
    	disp = request.getRequestDispatcher("logado.jsp");
   		disp.forward(request, response);                				

	
	
}  	

/* (non-Java-doc)
 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// TODO Auto-generated method stub
}   	  	    

}
[/code]

Cara acho que ninguém respondel até agora pq tem poucas informações sobre o problema.
Qual o erro? Ele não valida o usuário?
O problema não seria na logica desse teu

Pessoa p = AcessoDados.loginUsu(usuarioForm, senhaForm); 

Como é que tu sabe que num ta validando? Tu num teria que varificar se Pessoa num é null, sei lá.

Outra coisa que me chamou atenção é tu ta fazendo login passadno dados por GET. É mais aconselhavel usar POST.

Espero ter ajudado

Olá Amigo , me desculpe pela má explicação !
É o seguinte, estou fazendo um login de usuários , em que o usuario digita o “login” e “senha” no (reis.jsp) , logo depois de verificado (LoginUsuario.java) a existência do “login” no banco de dados ele redireciona para (logado.jsp).

Mas ao digitar (itens “login” e “senha”) no (reis.jsp) logo em seguida quando “submito” ele da um erro !

Erro: [i]type Status report

message /LoginUsuario

description The requested resource (/LoginUsuario) is not available.[/i]


[b]reis.jsp[/b]

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body bgcolor="#c0c0c0">

<div align="center"><h2>Login do Sistema</h2></div>

<form action='../LoginUsuario'>
	<p>Login:
	<input type='text' name='login'> 
	<p>Senha:
	<input type='password' name='senha'> 
	<p>
	<input type='submit' value='Entrar'>
	
	
	
	
</form>

</body>
</html>

[b]logado.jsp[/b]

<%@ page import="faculdade.base.Pessoa" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>


<%
		Pessoa p1 = (Pessoa)request.getAttribute("pessoa");
	
		if (p1 == null) {
		%>
			<jsp:include page="PaginaErro.jsp"/>
			
		 <% 		} else {     %>
		<jsp:include page="loginsucess.jsp"/>
		<%		}			 %>
	
</body>
</html>

[b]LoginUsuario.java[/b]

package faculdade.dominio;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import faculdade.base.AcessoDados;
import faculdade.base.Pessoa;


 public class LoginUsuario extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   
	public LoginUsuario() {
		super();
	}   	
	
	
	protected void doGet(HttpServletRequest request , HttpServletResponse response ) throws ServletException, IOException {
		
		
		
	}  	
	
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("passou aki");
		response.setContentType("text/html");	
		
	 String usuarioForm = request.getParameter("login");
		String senhaForm = request.getParameter("senha");
		//buscar a pessoa no BD
		Pessoa p = AcessoDados.loginUsu(usuarioForm, senhaForm);
		
		System.out.println("passou aki");
	
		//armazenando o objeto pessoa a ser exibido 
		request.setAttribute("pessoa", p);

		//chama o JSP para exibir o objeto
    	RequestDispatcher disp;
    	disp = request.getRequestDispatcher("logado.jsp");
   		disp.forward(request, response);                				

	
	
	}   	  	    
}

Cara eu vou apontar alguns erros no teu JSP corrige e ve no que dá.
Olha só:

O form que envia a o login e a senha

<form action='../LoginUsuario'>
 	<p>Login:
 	<input type='text' name='login'> 
 	<p>Senha:
 	<input type='password' name='senha'> 
 	<p>
 	<input type='submit' value='Entrar'> 	
 </form>

muda para

<form action='../LoginUsuario' method="POST">
 	<p>Login:
 	<input type='text' name='login'> 
 	<p>Senha:
 	<input type='password' name='senha'> 
 	<p>
 	<input type='submit' value='Entrar'> 	
 </form>

Quando vc não coloca um method ele passa o form por get, como vc ta usando um doPost para tratar num funciona.

No teu servlet tira essa linha

 response.setContentType("text/html");	 

Se vc vai dar um RequestDispatcher num precisa dar um setContentType.

Ainda no teu servlet, ao inves de vc deixar para verificar se houve erro no jsp verifica logo no servlet.
Ficaria assim:

[code]Pessoa p = AcessoDados.loginUsu(usuarioForm, senhaForm);
String destino = “”;
if(p!=null)
destino = “loginsucess.jsp”;
else
destino = “PaginaErro.jsp”

 	RequestDispatcher disp;
 	disp = request.getRequestDispatcher(destino);
		disp.forward(request, response);                				

[/code]

Pega a idéia do que te falei e faz a parada que deve da certo.
Espero ter ajudado
Valeu, num esquece de avaliar a resposta.

Olá amigo, a dica foi válida, me ajudou mesmo ! fiz as modificações supostas por ti!

Agradecimentos Reis :slight_smile:

Só uma coisa , sou novo no grupo , como faço para avaliar esta?

Reis

Nessa minha mensagem, no canto direito. Tem escrito Avaliar vc da nota de 1 a 5.

Valeu

.