Reputation: 37
Getting this error while returning Html page in response from controller
org.springframework.web.servlet.PageNotFound noHandlerFound WARNING: No mapping found for HTTP request with URI [/SpringMVCDemo/WEB-INF/response.html] in DispatcherServlet with name 'dispatcher'
where to put response.html?
Here is my code
Controller class
-----------------
@Controller
public class LoginController {
@RequestMapping("/login")
public ModelAndView login(@RequestParam(name = "username") String username,
@RequestParam(name = "password") String password){
String str = "Welcome " + username;
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("response");
modelAndView.addObject("response",str);
return modelAndView;
}
}
Config file
------------
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.skuba.*")
public class MvcConfig extends WebMvcConfigurerAdapter{
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/");
viewResolver.setSuffix(".html");
return viewResolver;
}
}
This is dispatcher controller
------------------------------
public class FrontController extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] {MvcConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[0];
}
@Override
protected String[] getServletMappings() {
return new String[] {"/"};
}
}
Upvotes: 0
Views: 132
Reputation: 464
Assuming the view files are in the right directory(i.e., "/WEB-INF/") try adding the following to the MvcConfig
class.
// Use the DefaultServletHandlerConfigurer
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
Upvotes: 1