@RequestMapping(value="/",method=RequestMethod.GET)publicModelAndViewhome(ModelAndViewmodelAndView){modelAndView=newModelAndView("/index");System.out.println("entrou no /home");returnmodelAndView;}
@RequestMapping(method=RequestMethod.GET)publicModelAndViewhome(ModelAndViewmodelAndView){modelAndView=newModelAndView("/index");System.out.println("entrou no /home");returnmodelAndView;}
Não sei bem o quais configurações adicionais eu preciso postar para conseguir descobrir onde eu errei. Eu gerei no site https://start.spring.io/ , estou usando spring web e security(tudo liberado por enquanto)
Abre normalmente (se eu remover a configuração sem value).
Vou procurar mais sobre esse problema, se eu encontrar a solução eu posto
rpsouza441
Continuo sem encontrar a solução.
Únicos avanço que eu posso dizer que fiz é que: quando eu coloco o requestmapping para pegar “/” o spring não chama o metodo, se eu troco o mapping dele o metodo é chamado.
Será algum conflito com tomcat? Alguem já teve esse problema?
packagebr.com.lojapet.controle;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;importorg.springframework.web.servlet.ModelAndView;@ControllerpublicclassHomeController{@RequestMapping(value="/index",method=RequestMethod.GET)publicModelAndViewindex(ModelAndViewmodelAndView){modelAndView=newModelAndView("index");System.out.println("entrou no /index");returnmodelAndView;}@RequestMapping(value="/",method=RequestMethod.GET)publicModelAndViewhome(ModelAndViewmodelAndView){modelAndView=newModelAndView("index");System.out.println("entrou no /");returnmodelAndView;}}
R
rnsiqueira
Boa tarde!
Você já tentou apenas o: @RequestMapping("/")
???
rpsouza441
Sim já tentei, Tentei novamente agora por via das duvidas. E tentei @RequestMapping(value= “/”)
no controller e tirei o value do metodo home. Continua a mesma coisa, O metodo “/index” é chamado e o “/” não é chamado (digo isso por causa do sysout)
F
Fabioreis1415
tira essa “/” do modelAndView
modelAndView = new ModelAndView(“index”);
certifique-se que tenha um html na sua pasta de templates com o nome index. isso deve funcionar, para o caso do bloquei do css, recomendo desativar o spring security(tira a dependência dele no POM.xml) e ve se ainda acontece se não, procure na internet de como liberar os arquivos estáticos numa classe de configuração com spring security.
rpsouza441
Eu não entendi, no modelAndView não tem “/”.
O metodo “home” (que chama “http://localhost:8080/”) e o “index” (que chama “http://localhost:8080/index”) abrem o mesmo arquivo. O problema de que não estava abrindo o css era pq eu tinha colocado value="" (vazio) e então qualquer URL (qualquer coisa mesmo) abri a home, só que sem css.
Eu tinha tentado tirar o security, mas tirei novamente e fiz mais um teste. Mesmo sem security o metodo home (requestmapping “/”) não é chamado, enquanto o medoto index(requestMapping “/index”) é chamado.
Edit: Não sei se é importante, mas vale salientar que eu estou usando spring boot, então ele que levanta o tomcat.
R
rnsiqueira
Não vale apena você retornar uma String nos métodos e apontar seu arquivos html no return?
Essa é a vantagem do Spring MVC ou SpringBoot, não? e no metodo home vc pode usar o redirect: para método index, também, bom ai fica ao seu critério.
F
Solucao aceita
Fabioreis1415
Olha acabei de olhar um projeto que eu tenho com spring boot
os métodos são mapeados assim
eu este HTML chamado listAgenda deve esta na pasta src/main/resources/templates
não tem segredo, caso não funciona pode ser que o maven deu algum problema de build ou alguma outra coisa estranha, faça outro projeto na sua IDE e teste o mapeamento.
rpsouza441
Fiz o que vc falou, Fabioreis1415.
Criei um projeto novo. Abriu o home. Fui colocando pedaço por pedaço da configuração sempre testando. Até copiar tudo que eu tinha feito até agora. Está funcionando perfeitamente.
Muitíssimo obrigado a todos pela ajuda.
Alguém já teve um problema assim? Queria saber como saber evitar ou perceber que aconteceu
F
Fabioreis14151 like
Tenso, problema de ambiente é comum no java, so vendo o log mesmo para saber realmente oque foi.
Addah_Regina
Da forma como você fez, funcionou pra mim, e eu já tinha tentado de várias formas e nada.
G
gustavocnp951 like
Boa tarde, amigos.
Sei que o tópico já foi resolvido mas eu passei por esse problema agora e queria compartilhar qual a solução correta.
Quando coloquei o ModelAndView, há duas importações possíveis:
Importei o portlet sem querer e a sintaxe do código ficou perfeita, nem percebi o erro. Não funcionou. O correto é importar o servlet. Arrumei a importação e funcionou perfeitamente.