1.å端å¦ä»ä¹ï¼
2.Webå端å¼å主è¦å¦åªäºè¯¾ç¨ï¼
3.C++开源http服务框架WHttpServer
å端å¦ä»ä¹ï¼
HTMLï¼CSSï¼Javaè¿ä¸æ ·ççå¾éè¦ï¼HTMLååºåºç¡é¡µé¢ï¼CSSå°HTMLéæ页é¢ä»é»ç½è²è¿æ¸¡å°äºé¢å è²ï¼ç¶åjavaå¯ä»¥è®©æ¯ç¥çéææååæå¯ä»¥äº¤äºçå 容ãæ¡æ¶åæä¹æ´æ°è¿ä»£ï¼æåºç¡çä¸è¥¿è¿æ¯è¿ä¸æ ·.ææ¡äºHTML+CSS+Javaåï¼æåæå¼äºå端ç大é¨ãæ¥ä¸æ¥å°±æ¯è¿é¶é¨åï¼ä»jsè¿é¶å°jquery-ï¼jQueryå°±æ¯javaçä¸ä¸ªåºï¼æ常ç¨çä¸äºåè½è¿è¡äºå°è£ ï¼æ¹ä¾¿æ¥è°ç¨ï¼æé«å¼åæçï¼åæ¶æ大å°ç®åäº Java ç¼ç¨ã
æ©å±èµæï¼å端çå¼åä¸ï¼å¨é¡µé¢çå¸å±æ¶ï¼ HTMLå°å ç´ è¿è¡å®ä¹ï¼CSS对å±ç¤ºçå ç´ è¿è¡å®ä½ï¼åéè¿JavaScriptå®ç°ç¸åºçææå交äºã
ç¶ååå°angular-ä¸ç§æ´å çµæ´»ã强大çæ°æ®ç»å®ãhtmlæ©å±çjsåºï¼ç¶åå°ajaxãjsonãxmlï¼å¯ä»¥ååå°è¿è¡ååå¼åçæè½ã
å¦ä¼è¿äºä¸è¥¿ä¹åï¼å°±è½å®ææ¶ä¸æµè¡çåç§PC端ç½é¡µç¹æãåå端交äºï¼å¨éå¾å端çè·¯ä¸å¾åè¿ä¸äºåå®çä¸å¤§æ¥ã
Webå端å¼å主è¦å¦åªäºè¯¾ç¨ï¼
èå®è¯´ï¼å端ç»è¿è¿å å¹´çå¿«éåå±ï¼ç½ä¸çæç« åæç¨è¿æ¯è®å¤çï¼æç»éªç人è½å¤æ ¹æ®èµæå¶å®åºå±äºèªå·±çå¦ä¹ æ¹æ³åè·¯å¾ï¼ä½å¯¹äºå°ç½æ¥è¯´ï¼è¿æ¯æäºé¾åº¦ãç¥äºå§æ¥ç»å¤§å®¶å享å端å¦ä¹ è·¯å¾ãé对0åºç¡ï¼éç§çï¼æ²¡æç¼ç¨ç»éªï¼æ³å¦å端ï¼ä½æ¯ä¸ç¥éå¦ä½å ¥é¨ç人群ãåºç¡é¨åï¼
1ãHTML + CSS è¿é¨åå¦ä¹ ï¼å¯ä»¥æ¨¡ä»¿ä¸äºç½ç«åäºé¡µé¢ï¼å¨å®è·µä¸ç§¯ç´¯ç»éªãåå°è½ä¸UI对æ¥ï¼è½%éæç½ç«éæ页é¢çå¼åï¼ä¸ºåæç¼å页é¢é»è¾ãå¨ææææåºç¡ã
2ãJavascript è¦å¦çå 容å®å¨å¾å¤ï¼å¦æ没æå ¶ä»ç¼ç¨è¯è¨çåºç¡çè¯ï¼å¦èµ·æ¥å¯è½è¦è´¹äºåï¼è¿ä¸ªé¶æ®µéè¦ææ¡ç¼ç¨åºç¡æ¦å¿µï¼å¹å »é»è¾æç»´è½åãè½å¤ç¬ç«å®æç½ç«ç页é¢å¼åï¼å æ¬åçå¸å±ï¼JavaScriptæä½DOMï¼
è¿é¶é¨åï¼
æäºä»¥ä¸åºç¡ï¼å°±å¯ä»¥è¿è¡ä¸è¬çéæç½é¡µè®¾è®¡ï¼ä¸è¿å¯¹äºå¤æç页é¢è¿éè¦è¿ä¸æ¥å¦ä¹ ã
3ãJavaScripté«çº§ä¸æå¡å¨åºç¡ï¼æ·±å ¥é¢å对象ç¼ç¨ï¼å ·å¤ç§»å¨ç«¯å¼åè½åï¼å¤çæµè§å ¼å®¹é®é¢ï¼æ·±å ¥å¦ä¹ ES6/ES7è¯æ³è§èï¼åå端å离å¼åææ³ã
4ãæ¡æ¶ä¸æå¡å¨ï¼æ°æ®åºï¼å端å®å ¨çå¦ä¹ ï¼æ·±å ¥äºè§£Nodeï¼æ°æ®åºæä½ï¼åå端å离ææ¯ï¼ååå°åä½å¼åãçæNPMï¼Yarnï¼ï¼Node模åfsï¼httpï¼è·¯ç±ï¼å¤ç请æ±ï¼express4ï¼koaï¼ï¼ææ¡å建websocketæå¡ï¼MongoDB/MySQLæ°æ®åºCRUDï¼Mongooseï¼ï¼ææ¡å¾®ä¿¡å°ç¨åºå¼åï¼ææ¡Vue2.xåºç¡ï¼Vue-routerï¼Vuexççã
5ãReactä¸ç»ä»¶åå¼åï¼æ·±å ¥å¦ä¹ ç»ä»¶åå¼åææ³ï¼äºè§£webpack使ç¨ï¼ææ¡Reactå¼ååºç¡ï¼Hookï¼create-react-appççã
å级é¨åï¼
æäºä»¥ä¸ç¥è¯ï¼å¯¹äºå¤§å¤æ°å°åç½ç«ï¼ä½ åºè¯¥å·²ç»å¯ä»¥ååºè½å¤å·¥ä½ç代ç äºãä½è¦æ³æ为æ´ä¸ä¸çå端ï¼ä½ è¿é继ç»åªåãæ´é«çè¦æ±å¤§æ¦è¿æåæ¹é¢ï¼1ï¼æç»´æ¤ï¼2ï¼å¯æµè¯ï¼3ï¼é«æ§è½ï¼4ï¼ä½æµéï¼ç§»å¨ç«¯ï¼ã
å ¶ä»è¡¥å é¨åï¼
å端项ç®åæ ·é¢ä¸´è½¯ä»¶çå½å¨æçå个ç¯èï¼é¦å æ¯ä»£ç 管çï¼ä½ å¿ é¡»å¦ä¼ä½¿ç¨SvnåGitãå ¶æ¬¡æ¯ä»£ç çæ建ï¼å¦ä»å端代ç æ建已ç»ä¸æ¯ç®åçå缩ä¸ä¸äºï¼éè¦è¿è¡ä¾èµç®¡çã模åå并ãåç§ç¼è¯ï¼æ¯éè¦å¦ä¼ä½¿ç¨GruntãGulpçå端æå»ºå·¥å ·ã
以ä¸å 容åªæ¯ç®å说äºå端å¦ä¹ ç顺åºã对äºå端å¼åï¼åºæ¬å 容就è¿äºäºï¼å¯ä»¥æ ¹æ®èªå·±çå ´è¶£ç±å¥½éæ©æ§å¦ä¹ 以ä¸å 容ã
1ã交äºè®¾è®¡ãå¤§å ¬å¸ä¾ç¶æä¸ä¸äººå£«æè¿äºï¼ä¸è¿ä¸æ交äºçå端ä¸å®ä¸æ¯å¥½å端ãæ¨èãç®çº¦è³ä¸ãã
2ãå端ãåºè¯¥è¯´å端工ç¨å¸å¿ é¡»è³å°äºè§£ä¸é¨å端è¯è¨ï¼ä¸è¿å¦æç±å¥½ä¹å¯æ·±å ¥å¦ä¹ ï¼å¦ä»NodeJså¨å¤§å ¬å¸å·²ç»å¾å°æ®éç使ç¨ï¼æ¨è大家使ç¨å¨Nodeä¸ä½¿ç¨Expressæ¡æ¶åä¸äºå端æå¡çå¼åã
æåï¼æç»éªçç¨åºåé½ç¥éï¼å¦ä¹ ç¼ç¨æææççæ¹å¼å°±æ¯æä½ æå°ä¸ä¸ªé¡¹ç®ç»ï¼è¿æ»å¸¦ç¬çåä¸ä¸¤ä¸ªé¡¹ç®ä¸æ¥ä½ 马ä¸ä¼åç°ææçç¥è¯ç¹å ¨é½è¿å°ä¸èµ·äºï¼ä¸åæ¯åæ£çï¼èæ¯å½¢æä¸ä¸ªæ´ä½äºãé£ç§æè§æ¯ä» ä» æ·±å ¥é»ç ç¥è¯ç¹èä¸åçå®é¡¹ç®ç人æä¸è½ä½ä¼çã ä¸ä¸ªé¡¹ç®å°±æ¯ä¸æ ¹ç»³åå¯ä»¥æ大ççç¥è¯ä¸²å°ä¸èµ·ã
å¦ææ³é»ç¼å®é å¼åçè½åèä¸ä» ä» æ¯è诵æè äºè§£ä¸äºç¥è¯ç¹ï¼å¦ææ³æ为çæ£ç好æï¼é£ä¹ï¼è¿æ¯å项ç®å§ï¼
æ´ä½æ¥ççè¯ï¼Webå端å¼åéè¦å¦ä¹ çå 容è¿æ¯æ¯è¾å¤çãå端æ¯ä¸é¨æ¶µçé¢å¾å¹¿çå¦ç§ï¼èä¸ææ¯æ´æ°è¾å¿«ï¼ä¼ç§çWebå端å¼åå·¥ç¨å¸åºè¯¥å ·å¤å¿«éå¦ä¹ è½åãå¦æ没æå¿«éå¦ä¹ è½åï¼å°±è·ä¸ä¸Webåå±çæ¥ä¼ï¼æ以éè¦ä¸ææåèªå·±ï¼ä¸æå¦ä¹ æ°ææ¯ãæ°æ¨¡å¼ã
C++开源http服务框架WHttpServer
介绍 基于mongoose 7.3版本的源码源码,经过二次封装和修改,分析WHttpServer是源码一个高性能的C++开源HTTP服务框架。该框架支持Linux操作系统,分析macOS系统下需要自行适配库,源码暂时未验证在Windows系统下的分析仿cdr工具出售源码运行情况。用户可以通过查看示例文件(HttpExample.cpp、源码HttpExample.h和main.cpp)来了解如何在普通接口、分析大文件上传、源码大文件下载、分析chunk流文件下载等场景中使用。源码 运行操作系统 WHttpServer适用于Linux操作系统。分析在macOS系统上可以运行,源码电源码语者英语但需要修改CMakeLists.txt文件以适配openssl库。分析Windows系统理论上可以运行,源码但因无测试支持,暂不推荐。 安装教程 将whttp-server-core目录下的文件复制到您的项目中即可完成安装。 接口说明 以下是溯源码燕窝饮品生产WHttpServer提供的接口及其功能: bool init(int maxEventThreadNum): 初始化线程池,设置最大线程数。 bool startHttp(int port): 开启HTTP服务,指定端口号。 bool startHttps(int port, string certPath, string keyPath): 开启HTTPS服务,指定端口号和证书路径。 bool stop(): 停止HTTP和HTTPS服务。宝塔面板怎么搭建源码 bool run(): 服务运行的核心函数,需要外部循环调用。 bool isRunning(): 检查服务是否正在运行。 void addHttpApi(const string &uri, HttpCbFun fun, int httpMethods): 添加普通的HTTP回调接口,通过不同的httpMethods设置HTTP方法。 void addChunkHttpApi(const string &uri,eu5 赛车源码 HttpCbFun fun, int httpMethods): 为可能超过3M大小的文件上传场景添加数据块HTTP回调接口。 void setHttpFilter(HttpFilterFun filter): 设置HTTP接口的过滤函数,用于过滤不符合条件的请求。 void forceCloseHttpConnection(shared_ptr httpMsg): 强制关闭与客户端的连接。 void addSendMsgToQueue(shared_ptr httpMsg, const char* data, int len): 向客户端发送数据,先放入缓冲区,等待下次循环发送。 void addSendMsgToQueue(shared_ptr httpMsg, string *sendMsg): 与上一个函数的字符串版本。 void httpReplyJson(shared_ptr httpMsg, int httpCode, string head, string body): 向客户端发送JSON格式的响应。 string formJsonBody(int code, string message): 生成JSON字符串。 bool isClientDisconnect(shared_ptr httpMsg): 检查客户端是否主动断开连接。 shared_ptr deQueueHttpChunk(shared_ptr httpMsg): 处理大文件上传时的块数据。 bool addStaticWebDir(const string &dir, const string &header = ""): 添加静态网页目录接口。 mg_http_status_code_str(int status_code): 返回HTTP状态码对应的字符串。 重要数据类型 提供以下两个数据类型: using HttpCbFun = std::function &);: HTTP接口回调函数的类型。 using HttpFilterFun = std::function &): HTTP接口过滤函数的类型。 注意事项 所有HTTP回调函数在子线程中运行,同一回调可能在不同线程中运行,注意线程安全。 run函数内部未加锁,非线程安全,初始化和启动服务的函数调用应在run之前。 添加HTTP接口时,uri应避免重复匹配,否则只执行最后一个匹配的接口。建议直接使用'/'作为uri开头。 示例代码 初始化代码示例。 在main函数中启动服务的示例代码。 HTTP接口回调的示例代码。2024-12-24 08:382711人浏览
2024-12-24 08:332121人浏览
2024-12-24 08:17342人浏览
2024-12-24 07:28524人浏览
2024-12-24 07:282135人浏览
2024-12-24 07:222286人浏览
中国消费者报福州讯记者张文章)为持续深化药品安全巩固提升行动、保障公众用妆安全,8月起,福建省龙岩市新罗区市场监管局在全区范围内组织开展染发类化妆品专项检查,严防严控染发类产品安全风险。截至目前,共检
1.安卓和ios哪个好安卓和ios哪个好 当然是安卓。 你想想三星手机 是安卓的 对吧 也就2 到 3千 而且 很好用 , 苹果呢 超贵 而且 性能也就那样 苹果能做到的 安卓 都能做到