Erro 404 com VRaptor

6 respostas Resolvido
ewertonvd

Bom dia!
Criei a classe MODELO, a DAO, e o CONTOLADOR, e adicionei o .jsp na pasta nomeProjeto\usuario\formulario.jsp

Quando eu abro o http://localhost:8080/nomeProjeto carrega o index.jsp até ai blz

Mas quando eu tento abrir qq .jsp definido no controlador gera erro 404

Por exemplo =>http://localhost:8080/nomeProjeto/usuario/formulario

=> src/main/webapp/WEB_IN/jsp/usuario/formulario.jsp

Obrigado!

6 Respostas

ewertonvd

O VRaptor desconsidera os métodos que eu coloquei no controlador e em todos os métodos que eu chamo ele carrega o index.jsp, com a nsg Hello World!
Acredito que esteja faltando alguma configuração…
Mas não estou conseguindo encontrar…

Alguém pode me ajudar ??

Obrigado !!

rodrigo.turini

Oi @ewertonvd

Pode nos mostrar como está o código do seu controller?

E quando você sobe a aplicação, qual o log no console?

ewertonvd

Quando eu subo o TomCat gera erro no console, conforme abaixo:

out 30, 2016 11:35:55 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
ADVERTÊNCIA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ebfvaz' did not find a matching property.
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server version:        Apache Tomcat/8.5.6
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server built:          Oct 6 2016 20:15:31 UTC
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server number:         8.5.6.0
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: OS Name:               Windows 7
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: OS Version:            6.1
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Architecture:          x86
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Java Home:             C:\Program Files\Java\jre1.8.0_112
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: JVM Version:           1.8.0_112-b15
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: JVM Vendor:            Oracle Corporation
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: CATALINA_BASE:         C:\Projetos_Java\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: CATALINA_HOME:         C:\Program Files\Eclipse\apache-tomcat-8.5.6
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dcatalina.base=C:\Projetos_Java\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dcatalina.home=C:\Program Files\Eclipse\apache-tomcat-8.5.6
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dwtp.deploy=C:\Projetos_Java\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Eclipse\apache-tomcat-8.5.6\endorsed
out 30, 2016 11:35:55 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dfile.encoding=Cp1252
out 30, 2016 11:35:55 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFORMAÇÕES: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.8.0_112\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_112/bin/client;C:/Program Files/Java/jre1.8.0_112/bin;C:/Program Files/Java/jre1.8.0_112/lib/i386;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;C:\Program Files\Skype\Phone\;C:\Program Files\Eclipse\apache-maven-3.3.9\bin;C:\Program Files\Eclipse;;.
out 30, 2016 11:35:55 AM org.apache.coyote.AbstractProtocol init
INFORMAÇÕES: Initializing ProtocolHandler ["http-nio-8080"]
out 30, 2016 11:35:56 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFORMAÇÕES: Using a shared selector for servlet write/read
out 30, 2016 11:35:56 AM org.apache.coyote.AbstractProtocol init
INFORMAÇÕES: Initializing ProtocolHandler ["ajp-nio-8009"]
out 30, 2016 11:35:56 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFORMAÇÕES: Using a shared selector for servlet write/read
out 30, 2016 11:35:56 AM org.apache.catalina.startup.Catalina load
INFORMAÇÕES: Initialization processed in 3501 ms
out 30, 2016 11:35:56 AM org.apache.catalina.core.StandardService startInternal
INFORMAÇÕES: Starting service Catalina
out 30, 2016 11:35:56 AM org.apache.catalina.core.StandardEngine startInternal
INFORMAÇÕES: Starting Servlet Engine: Apache Tomcat/8.5.6
out 30, 2016 11:36:01 AM org.apache.jasper.servlet.TldScanner scanJars
INFORMAÇÕES: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
11:36:01,520  INFO [Version             ] WELD-000900: 2.1.2 (Final)
11:36:02,266  INFO [Bootstrap           ] WELD-000101: Transactional services not available. Injection of @Inject UserTransaction not available. Transactional observers will be invoked synchronously.
11:36:03,108  INFO [Version             ] HV000001: Hibernate Validator 5.3.0.Final
11:36:14,668  INFO [Tomcat7Container    ] Tomcat 7+ detected, CDI injection will be available in Servlets and Filters. Injection into Listeners is not supported
out 30, 2016 11:36:16 AM org.apache.catalina.core.StandardContext listenerStart
GRAVE: Exception sending context initialized event to listener instance of class org.jboss.weld.environment.servlet.Listener
org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type EntityManager with qualifiers @Default
  at injection point [BackedAnnotatedParameter] Parameter 1 of [BackedAnnotatedConstructor] @Inject public br.com.ebf.dao.UsuarioDAO(EntityManager)
  at br.com.ebf.dao.UsuarioDAO.<init>(UsuarioDAO.java:0)

	at org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:368)
	at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:289)
	at org.jboss.weld.bootstrap.Validator.validateGeneralBean(Validator.java:135)
	at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:166)
	at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:514)
	at org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:68)
	at org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:66)
	at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60)
	at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

