dotweb屬於一個Web框架,但願經過框架行爲,幫助開發人員快速構建Web應用,提高開發效率,減小沒必要要的代碼臃腫。git
框架地址:https://github.com/devfeel/dotwebgithub
dotweb包含如下幾個經常使用對象:web
本章開始,將對這系列對象作經常使用場景的介紹。緩存
App對象,在dotweb中定義爲DotWeb,在框架中,主要承擔爲Web請求處理提供必要的容器類功能,好比啓動Web監聽、配置初始化、設置工做模式、設置日誌、設置緩存等,同時也承擔一系列快捷功能入口。服務器
主要屬性:app
屬性 | 描述 | 默認值 |
HttpServer |
App承載的WebServer對象 | NewHttpServer() |
Config |
全局配置信息,映射dotweb.conf | config.NewConfig() |
Middlewares |
App級別的中間件集合 | make([]Middleware, 0) |
ExceptionHandler |
自定義處理異常方法 | DefaultHTTPErrorHandler() |
NotFoundHandler |
自定義404請求處理方法 | DefaultNotFoundHandler() |
MethodNotAllowedHandler |
自定義405請求處理方法 | DefaultMethodNotAllowedHandler() |
Items |
App級別全局內存kv存儲 | NewItemContext() |
OfflineServer |
維護WebServer | NewOfflineServer() |
主要方法:框架
方法 | 描述 |
Start() |
根據配置啓動Web端口監聽,若發生錯誤,返回具體error對象 |
ListenAndServe(addr string) |
指定host:port,根據配置啓動Web端口監聽 |
Use(m ...Middleware) |
註冊中間件,全部請求共享 |
SetDevelopmentMode()\SetProductionMode() |
設置開發模式\生產模式 |
Cache() |
提供全局內存緩存入口 |
UseRequestLog() |
啓用基礎請求日誌中間件 |
SetPProfConfig() |
設置pprof監聽端口信息 |
SetLogger(log logger.AppLog) |
設置自定義日誌插件 |
常規使用代碼:分佈式
func main() { //初始化App app := dotweb.New() //設置dotserver日誌目錄 //若是不設置,默認不啓用,且默認爲當前目錄 app.SetEnabledLog(true) //開啓development模式 app.SetDevelopmentMode() //設置路由 InitRoute(app.HttpServer) //自定義404輸出 app.SetNotFoundHandle(func(ctx dotweb.Context) { ctx.Response().Write(http.StatusNotFound, []byte("is't app's not found!")) }) //啓動 監控服務 app.SetPProfConfig(true, 8081) //全局容器 app.Items.Set("app", "dotweb") // 開始服務 port := 8080 fmt.Println("dotweb.StartServer => " + strconv.Itoa(port)) err := app.StartServer(port) fmt.Println("dotweb.StartServer error => ", err) }
更多代碼可參考 https://github.com/devfeel/dotweb-examplespa
歡迎各位加入咱們的go語言QQ羣:193409346插件