Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Erro 404 Spring

Boa noite pessoal, estou recebendo um erro de 404 no Spring percebi nos forums que esse erro é recorrente, não consegui encontrar solução aqui, já refiz os passos do professor 5 vezes, e não da certo, eu estou precisando muito disso.

7 respostas

Olá,

No log dá algum erro? O erro 404 é quando o recurso não foi encontrado.

Té mais,

Bom dia Fagner, no log não aparece nenhum erro, isso é que me deixa sem entender, o que eu percebo é que não loga a inicialização do dispacher.

Essa é minha saida no console, independente de eu acessar ou não o console não loga mais nada além disso.

jun 29, 2017 11:50:10 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:Alakai' did not find a matching property.
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server version:        Apache Tomcat/8.5.16
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server built:          Jun 21 2017 17:01:09 UTC
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server number:         8.5.16.0
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: OS Name:               Linux
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: OS Version:            4.4.0-81-generic
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Architecture:          amd64
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Java Home:             /usr/lib/jvm/java-8-oracle/jre
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: JVM Version:           1.8.0_111-b14
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: JVM Vendor:            Oracle Corporation
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: CATALINA_BASE:         /home/ramires/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: CATALINA_HOME:         /home/ramires/servers/apache-tomcat-8.5.16
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dcatalina.base=/home/ramires/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dcatalina.home=/home/ramires/servers/apache-tomcat-8.5.16
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dwtp.deploy=/home/ramires/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Djava.endorsed.dirs=/home/ramires/servers/apache-tomcat-8.5.16/endorsed
jun 29, 2017 11:50:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dfile.encoding=UTF-8
jun 29, 2017 11:50:10 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: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
jun 29, 2017 11:50:11 AM org.apache.coyote.AbstractProtocol init
INFORMAÇÕES: Initializing ProtocolHandler ["http-nio-8080"]
jun 29, 2017 11:50:11 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFORMAÇÕES: Using a shared selector for servlet write/read
jun 29, 2017 11:50:11 AM org.apache.coyote.AbstractProtocol init
INFORMAÇÕES: Initializing ProtocolHandler ["ajp-nio-8009"]
jun 29, 2017 11:50:11 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFORMAÇÕES: Using a shared selector for servlet write/read
jun 29, 2017 11:50:11 AM org.apache.catalina.startup.Catalina load
INFORMAÇÕES: Initialization processed in 1261 ms
jun 29, 2017 11:50:11 AM org.apache.catalina.core.StandardService startInternal
INFORMAÇÕES: Starting service [Catalina]
jun 29, 2017 11:50:11 AM org.apache.catalina.core.StandardEngine startInternal
INFORMAÇÕES: Starting Servlet Engine: Apache Tomcat/8.5.16
jun 29, 2017 11:50:12 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.
jun 29, 2017 11:50:12 AM org.apache.catalina.core.ApplicationContext log
INFORMAÇÕES: No Spring WebApplicationInitializer types detected on classpath
jun 29, 2017 11:50:12 AM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler ["http-nio-8080"]
jun 29, 2017 11:50:12 AM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler ["ajp-nio-8009"]
jun 29, 2017 11:50:12 AM org.apache.catalina.startup.Catalina start
INFORMAÇÕES: Server startup in 1747 ms

Minhas classes

package br.com.alakai.controllres;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HomeController {

    @RequestMapping("/")
    public String index(){
        System.out.println("home");
        return "home";
    }

}



------------------------------------------------------------------------
package br.com.alakai.conf;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class ServeletSpringMVC extends AbstractAnnotationConfigDispatcherServletInitializer{

    @Override
    protected Class<?>[] getRootConfigClasses() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[]{AppWebCongifuration.class};
    }

    @Override
    protected String[] getServletMappings() {
        return new String[] {"/"};
    }

}


-----------------------------------------------------------------------

package br.com.alakai.conf;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

import br.com.alakai.controllres.HomeController;

@EnableWebMvc
@ComponentScan(basePackageClasses={HomeController.class})
@Configuration
public class AppWebCongifuration {

    @Bean
    public InternalResourceViewResolver internalResourceViewResolver(){
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }
}

eu estou precisando muito resolver isso, por favor me ajudem.

Oi,

Dê uma olhada aqui:

http://websystique.com/springmvc/spring-4-mvc-helloworld-tutorial-annotation-javaconfig-full-example/

Té mais,

Oi Ramires, geralmente esse problema está linkado com alguma configuração que não funcionou no seu eclipse. Um chute super simples é verificar se a opção de build automático está selecionada no seu projeto.

Outra coisa, remove o projeto do seu eclipse, remove o tomcat. Adiciona de novo o tomcat, duplo clique para para entrar nas configurações do servidor, seleciona a opção de usar a instalação real do tomcat e aí adiciona o projeto.

solução!

Alberto, eu fiz o que você propôs, e continuou do mesmo jeito, dei uma olhada no exemplo que o Fagner mandou, a única coisa diferente que vi foi que no exemplo ele usa o

basePackages no lugar de basePackageClasses

então eu mudei e funcionou, mas eu achei estranho, então desfiz e rodei novamente e agora tá funcionando.

Eu não gosto quando essas mágicas acontecem, mas foi isso que aconteceu. Já tive dificuldades parecidas quando vou utilizar o primefaces, agradeço muito a atenção de vocês.