使用spring boot访问HTML页面

时间:2016-01-07 21:06:07

标签: spring-mvc spring-boot

我正在尝试使用spring boot来提供HTML页面,我不想使用Thyme leaf,因为我只有静态HTML页面请注意,服务js和css文件在/ resources / static /中运行良好但是如果我有一个像下面的控制器

{ "AAA", "BBB->CCC", "DDD" }

@Controller
public class DefaultConfiguration {

    @RequestMapping(value = "/login")
    public ModelAndView login() {
        return new ModelAndView("login");
    }
}

我总是得到错误

@Configuration
public class MvcConfiguration extends WebMvcConfigurerAdapter {

    @Bean
    public ViewResolver getViewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/");
        resolver.setSuffix(".html");
        return resolver;
    }


    @Override
    public void configureDefaultServletHandling(
            DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }
}

2 个答案:

答案 0 :(得分:0)

为什么需要配置MvcConfiguration?如果您没有在类路径上使用百里香叶/自由标记/ vaadin,那么它不会默认为服务.html吗?

如果你在ur pom.xml中有thymeleaf,那么只需要它并尝试使用请求映射返回登录而不定义MVC配置并查看是否有效。

或者,使用freemarker,而不是thymeleaf cos thymeleaf在我看来有点可怕,并将文件保存为login.ftl,内容可以只是纯HTML。无需定义MVC配置即可完美运行。

答案 1 :(得分:0)

我发现我可以从静态文件夹中提供与javascript相同的html页面而无需执行任何控制器。我正在尝试登录,因为我启用了spring-security,并希望表单登录重定向到登录页面。解决方案是简单的登录页面(“/ login.html”),但首先没有想到它

 http
                .authorizeRequests()
                .antMatchers("/","/fonts/**","/vendors/**").permitAll()
                .anyRequest().authenticated()
                .and()
                .formLogin()
                .loginPage("/login.html")
                .permitAll()
                .and()
                .logout()
                .and()
                .csrf().csrfTokenRepository(csrfTokenRepository())
                .and()
                .addFilterAfter(csrfHeaderFilter(), SessionManagementFilter.class);