0

我正在处理一个示例 spring REST 调用。我向控制器发送了一个 URL,控制器应该返回一个页面。

我认为它不会到达控制器:

我的网络配置:

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = {"com.xxxx.mvc.web"})
public class WebMVCConfiguration extends WebMvcConfigurerAdapter
{

    private static final Logger logger = LoggerFactory.getLogger(WebMVCConfiguration.class);

    @Bean
    public ViewResolver resolver()
    {
        UrlBasedViewResolver url = new UrlBasedViewResolver();
        url.setPrefix("views/");
        url.setViewClass(JstlView.class);
        url.setSuffix(".jsp");
        return url;
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry)
    {
        logger.debug("setting up resource handlers");
        registry.addResourceHandler("/resources/").addResourceLocations("/resources/**");
    }

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer)
    {
        logger.debug("configureDefaultServletHandling");
        configurer.enable();
    }

    @Bean
    public SimpleMappingExceptionResolver simpleMappingExceptionResolver()
    {
        SimpleMappingExceptionResolver b = new SimpleMappingExceptionResolver();

        Properties mappings = new Properties();
        mappings.put("org.springframework.web.servlet.PageNotFound", "p404");
        mappings.put("org.springframework.dao.DataAccessException", "dataAccessFailure");
        mappings.put("org.springframework.transaction.TransactionException", "dataAccessFailure");
        b.setExceptionMappings(mappings);
        return b;
    }
}

我的控制器:

@Controller
@RequestMapping("/ask")
class IndexController
{

    private static final Logger logger = LoggerFactory.getLogger(IndexController.class);


    @RequestMapping(value = "/{name}", method = RequestMethod.GET)
    public String getName(@PathVariable String name, ModelMap model)
    {

        logger.debug("I am in the controller and got user name: " + name);

        /*

            Taking the REST call param 'name' and setting it to the user
            attribute for the output screen

         */

        model.addAttribute("user", name);

        return "helloworld";

    }

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String getDisplayDefault(ModelMap model) {

        /*

            you did not enter a name so the default is going to run

         */


        model.addAttribute("user", "mouse");
        return "list";

    }
}

这是最基本的,我不明白为什么会出现以下错误:

HTTP 状态 404 - /springmvc-rest-test/ask/views/helloworld.jsp

message /springmvc-rest-test/ask/views/helloworld.jsp

description The requested resource is not available.
4

0 回答 0