控制版面找不到java_java – 找不到带有spring boot的html页面

我在前端使用弹簧靴和棱角分明.有时我想直接从服务重定向.我们只使用.html,.css和脚本文件(没有.jsp).

这是返回“static / pages / savepassword.html”;我是如何尝试重定向到savepassword的

那么第一个问题如何在这种情况下正确重定向?

接下来,Spring找不到我的html文件.我有这个结构

taUuo.png

我读到spring应该自动找到“静态”中的所有静态文件,但事实并非如此.所以我尝试配置我的ViewControllerRegistry和RessourceControllerRegistry

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

super.addResourceHandlers(registry);

registry.addResourceHandler("/static/**").addResourceLocations("/static/");

// registry.addResourceHandler("/stylesheets/**").addResourceLocations("/stylesheets/");

// registry.addResourceHandler("/scripts/**").addResourceLocations("/scripts/");

// registry.addResourceHandler("/pages/**").addResourceLocations("/pages/");

}

@Override

public void addViewControllers(ViewControllerRegistry registry) {

super.addViewControllers(registry);

registry.addViewController("/savePassword").setViewName("static/pages/savePassword.html");

registry.addViewController("/login").setViewName("static/pages/login.html");

registry.setOrder(Ordered.HIGHEST_PRECEDENCE);

}

当我直接调用“static / pages / login.html”时,它可以工作.当我想打电话给“/ login”时,它说404.

第二个问题:我需要配置什么,不需要配置什么?

更新-1:Spring Security

http

.authorizeRequests().antMatchers("/login", "/logout", "/user/**").permitAll()

.anyRequest().authenticated()

.and()

.exceptionHandling()

.accessDeniedHandler(new CustomAccessDeniedHandler())

.authenticationEntryPoint(new CustomAuthenticationEntryPoint())

.and()

.requiresChannel()

.anyRequest().requiresSecure()

.and()

.csrf()

.disable()

//.csrfTokenRepository(csrfTokenRepository())

.addFilterBefore(new MDCFilter(), ExceptionTranslationFilter.class)

// .addFilterBefore(new CorsFilter(),// ChannelProcessingFilter.class)

//.addFilterAfter(new CsrfHeaderFilter(), CsrfFilter.class)

.formLogin()

.successHandler(new CustomSuccessAuthenticationHandler())

.failureHandler(new CustomFailureHandler())

.loginPage("/login").permitAll();

UPDATE-2

我更新了我的结构,但仍然有从/ login重定向到自定义登录的问题.

IKa2h.png

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

super.addResourceHandlers(registry);

registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");

}

@Override

public void addViewControllers(ViewControllerRegistry registry) {

super.addViewControllers(registry);

registry.addViewController("/savepassword").setViewName("savepassword.html");

registry.addViewController("/login").setViewName("login.html");

registry.setOrder(Ordered.HIGHEST_PRECEDENCE);

}

我设置.html因为否则/ login会导致递归问题.使用此配置,我可以输入/ login并调用/templates/login.html(对于savepassword.html也是如此).

现在,我想知道如何在html中包含我的css / js:

这不起作用……但我可以用/scripts/login.js直接调用我的脚本.

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright www.122dh.com Rights Reserved.