当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

dotweb

Go 语言 Web 开发框架
授权协议 MIT
开发语言 Google Go
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 国产
投 递 者 潘高洁
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

一款简洁大方的 Go 语言 Web 开发框架,并辅助以众多实用精致功能组件,帮助开发人员更方便的构建应用。

1. 相关特性

  • 支持 go mod
  • 支持静态路由、参数路由、组路由
  • 路由支持文件/目录服务,支持设置是否允许目录浏览
  • HttpModule 支持,支持路由之前全局级别的自定义代码能力
  • 中间件支持,支持 App、Group、Router 级别的设置 - https://github.com/devfeel/middleware
  • Feature 支持,可绑定 HttpServer 全局启用
  • 支持 STRING/JSON/JSONP/HTML 格式输出
  • 集成 Mock 能力
  • 集成 Timeout Hook
  • 全局 HTTP 错误处理
  • 全局日志处理
  • 支持 Hijack 与 websocket
  • 内建 Cache 支持
  • 内建 Session 支持 - 支持主备 redis 自动切换
  • 内建 TLS 支持
  • 支持接入第三方模板引擎(需实现 dotweb.Renderer 接口)
  • 模块可配置
  • 自集成基础统计数据,并支持按分钟为单位的间隔时间统计数据输出

2. Getting Started

package main

import (
	"fmt"
	"github.com/devfeel/dotweb"
)

func main() {
	//init DotApp
	app := dotweb.New()
	//set log path
	app.SetLogPath("/home/logs/wwwroot/")
	//set route
	app.HttpServer.GET("/index", func(ctx dotweb.Context) error{
		return ctx.WriteString("welcome to my first web!")
	})
	//begin server
	fmt.Println("dotweb.StartServer begin")
	err := app.StartServer(80)
	fmt.Println("dotweb.StartServer error => ", err)
}

