Pagina 404 usando VRaptor [Resolvido]

6 respostas
S
Olá pessoal, estou estudando a apostila fj-28, até consegui executar o projeto vraptor-blank. Quando chegou no exercício da lógica do vraptor, daí não consegui executar mais, aparece erro 404. Fiz exatamente o que mostra na apostila, onde posso estar errando ?
package lojavirtual.logic;

import lojavirtual.dao.DaoFactory;
import lojavirtual.modelo.Usuario;
import br.com.caelum.vraptor.ioc.Component;

@Component
public class UsuarioLogic {

	public void adiciona(Usuario usuario){
                // lógica para adicionar um usuário.
		System.out.println("Contato adicionado: " + usuario.getNome());
	}
	
	public void formulario(){
		
	}
}
Esse jsp fica dentro da pasta /web/usuario/formulario.ok.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Cp1252"/>
<title>Cadastro de usuários</title>
</head>
<body>
	<h1>Cadastro de usuários</h1>	
	<form action="usuario.adiciona.logic">
		<table>
			<tr>
				<td>Login: <input type="text" name="usuario.nome"></td>
			</tr>
			<tr>
				<td>Senha: <input type="text" name="usuario.senha"></td>
		</table>
		<input type="submit">
	</form>
</body>
</html>
Essa classe fica dentro do diretória/web/usuario/adiciona.ok.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Cp1252"/>
<title>Usuário adiciona com sucesso</title>
</head>
<body>
	<h2>Usuário ${param['usuario.nome'] } adicionado com sucesso!</h2>
</body>
</html>
Estou chamando esse projeto do meu navegador da seguinte forma: http://localhost:8080/loja/usuario.formulario.logic, mas aparece página 404.

6 Respostas

Guevara

Olá santos.fernando!
O VRaptor é “action based”, ou seja, baseado em ações, vc deve chamar a ação do método que está no seu Controller e não a página diretamente no browser, experimenta colocar “adiciona” no final dessa url ou “formulario”, removendo usuario.formulario.logic. Repare que vc possui dois métodos ali. Creio que seja isso.
Abraço!

S

Guevara valeu pela dica, coloquei apenas o formulário ao final da url e continua aparecendo a página 404.

Lucas_Cavalcanti

baixe a apostila nova do VRaptor, vc tah com a fj28 antiga, que era em vraptor 2…
http://www.caelum.com.br/curso/fj-28-vraptor-hibernate-ajax/

Guevara

Teria que aparecer seu formulario, veja o meu caso:
http://localhost:8080/imobiliaria/imovel/formulario

Onde imobiliaria é o projeto, imovel representa o meu Controller ImovelController e tb uma pasta imovel lá na WEB-INF e formulario é o metodo dentro de ImovelController.

Veja se o seu web-xml na pasta WebContent está assim:

<display-name>lojavirtual</display-name>
// outros mapeamentos
<filter-mapping>
		<filter-name>vraptor</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>REQUEST</dispatcher>
	</filter-mapping>
Guevara

Pois é, têm essa tb, tá usando desenvolvimento da versão 2 do VRaptor. :slight_smile:

S

Obrigado Guevara e Lucas, acho que é nisso que estou me confundindo, relamente estava estudando com outra apostila. Agora vou passar pra essa que o Lucas mencionou.

Valeu.

Criado 9 de agosto de 2010
Ultima resposta 10 de ago. de 2010
Respostas 6
Participantes 3