zoukankan      html  css  js  c++  java
  • spring boot

    这两天看了spring官网,突然就对spring boot感兴趣了,于是就尝试了几天,一直用不正确,

    首先,按照上面的步骤搭建一个hello world很简单,

    @SpringBootApplication
    public class Application{
    
        public static void main(String[] args) {
            SpringApplication.run(Application.class,args);
        }
    
    }
    @RequestMapping("hello")
        @ResponseBody
        public String hello() {
            return "Hello World";
        }

    这个非常简单,也可以运行,没问题,但是写web项目不仅仅是返回一个json数据,这又不是写接口,所以想让它返回一个jsp,

    这个就遇到了麻烦,按照步骤很简单,就是在application.properties中配置spring.view.prefix 和suffix 

    就和之前的xml配置的viewresolver一样,但是问题就出在这里,我也不知道什么原因,在eclipse中弄了半天终于正确了,但是在idea中完全相同的配置一直报404错误,又没有写原因,也没log,为在controller中打印了信息,发现控制台上打印了,也就是说找不到页面路径。

    然后就没弄jsp了,因为为的目的不是jsp而是freemarker,而且还是html后缀,不是ftl,html又遇到了一个问题,仅仅把spring.view.suffix=.html

    这样配置会404,我又用xml配置了spring,把后缀改为.html,发现也不能访问到,网上查了半天终于找到解决方案

    <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.html</url-pattern>
    </servlet-mapping>

    或者

    <servlet-mapping>
            <servlet-name>jsp</servlet-name>
            <url-pattern>*.html</url-pattern>
    </servlet-mapping>

    其中第一种方案是我试出来的,是吧.html结尾的文件当成静态资源来处理

    第二种方案是网上找到的,网上的方案基本上都是第二种,至于其中具体的区别我就不知道了

    但是spring boot中是没有web.xml的,所以为一直无法在spring boot中访问到html文件

    最后是在stackoverflow上找到了一个解决方案

    @Configuration
    @EnableWebMvc
    public class MvcConfiguration extends WebMvcConfigurerAdapter {
        @Bean
        public ViewResolver getViewResolver() {
            InternalResourceViewResolver resolver = new InternalResourceViewResolver();
            resolver.setPrefix("/WEB-INF/jsp/");
            resolver.setSuffix(".html");
            return resolver;
        }
        @Override
        public void configureDefaultServletHandling(
                DefaultServletHandlerConfigurer configurer) {
            configurer.enable();
        }
    }

    加上这个配置类就可以访问到html了,但是,freemarker不能用,也就是说数据传不进去,

    那么这样访问html就没用了。

    最后看spring boot官方例子上的freemarker配置,里面是.ftl结尾的但是也可以当html来用

    在application.properties中配置,spring.freemerker.suffix:.html

    那么访问的就是html文件了

    我知道为说了一堆废话,但是上面这个问题确实困扰了为一周,就为了最后的这个freemarker的html。之前是看到了官方的freemarker例子,但是看到是.ftl结尾就没仔细看,没想到只是稍微改下就符合为的要求了,真是无语。

    到此为止,就应该能够用spring boot写课程设计了,还有最后十几天了,争取做出来

  • 相关阅读:
    C#基础笔记(第十四天)
    C#基础笔记(第十三天)
    C#基础整理(二)
    C#基础笔记(第十二天)
    C#基础笔记(第十一天)
    C#基础笔记(第十天)
    C#基础笔记(第九天)
    [PyTorch 学习笔记] 2.3 二十二种 transforms 图片数据预处理方法
    [PyTorch 学习笔记] 2.2 图片预处理 transforms 模块机制
    [PyTorch 学习笔记] 2.1 DataLoader 与 DataSet
  • 原文地址:https://www.cnblogs.com/luolei/p/4746610.html
Copyright © 2011-2022 走看看