当前位置: 首页 > news >正文

建设网站的一般步骤是官方微信公众平台

建设网站的一般步骤是,官方微信公众平台,设计必备网站,网站建设收费明细表这段时间研究了一下C的Web框架Drogon。从设计原理上面来说和Python的Web框架是大同小异的#xff0c;但是难点在于编译项目上面#xff0c;所以现在记录一下编译的过程。下面图是我项目的目录。其中include放的是头文件#xff0c;src放的是视图文件#xff0c;static放的是…这段时间研究了一下C的Web框架Drogon。从设计原理上面来说和Python的Web框架是大同小异的但是难点在于编译项目上面所以现在记录一下编译的过程。下面图是我项目的目录。其中include放的是头文件src放的是视图文件static放的是网页渲染的模板drogon是框架名字这里直接把drogon放到项目里面一起编译CMake上面会引入。 1. 编写第一个视图 下面我们编写一个最简单Helloworld视图这个视图直接集成到main.cpp里面。 #include drogon/drogon.h #include greeting.h #include upload_font.h #include upload_endpoint.h using namespace drogon;int main(){// 直接注册视图函数app().registerHandler(/,[](const HttpRequestPtr ,std::functionvoid(const HttpResponsePtr ) callback) {auto resp HttpResponse::newHttpResponse();resp-setBody(Hello, this is homepage!);callback(resp);},{Get});app().setLogPath(./).setLogLevel(trantor::Logger::kWarn).addListener(0.0.0.0, 8085).setThreadNum(16).run(); }上面代码除了业务逻辑返回hello以外其他都是固定写法的包括服务器的启动等等。但是把所有的views写在main里面显然是不合理的所以需要用到controller去解耦。 2. 通过drogon_ctl创建controller 使用下面命令可以快速创建一个controller通俗点说就是视图函数。 drogon_ctl create controller greeting上面的语句就生成了一个greeting.h头文件用于申明视图函数以及一个greeting.cc文件用于写相关的业务逻辑。 greeting.h #pragma once#include drogon/HttpSimpleController.husing namespace drogon;class greeting : public drogon::HttpSimpleControllergreeting {public:void asyncHandleHttpRequest(const HttpRequestPtr req, std::functionvoid (const HttpResponsePtr ) callback) override;PATH_LIST_BEGIN// list path definitions here;// PATH_ADD(/path, filter1, filter2, HttpMethod1, HttpMethod2...);PATH_ADD(/greeting,Get);PATH_LIST_END }; 可以看到greeting.h中是可以定义我们的路由的我们把它移动到include文件夹下面。 greeting.cc #include greeting.hvoid greeting::asyncHandleHttpRequest(const HttpRequestPtr req, std::functionvoid (const HttpResponsePtr ) callback) {// write your application logic hereauto resp HttpResponse::newHttpResponse();resp-setBody(hello, this is a greeting page created by drogon_ctl.);resp-setExpiredTime(0);callback(resp); } greeting.cc 是执行相应处理函数我们把它放在src文件夹下面这样一个完成的controller就建好了我们也不需要做什么去注册到程序中只需要再CMake中添加source的路径和inclue的路径就OK了最后我们来讲一下项目的关键CMake.txt要如何写。 CMake 上面的项目的CMake应该是这样子的。 cmake_minimum_required(VERSION 3.0.0) project(drogon_demo VERSION 0.1.0 LANGUAGES C CXX)include(CTest) enable_testing()# 导入项目的头文件 include_directories(${PROJECT_SOURCE_DIR}/include) # 导入项目的代码文件 aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC_LIST)# 连接DROGON框架 # 方法一使用find_package自动查找在系统安装好的DROGON库一般都找不到 # 因为DROGON的CMake不像OpenCV这种顶级库那么规范所以对find_package不友好 # find_package(Drogon) # if (DROGON_FOUND) # target_include_directories(web_demo PUBLIC ${DROGON_INCLUDE_DIR}) # target_link_libraries(web_demo ${DROGON_LIBRARY}) # message(${DROGON_INCLUDE_DIR}) # message(${DROGON_LIBRARY}) # else(DROGON_FOUND) # message(DROGON NOT FOUND IN SYSTEM, COMPLIE IT IN LOACAL PROJECT.) # endif(DROGON_FOUND)# 方法二把依赖项目于放入项目文件夹并一起编译 add_subdirectory(${PROJECT_SOURCE_DIR}/drogon)add_executable(drogon_demo ${SRC_LIST}) # 第二个参数加入csp的source文件目录用于渲染模板 drogon_create_views(drogon_demo${CMAKE_CURRENT_SOURCE_DIR}/static${CMAKE_CURRENT_BINARY_DIR})# 链接已经编译好的DROGON库 target_link_libraries(drogon_demo PUBLIC drogon)set(CPACK_PROJECT_NAME ${PROJECT_NAME}) set(CPACK_PROJECT_VERSION ${PROJECT_VERSION}) include(CPack) 上面的文件最关键是include_directories引入刚刚controller的头文件aux_source_directory引入代码的文件。add_subdirectory引入我们的Drogon框架add_executable指定入口文件夹这个文件夹里面必须有个main.cpp唯一入口CMake回去扫描。drogon_create_views这个用于设置模板文件的路径我把csp的html模板文件放在static下面。有这句话才能找到csp模板我模板渲染也成功了但是drogon中upload_file的那个demo里面的upload_enpoint接口还是有问题浏览器调用失败了目前还没有解决办法我感觉还是我CMake写的不对呜呜CMake真难如果有大师知道怎么解决非常感谢评论区可以不吝赐教。
http://www.hkea.cn/news/14448327/

相关文章:

  • 郑州便宜网站建设公司wordpress版本替换
  • 长宁区网站建设网页网站建设 手机
  • 建立自己网站免费怎么做淘宝 天猫京东网店的网站
  • 大同营销型网站建设费用阿里云 cdn wordpress
  • 网站建设维护合同做流量网站挂广告还能挣钱吗
  • 网站服务器代码放在哪建立自己的影视网站
  • 做网站哪家便宜厦门购物网站建设详细教程
  • 网站上面的水印怎么做wordpress怎么放图片
  • 淘宝上的网站建设可信企业网站建设有名 乐云seo
  • 网站认证免费电子商务网站建设实训心得体会
  • o2o网站建设哪家好seo技术培训茂名
  • 网站建设验收程序修改wordpress上传路径
  • 聚美优品网站建设产品策略聊城市网站制作
  • 网站一级域名wordpress主题模仿
  • 做pc端网站公司重庆网站建设专家
  • python做网站的好处怀化网站优化加徽信xiala5效果好
  • 小勐拉网站建设企业产品网站源码
  • 网站建设费是多少网络建站步骤
  • 分享型网站建设网站建设论文html格式
  • 沂南网站建设如何做电商运营推广
  • 新注册网站大气腐蚀网站建设
  • 一个网站的后台怎么做wordpress 首页访问量
  • 做网站必须要注册公司么品牌推广的步骤和技巧
  • 网站备案 接入商自己怎么做家政网站
  • 阳光家园广州网站网址宿迁seo
  • 做配资 怎么在网站联系客户有没有知道网址的
  • 网站建设从哪入手怎么把园林设计网站做的酷炫
  • 上饶企业网站建设企业微信官方网站
  • 做加盟网站哪个最好网站企业备案
  • 如何修改网站做一个flash网站多少钱