偷个懒先占个位贴代码,详细讲解以后再补充
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[]{RootConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[]{WebConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
@EnableWebMvc
@Configuration
@ComponentScan(basePackages = {"controller","service"})
public class WebConfig extends WebMvcConfigurerAdapter{
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver resolver=new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
@Bean
public ViewResolver cnViewResolver(ContentNegotiationManager cnn){
ContentNegotiatingViewResolver resolver=new ContentNegotiatingViewResolver();
resolver.setContentNegotiationManager(cnn);
return resolver;
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.defaultContentType(MediaType.TEXT_HTML);
}
}
Controller:
@Controller
@RequestMapping(value = "/hello")
public class HomeController {
@Autowired
private CourseService courseService;
//添加@ResponseBody作为返回值
@RequestMapping(value = "/{courseId}",method = RequestMethod.GET)
public @ResponseBody Course getCourseJson(@PathVariable int courseId){
return courseService.getCourseById(courseId);
}
}
结果: