recurso recebendo não encontrada quando tentar retornar página html do controlador

praia:

Eu sou incapaz de prestar página html em springboot. Aqui está o código ...

@RestController
    public class ProductController {
        @Autowired
        ProductService service;

        @InitBinder
        public void initBinder(WebDataBinder webDataBinder) {
            SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
            dateFormat.setLenient(false);
            webDataBinder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
        }

        @RequestMapping(value = { "/", "/home" })
        public ModelAndView home() {
            System.out.println("sdasasas");
            return new ModelAndView("home");
        }

mas sempre que eu bati http: // localhost: 8080 / home mostra seguinte registros -8080-exec-4] oswsvContentNegotiatingViewResolver: Selected 'text / html' dadas [text / html, application / xhtml + xml, image / WebP, image / APNG, / assinado de permuta de aplicação; v = b3, aplicação / XML; q = 0,9, /; Q = 0,8] 2019/07/31 16: 05: 25,354 DEBUG 14850 --- [nio-8080-exec-4] oswservlet.view.InternalResourceView: View nome 'casa', o modelo {} 2019/07/31 16 : 05: 25,354 14,850 DEPURAR --- [nio-8080-exec-4] oswservlet.view.InternalResourceView: Encaminhamento para [/WEB-INF/html/home.html] 2019/07/31 16: 05: 25,354 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: expedição "forward" para obter "/WEB-INF/html/home.html", parameters = {} 2019/07/31 16:05: 25,356 DEBUG 14850 --- [nio-8080-exec-4] oswshandler.SimpleUrlHandlerMapping: mapeado para ResourceHttpRequestHandler [ "classpath: / META-INF / recursos /", "classpath: / recursos /", "classpath: / static /" "classpath: / public /", "/"] 2019/07/31 16: 05: 25,356 WARN 14850 --- [nio-8080-exec-4] oswsrResourceHttpRequestHandler:Caminho com "WEB-INF" ou "META-INF": [WEB-INF / html / home.html] 2019/07/31 16: 05: 25,356 14,850 DEPURAR --- [nio-8080-exec-4] oswsrResourceHttpRequestHandler : recurso não encontrado 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: Saindo de expedição "AVANÇO", o estado 404 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] ojsOpenEntityManagerInViewInterceptor: Fechando APP EntityManager em OpenEntityManagerInViewInterceptor 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb. servlet.DispatcherServlet: Completado 404 NOT_FOUND 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: "eRRO" expedição para obter "/ erro", parâmetros = {}[WEB-INF / html / home.html] 2019/07/31 16: 05: 25,356 14,850 DEPURAR --- [nio-8080-exec-4] oswsrResourceHttpRequestHandler: recurso não encontrado 2019/07/31 16: 05: 25,357 DEPURAR 14,850 --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: Saindo de expedição "AVANÇO", o estado 404 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec -4] ojsOpenEntityManagerInViewInterceptor: Fechando APP EntityManager em OpenEntityManagerInViewInterceptor 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: Completado 404 NOT_FOUND 2019/07/31 16: 05: 25,357 DEBUG 14850 --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: "eRROR" despacho para GET "/ erro", parameters = {}[WEB-INF / html / home.html] 2019/07/31 16: 05: 25,356 14,850 DEPURAR --- [nio-8080-exec-4] oswsrResourceHttpRequestHandler: recurso não encontrado 2019/07/31 16: 05: 25,357 DEPURAR 14,850 --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: Saindo de expedição "AVANÇO", o estado 404 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec -4] ojsOpenEntityManagerInViewInterceptor: Fechando APP EntityManager em OpenEntityManagerInViewInterceptor 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: Completado 404 NOT_FOUND 2019/07/31 16: 05: 25,357 DEBUG 14850 --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: "eRROR" despacho para GET "/ erro", parameters = {}Recurso não encontrado 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: Saindo de expedição "AVANÇO", o estado 404 2019/07/31 16:05 : 25,357 14,850 DEPURAR --- [nio-8080-exec-4] ojsOpenEntityManagerInViewInterceptor: Fechando APP EntityManager em OpenEntityManagerInViewInterceptor 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet .DispatcherServlet: Completado 404 NOT_FOUND 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: expedição "eRRO" para obter "/ erro", parâmetros = { }Recurso não encontrado 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: Saindo de expedição "AVANÇO", o estado 404 2019/07/31 16:05 : 25,357 14,850 DEPURAR --- [nio-8080-exec-4] ojsOpenEntityManagerInViewInterceptor: Fechando APP EntityManager em OpenEntityManagerInViewInterceptor 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet .DispatcherServlet: Completado 404 NOT_FOUND 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: expedição "eRRO" para obter "/ erro", parâmetros = { }Fechando APP EntityManager em OpenEntityManagerInViewInterceptor 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: Completado 404 NOT_FOUND 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: "eRROR" despacho para GET "/ erro", parameters = {}Fechando APP EntityManager em OpenEntityManagerInViewInterceptor 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: Completado 404 NOT_FOUND 2019/07/31 16: 05: 25,357 14,850 DEPURAR --- [nio-8080-exec-4] osweb.servlet.DispatcherServlet: "eRROR" despacho para GET "/ erro", parameters = {}

Patel Romil:

Evite @RestControllerpara aplicação baseada MVC que tem de voltar a vista. Ele é usado principalmente para APIs REST. Enquanto @Controllerpode retornar uma vista

Mais sobre@RestController :

digite descrição da imagem aqui

  • Esta anotação é uma versão especializada do @Controllerque acrescenta @Controllere @ResponseBodyanotação automaticamente. por isso não tem que adicionar @ResponseBodyaos nossos métodos de mapeamento. Isso significa que @ResponseBodyé o padrão ativo.
  • Se você usar @RestControllervocê não pode retornar uma visão (Ao usar Viewresolverna Primavera / Primavera-Boot)
  • @RestControllertambém converte a resposta para JSON/XML automaticallycomo @ResponseBodyfaz com que os objetos retornados para algo que poderia ser no corpo,e.g. JSON or XML

Controlador vs RestController


@RestController
    public class ProductController {
        @Autowired
        ProductService service;

        @RequestMapping(value = { "/", "/home" })
        public @ResponseBody ModelAndView home() {
            System.out.println("sdasasas");
            ModelAndView modelAndView = new ModelAndView();
            modelAndView.setViewName("home");
            return modelAndView;
        }
}

Estrutura do projeto digite descrição da imagem aqui

Não há necessidade de especificar spring.mvc.view.prefix=/WEB-INF/html/ spring.mvc.view.suffix=.html

Além disso, certifique-se que você não tem qualquer classe adicional com @EnableWebMvcanotação. Isso pode atrapalhar a configuração automática de primavera-boot.

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=234128&siteId=1
Recomendado
Clasificación