3
respostas

Spring config não funciona - Video 3

Estou frustrado com essa configuração do spring que não funciona. Estou no básico da aula ainda, criei o HomeController, ServletSpringMVC e AppWebConfiguration. O tomcat eu joguei fora, não funciona na versão 6, 7, 8 e já tentei várias respostas aqui, seja alterar pelo o basePackages ou basePackageClasses.

HomeController

package br.com.casadocodigo.loja.controller;

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

@Controller
public class HomeController {

    @RequestMapping("/")
    public void index(){
        System.out.println("Entrando na home da casa do codigo");
    }

}

ServletSpringMVC

package br.com.casadocodigo.loja.conf;

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

public class ServletSpringMVC extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return null;
    }

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

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

}

AppWebConfiguration

package br.com.casadocodigo.loja.conf;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;

@EnableWebMvc
@ComponentScan(basePackages = {"br.com.casadocodigo.loja.controller"})
public class AppWebConfiguration {

}

O código compila corretamente, e deixando o tomcat de lado, usando o glassfish, consigo fazer rodar o "Oi", mas não entra nos métodos.

Alguém passou por esse problema?

3 respostas

Oi arfmoraes, vamos fazer umas tentativas, altera o Controller para que após o system.out.... ele retorne a string home;

return "home";

e implemente esse método no seu AppWebConfiguration

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

         return resolver;
     }

Essas alterações são passadas nos vídeos 4 e 5, talvez elas te ajudem.

Opa, obrigado pela resposta. Boa idéia de andar com o vídeo, porque do jeito que está não tem futuro rs.

Eu fiz a configuração do build via maven e funcionou uma parte da aplicação. Voltei para o tomcat para verificar e também está iniciando, mas não encontra mais a home (index).

Tentei o que tu passou, alterando home para index, mas ainda assim não deu boa. Vou dar sequencia no curso e ver se tem alguma alteração relevante pra frente.

Valeu!

Eu indico você ver e ir tentando de acordo com as compilações dele, para dar os mesmos erros e ir corrigindo junto, mas tem que ir com calma pois pode passar alguma coisa.

Se ainda não conseguir resolver o problema, eu recomendo que você disponibilize o código no github e passe o link, assim eu ou qualquer outra pessoa no forum pode ajudar vendo o projeto por completo.