gpt4 book ai didi

angularjs - Spring MVC : How to map server unknown URLs to the main application page?

转载 作者:行者123 更新时间:2023-11-28 22:42:57 25 4
gpt4 key购买 nike

我们使用 Angular 路由将 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();
}
}

最佳答案

您可以在 web.xml 配置中设置错误处理程序。笔记!此 web.xml 在 Servlet 容器(例如 tomcat)内配置您的应用程序,它不是 Spring-MVC 设置。

添加如下内容:

<error-page>
<error-code>404</error-code>
<location>/MY_HANDLER</location>
</error-page>

MY_HANDLER 要么是您的默认位置,要么是记录事件然后转发到默认位置的 jsp 之类的东西。

希望对您有所帮助。

关于angularjs - Spring MVC : How to map server unknown URLs to the main application page?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21143807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com