Spring Boot(五)Spring Boot的web項目開發(2)相關配置

你好,【程序職場】專注於:Spring Boot ,微服務 和 前端APP開發,閒暇之餘一起聊聊職場規劃,個人成長,還能帶你一起探索 副業賺錢渠道,在提升技術的同時我們一起交流 敏捷流程 提高工作效率,從技術到管理一步步提升自我!
 
標籤:一個執着的職場程序員!

本文是Spring Boot系列的第四篇,瞭解前面的文章有助於更好的理解本文:

1.Spring Boot(一)初識Spring Boot框架
2.Spring Boot(二)Spring Boot基本配置
3.Spring Boot(三)Spring Boot自動配置的原理
4.Spring Boot(四)Spring Boot web項目開發


前言

(一). Spring MVC的相關配置

(二). Tomcat配置

(三). Tomcat替換

(四). Favicon配置

上篇文章爲大家講述了 Spring Boot的web項目開發,但是我們缺少了一部分配置;本篇文章接着上篇內容繼續爲大家介紹web項目開發的相關配置功能。

 

 

(一). Spring MVC的相關配置

 

正常情況下 Spring Boot提供的Spring MVC默認配置基本符合我們的需求了,如果出現特殊情況,我們可以通過一個配置類(註解有@Configuration的類)加上@EnableWebMvc註解來實現完全自己控制的 MVC配置。

如果我們既需要保留Spring Boot 提供的便利還想要增加自己的額外配置的時候,可以定義一個配置類並繼承 WebMvcConfigurationAdapter 無需使用@EnableWebMvc。

代碼如下:

package org.cxzc.myyoung.springboot_4;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration//@EnableWebMvc//無需使用該註解,否則會覆蓋掉SpringBoot的默認配置值public class WebMVCConfig extends WebMvcConfigurerAdapter {    @Override    public void addViewControllers(ViewControllerRegistry registry) {        registry.addViewController("/hello").setViewName("/hello");    }}

代碼解釋:
1. 需要指出的是 在這裏重寫的 addViewControllers 方法,不會覆蓋WebMvcAutoConfiguration中的addViewController方法,需要注意的是 在此方法中 Spring Boot 將 “/”映射值index.html。

這就說明 我們自己的配置和spring Boot的自動配置同時有效。

(二). Tomcat配置

Spring Boot 默認內嵌的Tomcat爲servlet容器。

1. 配置文件配置tomcat

Spring Boot 在org.springframework.boot.autoconfigure.web.ServerProperties 類中 定義了Tomcat的全部屬性。我們可以在 application.properties文件中配置屬性。Tomcat特有配置都以 server.tomcat 作爲前綴

實例如下:
##配置servlet容器

#配置服務器端口,默認爲8080server.port=8081#用戶回話session過期時間,以秒爲單位server.session-timeout=1000000#配置訪問路徑,默認爲servlet.context-path=/index

##配置Tomcat

#配置Tomcat編碼,默認爲UTF-8server.tomcat.uri-encoding=UTF-8#Tomcat是否開啓壓縮,默認爲關閉 on   offserver.tomcat.compression=on

2. 代碼配置
 

package org.cxzc.myyoung.springboot_4;import org.springframework.boot.web.server.ErrorPage;import org.springframework.boot.web.server.ErrorPageRegistrar;import org.springframework.boot.web.server.ErrorPageRegistry;import org.springframework.http.HttpStatus;import org.springframework.stereotype.Component;
@Componentpublic class ErrorPageConfig implements ErrorPageRegistrar {    @Override    public void registerErrorPages(ErrorPageRegistry registry) {        ErrorPage error400Page=new ErrorPage(HttpStatus.BAD_REQUEST,"/error400" );        ErrorPage error401Page=new ErrorPage(HttpStatus.UNAUTHORIZED,"/error401");        ErrorPage error404Page=new ErrorPage(HttpStatus.NOT_FOUND,"/404" );        ErrorPage error500Page=new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR,"/error500");        registry.addErrorPages(error400Page,error401Page,error404Page,error500Page);    }}

自定義類實現

ErrorPageRegistrar接口,然後設置端口、設置錯誤請求頁面、

設置會話超時時間等,這裏的404頁面放在src/main/resources/static文件夾下,有了這個之後,當我訪問一個不存在的頁面的時候就會跳轉到404.html頁面了。

(三). Tomcat替換

上面講到了Tomcat的配置,開發web中不僅僅只使用Tomcat 還有 jetty和undetow 容器。

如果要使用jetty爲servlet作爲容器,需要修改spring-boot-starter-web的依賴即可。

代碼如下:

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-tomcat</artifactId>    <scope>provided</scope></dependency>
修改成
<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-jetty</artifactId>    <scope>provided</scope></dependency>

修改後啓動項目,控制檯輸出會成爲jetty。

(四). Favicon配置


我們打開每一個網頁頁籤 都會看到一個 圖標,這個圖標就是favicon,SpringBoot提供了一個默認的,訪問的時候可以看到效果,如果我們需要屏蔽掉可以通過添加配置實現
 

#開啓和關閉Favicon  true falsespring.mvc.favicon.enabled=true

 

如果需要自定義一個 Favicon,我們只需要將自己的favicon.ico文件放置到src/main/resources目錄下即可,重新運行項目,再看瀏覽器左上角圖標就會變了

 

ok,Spring Boot的web項目開發相關配置 到這裏就完成了,如果小夥伴還有疑問,可以關注我,我們一起進步

本案例下載地址:

https://github.com/ProceduralZC/itcxzc/tree/master/springboot_5

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章