我有一个简单的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
我认为我没有进行任何配置,也许有人可以帮助解决这些问题