Spring não encontra as views

Bom dia.
Estou usando o spring MVC numa aplicação que estou fazendo, o que acontece é que a requisição passa no controller, executa a lógica e o JSP não aparece se esta estiver dentro de uma pasta. Estranho, não? A estrutura da pasta webapp tá assim:

- webapp
   - WEB-INF
      - views
         - jogador
            - form.jsp
         - pergunta
            - form.jsp
         - index.jsp

O controller só encontra a index.jsp, já tentei mudar os nomes das pastas dentro de views e dos JSPs dentro das pastas, nada adiantou, porém se eu tirar um dos arquivos JSP de dentro de uma das pastas e colocar diretamente dentro de views, o controller encontra, o que fazer agora?
Minha classe de configuração do Spring tá assim:

@EnableWebMvc
@ComponentScan(basePackageClasses={HomeController.class, Player.class, PlayerDAO.class})
public class AppWebConfiguration {
	
	@Bean
	public InternalResourceViewResolver internalResourceViewResolver(){
		InternalResourceViewResolver resolver = new InternalResourceViewResolver();
		resolver.setPrefix("WEB-INF/views/");
		resolver.setSuffix(".jsp");
		return resolver;
	}
}

Classe QuestionController:

@Controller
@RequestMapping("question")
public class QuestionController {
	
	@Autowired
	private QuestionDAO questionDAO;
	
	@RequestMapping(value="/new", method=RequestMethod.GET)
	public ModelAndView questionForm(){
		return new ModelAndView("pergunta/form");
	}
	
	@RequestMapping(value="/new", method=RequestMethod.POST)
	public ModelAndView recordQuestion(Question question){
		questionDAO.record(question);
		return new ModelAndView("redirect:index");
	}
}

Classe PlayerController:

@Controller
@RequestMapping("player")
public class PlayerController {

	@Autowired
	private PlayerDAO playerDAO;
	
	@RequestMapping(value="/new", method=RequestMethod.GET)
	public ModelAndView form(){
		return new ModelAndView("jogador/form");
	}
	
	@RequestMapping(value="/new", method=RequestMethod.POST)
	public ModelAndView record(Player player){
		playerDAO.record(player);
		return new ModelAndView("redirect:index");
	}
}

Quando procuro uma das páginas, não recebo nenhum erro no console, porém no navegador:

404
type: Status report
message: /quiz-web/question/WEB-INF/views/pergunta/form.jsp
description: The requested resource is not available.

Alguém sabe a solução pra esse problema?

Boa Tarde.

Acho que prefixo tem de começar com “/”, no seu caso seria “/WEB-INF/views/”.
Olha o javadoc: http://docs.spring.io/spring-framework/docs/2.5.6/api/org/springframework/web/servlet/view/UrlBasedViewResolver.html#setViewClass(java.lang.Class).

Att.

1 curtida

Obrigada Samuel! Era o “/” antes do prefixo mesmo, problema entre o computador e a cadeira, sabe kkkk. Muito obrigada!

1 curtida