I declared UrlBasedViewResolver method in RestAppConfig
to render jsp page.
@Bean
public UrlBasedViewResolver urlBasedViewResolver(){
UrlBasedViewResolver res = new InternalResourceViewResolver(); //new UrlBasedViewResolver();//
res.setOrder(10);
res.setViewClass(JstlView.class);
res.setPrefix("/views/templates/");
res.setSuffix(".jsp");
return res;
}
and delclared ModelAndView method in controller BaseController
@Configuration
@EnableWebMvc
@ComponentScan(basePackages={"kr.co.cdefi.base.restapp.controller"}
, useDefaultFilters=false
, includeFilters={@Filter(Controller.class)
, @Filter(ControllerAdvice.class)})
public class RestAppConfig extends WebMvcConfigurerAdapter{
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer
.useJaf(true)
.favorPathExtension(true)
.favorParameter(false)
.ignoreAcceptHeader(false)
.defaultContentType(MediaType.APPLICATION_JSON)
.mediaType("json", MediaType.APPLICATION_JSON)
.mediaType("xml", MediaType.APPLICATION_XML);
};
@Bean
public UrlBasedViewResolver urlBasedViewResolver(){
UrlBasedViewResolver res = new InternalResourceViewResolver(); //new UrlBasedViewResolver();//
res.setOrder(10);
res.setViewClass(JstlView.class);
res.setPrefix("/views/templates/");
res.setSuffix(".jsp");
return res;
}
}
finally, I run tomcat8 server using Eclipse.
But requested URI /home
just responses this.
WARN o.s.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/TheBigs/views/templates/index.jsp] in DispatcherServlet with name 'rest-app'
I opened deployment location
...\org.eclipse.wst.server.core\tmp1\wtpwebapps\TheBigs\views\templates\
... files exists. What is the problem? Is there anything I missing?
I added my controller code
BaseController
@Controller public class BaseController { Logger logger = LoggerFactory.getLogger(BaseController.class);
@Autowired UserService userService; @RequestMapping(value="/home", method = RequestMethod.GET) public ModelAndView home(){ logger.debug("home!"); ModelAndView view = new ModelAndView(); view.setViewName("index"); return view; } @RequestMapping(value="/", method = RequestMethod.GET) public String index(Model model){ logger.debug("index page!"); model.addAttribute("message", "success"); return "test"; }
}
There images are jsp files directory, and Web Deployment Assembly defined.