out 30, 2016 11:36:16 AM org.apache.catalina.core.StandardContext startInternal
GRAVE: One or more listeners failed to start. Full details will be found in the appropriate container log file
out 30, 2016 11:36:16 AM org.apache.catalina.core.StandardContext startInternal
GRAVE: Context [/ebfvaz] startup failed due to previous errors
out 30, 2016 11:36:16 AM org.apache.catalina.core.StandardContext listenerStop
GRAVE: Exception sending context destroyed event to listener instance of class org.jboss.weld.environment.servlet.Listener
java.lang.NullPointerException
	at org.jboss.weld.servlet.WeldInitialListener.contextDestroyed(WeldInitialListener.java:120)
	at org.jboss.weld.servlet.api.helpers.ForwardingServletListener.contextDestroyed(ForwardingServletListener.java:30)
	at org.jboss.weld.environment.servlet.Listener.contextDestroyed(Listener.java:85)
	at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4774)
	at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5411)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:226)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1403)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

out 30, 2016 11:36:16 AM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler [http-nio-8080]
out 30, 2016 11:36:16 AM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler [ajp-nio-8009]
out 30, 2016 11:36:16 AM org.apache.catalina.startup.Catalina start
INFORMAÇÕES: Server startup in 20624 ms

O UsuárioController está assim:

package br.com.ebf.controller;

import java.util.List;

import javax.inject.Inject;
import javax.persistence.EntityManager;

import br.com.caelum.vraptor.Controller;
import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Result;
import br.com.ebf.dao.UsuarioDAO;
import br.com.ebf.model.Usuario;
import br.com.ebf.producer.JPAUtil;

@Controller
public class UsuarioController {
	private final Result result;
	private final UsuarioDAO dao;

	@Inject
	public UsuarioController(Result result, UsuarioDAO dao) {
		this.result = result;
		this.dao = dao;

	}

	@Deprecated
	public UsuarioController() {
		this(null, null);
	}

	@Path("/formulario")
	public void formulario() {
	}

	@Get
	public List<Usuario> lista() {
		return dao.lista();
	}

	@Post
	public void adiciona(Usuario usuario) {
		EntityManager em = JPAUtil.criaEntityManager();
		em.getTransaction().begin();
		UsuarioDAO dao = new UsuarioDAO(em);
		dao.adiciona(usuario);
		em.getTransaction().commit();
		result.include("mensagem", "Novo usuário adicionado com sucesso!");
	}
}

Eu baixei o “vraptor-blank-project-distribution.zip”, alterei o artifactId e groupid
Adicionei as dependências e dei um Update Project pelo Maven.
E comecei a implementar minhas classes…

Caso precise de mais alguma informação pra me ajudar, por gentileza me informe.

Desde já agradeço muito a ajuda!!!

ewertonvd

Criei o .jsp em => \src\main\webapp\WEB-INF\jsp\usuario

ewertonvd

Exclui o Tomcat, limpei a configuração de servidores do Eclipse, adicionei novamente o Tomcat e o erro no log para subir o Tomcat parou…
Mas ainda está gerando erro 404 ao tentar abrir o projeto…
=> http://localhost/nomeDoProjeto
ou
=> http://localhost/nomeDoProjeto/nomeDoMetodo

em ambas gera erro 404

ewertonvd
Solucao aceita

Resolvido… Obrigado!!

Criado 27 de outubro de 2016
Ultima resposta 31 de out. de 2016
Respostas 6
Participantes 2