Spring mvc spring mvc视图解析配置无法显示jsp页面

Spring mvc spring mvc视图解析配置无法显示jsp页面,spring-mvc,Spring Mvc,我是spring mvc的新手。 运行此url时: 我听到“你好”。我希望执行hello.jsp页面并获得输出:helloworldtest123 DispatcherInitializer.java: package com.oreilly.mvc; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitia

我是spring mvc的新手。 运行此url时: 我听到“你好”。我希望执行hello.jsp页面并获得输出:helloworldtest123

DispatcherInitializer.java:

                package com.oreilly.mvc;

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

            public class DispatcherInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

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

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

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

            }
WebConfig.java:

                package com.oreilly.mvc;

            import org.springframework.context.annotation.ComponentScan;

            @ComponentScan("com.oreilly.mvc.services")
            public class RootConfig {

            }
                package com.oreilly.mvc;

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

            @EnableWebMvc
            @ComponentScan("com.oreilly.mvc.controllers")
            public class WebConfig {

                @Bean
                public InternalResourceViewResolver viewResolver() {

                    InternalResourceViewResolver viewResolverBean = new InternalResourceViewResolver();
                    viewResolverBean.setPrefix("/WEB-INF/views/");
                    viewResolverBean.setSuffix(".jsp");
                    return viewResolverBean;
                }
            }
MainController.java:

            package com.oreilly.mvc.controllers;

        import org.springframework.beans.factory.annotation.Autowired;
        import org.springframework.stereotype.Controller;
        import org.springframework.ui.Model;
        import org.springframework.web.bind.annotation.RequestMapping;
        import org.springframework.web.bind.annotation.ResponseBody;

        import com.oreilly.mvc.services.GreetingService;

        @Controller
        @RequestMapping("/main")
        public class MainController {

            @Autowired
            public GreetingService greetingService;

            @ResponseBody
            @RequestMapping("/")
            public String message(Model model) {
                model.addAttribute("message",this.greetingService.greet());
                return "hello";
            }
        }
hello.jsp:

                <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
                pageEncoding="ISO-8859-1"%>
            <!DOCTYPE html>
            <html>
            <head>
            <meta charset="ISO-8859-1">
            <title>Hello World Application</title>
            </head>
            <body>
            <h1>${message} TEST123</h1>
            </body>
            </html>

Hello World应用程序
${message}TEST123
jsp页面hello.jsp的位置:

                <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
                pageEncoding="ISO-8859-1"%>
            <!DOCTYPE html>
            <html>
            <head>
            <meta charset="ISO-8859-1">
            <title>Hello World Application</title>
            </head>
            <body>
            <h1>${message} TEST123</h1>
            </body>
            </html>

浏览器输出:


删除
@ResponseBody
注释

@ResponseBody
是一个Spring注释,它将方法返回值绑定到web响应主体。它不会被解释为视图名称。它使用HTTP消息转换器根据请求HTTP头中的内容类型将返回值转换为HTTP响应体