Spring MVC Controller返回错误的查看路径

时间:2019-10-22 15:02:17

标签: spring-mvc

我有一个简单的java spring-mvc应用程序,它具有一个控制器和两个jsp视图。 这些应用程序具有java spring配置。

春季配置:

@EnableWebMvc
@Configuration
@ComponentScan(basePackages = "com.springmvc.validation")
public class SpringWebConfig extends WebMvcConfigurerAdapter {

        public void addResourceHandler(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/resources**").addResourceLocations("/resorces/");
        }

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

        @Bean
        public ViewResolver viewResolver(ContentNegotiationManager manager) {
            InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
            viewResolver.setViewClass(JstlView.class);
            viewResolver.setPrefix("WEB-INF/pages/");
            viewResolver.setSuffix(".jsp");
            return viewResolver;
        }

        @Bean
        @Description("Spring message resolver")
        public MessageSource messageSource() {
            final ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
            messageSource.setBasename("messages");
            return messageSource;
        }
    }

public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

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

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

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

Controller:
@Controller
@RequestMapping("/user")
public class SignUpController {

    @PostMapping(value = "/signup")
    public String addUser(@Valid User user, BindingResult result) {
        if (result.hasErrors()) {
            return "SignUpForm";
        } else {
            return "UserInfo";
        }
    }

    @GetMapping()
    public String displayCustomerForm(ModelMap model) {
        model.addAttribute("user", new User());
        return "SignUpForm";

    }
}

当我启动服务器并调用{host} /用户控制器返回正确的路径到jsp视图时,但是当我调用{host} / user / signup控制器返回正确的路径到jsp视图时:

Problem accessing /user/WEB-INF/pages/SignUpForm.jsp. Reason:
/user/WEB-INF/pages/SignUpForm.jsp

我认为我没有进行任何配置,也许有人可以帮助解决这些问题

0 个答案:

没有答案