【发布时间】:2014-02-04 07:10:24
【问题描述】:
我们使用 angular-route 将 URL 映射到模板。该应用程序以某种方式工作,例如我们正在从http://servername/appName 导航到http://servername/appName/page1,浏览器上的 URL 发生变化,模板加载成功。
问题是当页面刷新(或直接访问http://servername/appName/page1)时,我们从服务器收到 404 错误。似乎默认处理程序不会将未知 URL 映射到默认应用页面。
我们如何让服务器返回所有这些 angularjs URL 的默认应用页面?
代码如下:
@Controller
public class HomeController {
@RequestMapping("/")
public String home() {
return "/WEB-INF/views/nbcalendar.html";
}
}
应用配置:
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = {"com.appname.web"})
public class MvcConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
【问题讨论】:
标签: angularjs tomcat spring-mvc