spring boot

這兩天看了spring官網,忽然就對spring boot感興趣了,因而就嘗試了幾天,一直用不正確,html

首先,按照上面的步驟搭建一個hello world很簡單,web

@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,spring

這個就遇到了麻煩,按照步驟很簡單,就是在application.properties中配置spring.view.prefix 和suffix json

就和以前的xml配置的viewresolver同樣,可是問題就出在這裏,我也不知道什麼緣由,在eclipse中弄了半天終於正確了,可是在idea中徹底相同的配置一直報404錯誤,又沒有寫緣由,也沒log,爲在controller中打印了信息,發現控制檯上打印了,也就是說找不到頁面路徑。app

而後就沒弄jsp了,由於爲的目的不是jsp而是freemarker,並且仍是html後綴,不是ftl,html又遇到了一個問題,僅僅把spring.view.suffix=.htmleclipse

這樣配置會404,我又用xml配置了spring,把後綴改成.html,發現也不能訪問到,網上查了半天終於找到解決方案jsp

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

或者ide

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

其中第一種方案是我試出來的,是吧.html結尾的文件當成靜態資源來處理url

第二種方案是網上找到的,網上的方案基本上都是第二種,至於其中具體的區別我就不知道了idea

可是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寫課程設計了,還有最後十幾天了,爭取作出來

相關文章
相關標籤/搜索