更多介绍请访问项目 github 地址。

  •   dotweb是16年正式托管到github的一个开源项目,go语言的web框架目前也有很多,出名的有bee和echo。它们都是很优秀的框架,但是我们喜欢更轻、更小的东西,经历一些之后我们更青睐微服务这个设计理念。   dotweb是一个国人写的开源项目,据我所知它已经在多家公司的生产项目中使用,到目前为止它和早些年的web框架比显得很年轻,目前它还在以一种很快速的迭代速度完善。我们计划会在20

  • 上一章我们讲了如何启动一个dotweb程序,本篇文章将介绍如何注册路由。 router是dotweb用来管理路由的结构体,它提供了一些关于路由操作函数。 app := dotweb.New() router := app.HttpServer.Router() 在上一篇文章中我们讲了dotweb.New()的用处,HttpServer负责处理请求,管理路由、session、中间件等等功能。稍后我会

  • 2017年10月才接触到GO隐修群,并认识的潜伏大哥。在聊天过程中认识的dotweb这个构架,之前没有用过beego,echo,gin等框架,纯属GO盲。 由于我本人不是从事相关的开发工作,基础还很差,所以一直都没有去了解这个框架,而是去学习GO的基础知道,目标无非是通过这一两年的闲余时间学习,能找到一份月薪过万的工作,改善一下家庭生活,因为才去努力看书、看视频,看代码,有幸被称为dotweb老铁

  • go web项目目录规划 因为 gorose orm 和 dotweb 框架 都是基于独立的组件, 所以我们可以对项目的目录做出自由的规划. 在这里, 我们便规划一个遵循一般的mvc结构的项目目录. 为了项目的易维护性和高可用性, 我们尽量采取成熟的架构, 分离业务模块, 这里就借鉴 php 界最火爆的框架拉 laravel 的设计思想, 做出简单的涉设计架构 目录大致如下: 一. 路由: /ro

  • 这是我的第二篇博文,写得不好,请多多指正。 写之前,还是希望大家一起学GO和用dotweb来开发自己的网站和应用。 dotweb的github地址:https://github.com/devfeel/dotweb,如果觉得好用,记得加星点赞哦。 官方网址:www.dotweb.top   今天,花了很多时间来配置服务器,成功同时跑起PHP和DOTWEB,非常兴奋,于是便有了这篇文章,下面让我来写

  • gorose orm+dotweb框架快速构建go web网站实战

  • 构建入口main主文件 简洁之道 为了尽可能的凝练, 我们在入口中, 只需要加载核心组件即可 package main import ( // 引入项目的路由 "github.com/gohouse/kuaixinwen/router" // 引入驱动 . "github.com/gohouse/kuaixinwen/bootstrap" // fmt包

  • 路由规划 路由是所有请求的入口, 在这里, 我们配置所有的请求, 为每一个请求去上对应的名字, 并根据名字去请求不同的控制器, 从而获取最终的数据 在这里, 我们做出了简单的代码示例如下: package router import ( // 引入控制器 "github.com/gohouse/kuaixinwen/controller" // 引入dotweb

  • 网站功能结构规划和基础服务安装 为了快速的构建一个go web网站, 在这里, 我们采用 飞哥(fizzday) 的 gorose orm 组件和 devfeel 的 dotweb 框架来做go web网站实战. 首先, 我们需要做出一些基础的规划, 万丈高楼平地起, 我们先来给他打下地基, 做一下简单的模块和基本的网站要素规划 一. 网站名字 快新闻 顾名思义, 就是要做到尽量简短, 一句话新闻

  • 控制器和模型 这里我们以去新闻列表为例, 做一个完整的控制器处理业务, 数据库模型获取数据 在控制器中创建 GetNewsById 获取一条新闻的方法 func GetNewsById(ctx dotweb.Context) error { res := model.GetNewsById(ctx) ctx.WriteJson(utils.SuccessReturn(res))

  • 网站上线运行和总结 测试运行 上一节, 我们完成了所有的服务端代码, 现在我们先试运行一下 启动服务 go run main.go 会打印出如下信息: start...,port:8888, visit: http://localhost:8888 说明, 我们的服务运行起来了 浏览器输入访问 http://localhost:8888 出现了我们路由中设定的 "快新闻首页!", 完美运行起来 测

 相关资料
  • 概述 ThinkCMF已经默认开启了多语言的支持,后台以语言包形式实现多语言,前台以语言包和多模板的形式实现多语言. 语言包 ThinkCMF开启的语言有三个,分别是zh-cn,en-us,zh-tw,此项配置在application/Common/Conf/config.php配置文件下,可以通过更改LANG_LIST的值增加语言. 语言包分为框架核心语言包(在simplewind/Core/L

  • 范式 声明式 函数式 Common Lisp Clojure Haskell Erlang Scala LISP Logo F# 逻辑式 Prolog 命令式 非结构化 COBOL 结构化 面向对象 Visual Basic Objective-C Smalltalk Python Ruby Eiffel Java C++ C# 过程式 Delphi/Object Pascal Fortran B

  • 几个月前,我决定开发一个可以真正使用的编程语言。语言的目标是这样的: 可以和C一样编译成 native 机器码,并能用于游戏开发。 语言和java/C# 类似,并且尽量减少业务代码开发的复杂度。 兼容全平台、开源。 国产、全中文支持。 有完整的 IDE、文档、工具支持。 有一个社区支持。 这是一个很伟大的事情,如果你有兴趣和时间,欢迎加入我们的开源团队。 不会做没关系,这是一个学习机会。 联系方式

  • 主要内容:使用DartPad在线执行脚本,设置本地环境,IDE支持,dart2js工具本章讨论在Windows平台上为Dart设置执行环境。 使用DartPad在线执行脚本 可以使用 https://dartpad.dartlang.org/ 上的在线编辑器在线运行测试脚本。Dart编辑器执行脚本并显示HTML和控制台输出。在线编辑器附带一组预设代码示例。 Dartpad编辑器的截图如下 - Dartpad还可以以更严格的方式进行编码。通过检查编辑器右下角的强模式选项来实现。强模式

  • LiteIDE LiteIDE是一款开源、跨平台的轻量级Go语言集成开发环境(IDE)。 支持的操作系统 Windows x86 (32-bit or 64-bit) Linux x86 (32-bit or 64-bit) 下载地址 :http://sourceforge.net/projects/liteide/files/ 源码地址 :https://github.com/visualfc/

  • 9.3* Perl 语言接口开发 本节将专门讲一讲 if_perl 接口的开发指导与实践经验,虽然只讲 perl ,但其基本 思路对于其他语言接口也可互为参照。 9.3.1 VimL 调用 perl 接口的基本流程 典型地,假如要使用(perl)语言接口实现某个较为复杂的功能或插件,其调用流程大概 可归纳如下: 定义快捷键映射,nnoremap ,这不一定必要,可能直接使用命令也方便; 快捷键调用

  • 一.关于易语言DLL   从易语言3.6版开始,已经能够支持对DLL动态链接库的开发, 编译出的DLL是标准的DLL,和其他编程语言生成的标准DLL的调用方法相同。易语言编写出的DLL,在非独立编译exe时只需要DLL文件随应用程序一起发行,而独立编译exe时无需将DLL文件随应用程序一起发行。 二.新建易语言DLL程序 新建一个易语言程序,然后选择 图标,易语言就会自动创建 出编写DLL动态链接

  • 为什么开发 Tea 语言 现在语言很多,我来一一解释下为什么我不喜欢这些语言而要自己开发: Python/Ruby/NodeJs: 它们很简单,写起来确实比较“爽”,写写小工具很适合。但我不喜欢它们,理由有二: a. 我需要做功能完整的产品,而不是写小工具。因此脚本语言是不可以的:它无法保护源码。 b. 我希望语言能有强大的 IDE,不要让我背一大堆 API,我只能记住首字母。 Java Java