相关疑难解决方法(0)

Springboot/Angular2 - 如何处理HTML5网址?

我相信这是一个简单的问题,但我找不到答案或至少在搜索中使用正确的术语.

我正在Angular2和我们Springboot一起建立.默认情况下,Angular将使用localhost:8080\dashboard和等路径localhost:8080\dashboard\detail.

如果可能的话,我想避免使用路径作为哈希.正如Angular 文档所述:

路由器的provideRouter函数将LocationStrategy设置为PathLocationStrategy,使其成为默认策略.如果我们愿意,我们可以在引导过程中使用覆盖切换到HashLocationStrategy.

然后...

几乎所有Angular 2项目都应使用默认的HTML 5样式.它生成的URL更易于用户理解.它保留了以后进行服务器端渲染的选项.

问题在于,当我尝试访问时localhost:8080\dashboard,Spring会寻找一些控制器映射到这条路径,它不会有.

Whitelabel Error Page
There was an unexpected error (type=Not Found, status=404).
No message available
Run Code Online (Sandbox Code Playgroud)

我认为最初是为了让我的所有服务都处于不足localhost:8080\api之下localhost:8080\app.但是,如何告诉Spring忽略对此app路径的请求?

Angular2或Boot有更好的解决方案吗?

spring spring-boot angular

40
推荐指数
4
解决办法
2万
查看次数

Spring Boot和自定义404错误页面

在我的Spring Boot应用程序中,我正在尝试配置自定义错误页面,例如对于404,我在应用程序配置中添加了以下Bean:

@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
    return new EmbeddedServletContainerCustomizer() {
        @Override
        public void customize(ConfigurableEmbeddedServletContainer container) {
            container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"));
        }
    };
}
Run Code Online (Sandbox Code Playgroud)

另外,我创建了以下简单的Thymeleaf模板:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
    <head>
        <title>404 Not Found</title>
        <meta charset="utf-8" />
    </head>
    <body>
        <h3>404 Not Found</h3>
        <h1 th:text="${errorCode}">404</h1>
        <p th:utext="${errorMessage}">Error java.lang.NullPointerException</p>
        <a href="/" th:href="@{/}">Back to Home Page</a>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

并将其添加到/resources/templates/文件夹中.就在404错误我只能看到白屏.

我做错了什么以及如何正确设置我的404页面?此外,是否可以使用模板而不仅仅是自定义错误页面的静态页面?

java spring spring-mvc thymeleaf spring-boot

29
推荐指数
6
解决办法
7万
查看次数

AngularJS - 为什么在更改网址时$ routeProvider似乎不起作用,我收到404错误

$routeProvider的配置如下:

teachApp.config(['$routeProvider', '$locationProvider', function($routeProvider,       $locationProvider) {
    $routeProvider.
        when('/teach/', {templateUrl: 'views/login_view.html'}).
        when('/teach/overview', {templateUrl: 'views/overview_view.html'}).
        when('/teach/users', {templateUrl: 'views/users_view.html'}).
        otherwise({redirectTo: '/teach/'});
    $locationProvider.html5Mode(true);
}]);
Run Code Online (Sandbox Code Playgroud)

在应用程序中,如果我点击链接,例如<a href="/teach/overview">Overview</a>,概述部分显示为预期.但是,当我手动将地址栏中的URL更改为完全相同的URL时,我收到404错误.被$routeProvider配置不正确?

我正在使用MAMP localhost和应用程序的根URL http://localhost/teach/

apache angularjs

13
推荐指数
2
解决办法
2万
查看次数

Spring Boot/Angular 4 - app中的路由命中服务器

我有一个Angular 4(ES6)应用程序,我想从Spring Boot应用程序提供服务.我的Angular应用程序有一个index.html,当http:// localhost:8080的地址被命中时,Spring Boot知道要映射到在Angular中映射到"/ search"的index.html文件.

但是,我有另一条名为"adminlogin"的路线,我将通过该途径访问

HTTP://本地主机:8080 /后台管理

但在这个例子中,它命中了我的Spring Boot应用程序,它没有映射,然后抛出错误.

如何获取http:// localhost:8080/adminLogin的地址转到我的Angular应用程序?

java routing spring-boot angular angular4-router

13
推荐指数
2
解决办法
7221
查看次数

HTML5 History API自动路由刷新错误

我目前正在使用一个项目,在后端使用SpringBoot,在前端使用HTML5和Angular 2.

部署项目后,当我在浏览器中导航时,一切正常,直到我按下重新加载按钮.浏览器将显示错误页面.

白标错误页面

此应用程序没有/ error的显式映射,因此您将此视为回退.

2017年5月8日星期一10:16:14 CDT 2017

出现意外错误(type = Not Found,status = 404).

没有可用的消息

这显然是由于使用HTML 5历史记录API在浏览器URL中存储客户端导航.

因此,当我开始点击页面上的项目时,我看到URL会自动附加.

但是,当点击刷新时,这将成为一个问题,完整的附加URL将发送到无法理解它的服务器,因为该附加URL的特定映射不存在.

是否有修复此更新服务器端配置,以便任何未知的URL返回根index.html视图的视图?

例如,当我点击刷新时,被查询的URL只是根URL http://localhost:8080/root,而不是附加的URL.

这将使浏览器正确导航而不是尝试在服务器端执行此操作.

javascript html5 spring-boot angular2-routing angular

12
推荐指数
1
解决办法
1053
查看次数

部署到 Springboot 应用程序后,角度路由不起作用

我已经构建了一个包括 Angluar5 的 Springboot 应用程序。我有一个 gradle 构建脚本,它将角度文件加载到我的 springboot 项目中。这些文件位于我的 springboot 项目的资源/静态下。当我启动我的应用程序时,angular 的路由不再起作用,我得到

错误:无法匹配任何路由。URL 段:'访问'

我的项目结构:

在此处输入图片说明

我使用以下语句部署了我的 angular 应用程序:

ng build --deploy-url=BeatAcknowledgeTest --op=../backend/src/main/resources/static

这将使我的静态文件可以通过以下链接访问:

www.mySite.com/BeatAcknowledgeTest/...

如果我输入

www.mySite.com/BeatAcknowledgeTest/access

页面呈现,一切都很好,但是当我在另一个组件中时,例如

www.mySite.com/BeatAcknowledgeTest/home

然后我点击一个按钮,将我路由到

www.mySite.com/BeatAcknowledgeTest/access

我收到一个错误,我的应用程序没有重定向。

有什么建议?

spring-boot angular angular4-router

6
推荐指数
1
解决办法
3385
查看次数