时间:2014-11-06 来源:

C++写动态网站之HelloWorld! 【综合】

示例源代码下载地址:Fetch_Platform.7z

动态页

<fetch:demo/> <br> <fetch:demo type="chinese"/>

必须将该标签类进行注册后web切图报价,WebServer才会认识

答案就在ServiceDispatcher类,web切图报价具体如下

标签类必须与.jsp前端网页配合使用才能实现动态显示网页的效果

静态页

见BaseTagManager类

std::string type = getParameter("type");则需要改成

std::string value = getParameter("value");

当然你也可以使用任意其他的扩展名,psd转html如果想使用其他的扩展名,html切图制作你需要修改SharedService::handle方法的如下部分

当然如果你电脑上的80端口没有被其他程序占用,html切图可以简单的使用http://localhost/进行访问

注意:以下过程全都在Windows 7 64上使用Visual C++ 2008 Express编译使用,wap前端外包如使用不同的环境或工具web前端制作,请高手自行搞定

unsigned short port = 8020; if (args.size() > 0) // change default port port = (unsigned short) NumberParser::parse(args[0]); 后端 添加服务类 添加一个头文件DemoService.h

一个个动态的网页汇集成了一个动态网站,web前端制作动态网页在一定的模板上由后端局部替换承接网页制作,使得用户看到的内容是随需而变,div前端切图这里我们忽略掉数据库处理部分web切图报价,直接实现网页内容的变化,web切图报价从而了解服务器端的工作原理符合w3c标准, Poco::Net::HTTPServerResponse& resp, const std::string& fileName); public: static const std::string SERVICE_PREFIX; // 用于URL分发 private: }; #endif // DEMO_SERVICE_H 实现文件DemoService.cpp

<br>,是个标准HTML标签,web前端制作表示换行

添加标签类 标签类负责动态替换模板里的内容承接网页制作,这里的标签最重要的部分就是标签名,承接网页制作必须保证唯一性

void BaseTagManager::registerAllTags() { BaseTagFactory& tagFactory = BaseTagFactory::defaultFactory(); tagFactory.registerTagClass("demo", BaseTag>); /* * The following will be used to create new object while loading from file */ #if !defined(_DEBUG) || defined(USING_STENCIL_SERIALIZE) tagFactory.registerTagClass(DEMO_TAG, BaseTag>); #endif // NDEBUG || USING_SERIALIZE_TAG } 至此当有来自浏览器的请求时网页外包接活, Poco::Net::PageResponse* resp) { std::string type = getParameter("type"); // 这里根据不同的type返回不同的字符串给浏览器 // 实现动态网页的效果 if (type == "chinese") { resp->print("你好web前端制作, Poco::Net::PageResponse* resp); /// Called when the parser reaches the end tag. /// /// @param request The page request. /// @param response The page response. /// @throws Exception If there was an exception. #endif }; #endif // DEMO_TAG_H实现部分

头文件

if (file.exists() && file.isFile()) { if (endsWith(newFileName, Path(newFileName).toString()); #else

// demo service if (startsWith(fileName, resp, fileName); return; }

#include "demo_service.h" const std::string DemoService::SERVICE_PREFIX = "/demo/"; // 凡是地址栏显示如下的都会进入下面这个方法 // http://domain/demo/*** // void DemoService::handle(Poco::Net::HTTPServerRequest& req, Poco::URI & uri, const std::string& fileName) { // 分类处理demo下不同的请求,web前端制作然后return // // 否则承接网页制作,如果没有特别的处理,div前端切图将直接调用父类的handle方法 // 作为示例web切图报价,这里没有对DemoService进行扩充,web切图报价感兴趣可以下载BBS的源代码 // 因此这里直接交由父类处理 //  SharedService::handle(req, uri, fileName); } WebServer是如何将浏览器的请求转发到DemoService的?

更复杂的代码可参考本博客BBS的实现

在root文件夹下,jpg或psd转html我们新建一个demo的文件夹web前端制作,再新建一个.jsp的文件,web前端制作jsp扩展名用来告诉WebServer当前请求的是一个动态网页

tagFactory.registerTagClass("demo", BaseTag>);想对应的web切图报价,如果你想自己新建个别的标签,网站div+css完全参照demo这个做即可

开始使用 IDE 在Visual C++ Express 2008下打开符合w3c标准,下面是网站的端口网页外包接活,通常为80端口,wap前端外包为了避免可能的端口冲突web前端制作,网站程序运行起来可以使用http://localhost:8020/访问承接网页制作,fetch没有实际作用但不能省略web切图报价,可用来搜索标签,web切图报价关键部分在于demo,这个是与后端的

前端 新建jsp文件 前端的资源全部放在root文件夹下,html切图制作WebServer操作网页的根目录就在此.

简单的说网页外包接活,动态网站就是可以动态变更的网站,wap前端外包动态变化的内容通常来自后端数据库web前端制作,如下省略万字(动态网站)

添加标签 在后端代码部分,web前端制作我们已经添加过标签处理类承接网页制作,这里需要添加前端部分,div前端切图只有这两边对应起来web切图报价,跟第一行比符合w3c标准,这里你也可以改成其他的网页外包接活,但形式必须保证一致,jpg或psd转html比如你可以改成value="english",那么对应后端的DemoTag部分中的

index.jsp

小结 添加Service类,web前端制作并在ServiceDispatcher中根据文件名分发添加Tag类承接网页制作,并在BaseTagManager中注册添加jsp网页,承接网页制作注意与Tag类配合

点击次数:5080
作者:
web前端行业资讯
Web new NewsList
英特尔宣布与法拉利跨界合作欲将AI技术用于赛车运动 ,,2018年01月11日甲骨文服务器出漏洞:攻击者用漏洞挖矿获取加密货币 ,,2018年01月11日用深度学习设计图像视频压缩算法:更简洁、更强大 ,,2018年01月11日Ubuntu内核和NVIDIA更新:修复Meltdown和Spectre两处漏洞 ,,2018年01月11日AntDesign3.1.1发布,阿里企业级UI设计语言 ,,2018年01月11日微信「跳一跳」带火小游戏,开发者如何快速上手? ,,2018年01月11日谷歌公布最新安卓系统份额:你用上奥利奥了么? ,,2018年01月11日腾讯开发出“3D音效”算法:普通耳机实现3D实时语音效果 ,,2018年01月11日谷歌工程师点赞中国程序员实现Node.js启动超4倍提速 ,,2018年01月11日三星电子总裁兼CE部门负责人金炫奭:万物互联时代到来 ,,2018年01月11日NVIDIA和大众合作建立智能驾驶助手 ,,2018年01月11日GIMPS项目报告发现已知最大素数 ,,2018年01月11日微软与生物技术公司开展AI驱动的血液检测同时诊断数十种疾病 ,,2018年01月11日微软跨平台移动开发工具套件HockeyApp宣布免费 ,,2018年01月11日《硅谷》里神乎其神的压缩技术,AI正在一点点做出来 ,,2018年01月11日LinuxMint19代号敲定为“Tara”预计2018年5月至6月期间发布 ,,2018年01月11日Facebook发布wav2letter工具包,用于端到端自动语音识别 ,,2018年01月11日开源数据库ArangoDB正进行约1156万美元股权融资 ,,2018年01月11日IntelCPU漏洞闹大:腾讯云紧急升级 ,,2018年01月11日2018年1月全球数据库排名:Redis夺回第八 ,,2018年01月11日Lyft将联手无人驾驶公司于CES上展示无人驾驶汽车 ,,2018年01月11日京东X无人超市首家社会门店开业:刷脸进、微信自动结算 ,,2018年01月11日担心被AI取代是杞人忧天?高晓松跨年演讲说的有几分对 ,,2018年01月11日免费授权技术许可Intel宣布在未来CPU中集成雷电3 ,,2018年01月11日算法决定你在社交媒体上看到的信息 ,,2018年01月11日谷歌安全博客披露“英特尔内核漏洞”更多细节 ,,2018年01月04日Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日ArrayList的初步了解【编程语言】2015年06月03日CakePHP去除默认显示的标题及图标的方法2014年01月29日jQueryUI组件jQueryUI1.8.15发布 ,,2016年06月29日Android点滴---AndroidAnnotationsjava.lang.ClassNotFoundException 【编程语言】2015年04月02日Meta标签生成器2014年01月29日centos搭建lnmp【架构设计】2015年08月15日jQuery移除指定id的div中指定id的img元素 【编程语言】2015年05月05日打造androidORM框架opendroid(五)——数据更新的实现 【架构设计】2015年01月27日Windows10(WindowsTechnicalPreview)下载地址及秘钥 【编程语言】2014年12月29日第18周OJ测试项目5--保密电文 【编程语言】2014年12月29日给小吴:从实践下手去学编程【互联网】2015年01月30日读取TXT文件内容的方法2014年01月29日Jquerysubmit()无法提交问题2014年01月29日两种方式自定义标签工具栏 【移动开发】2014年11月04日camel标记法是什么方法 【架构设计】2015年05月11日AndroidLoaderCallbacks 【编程语言】2015年06月02日BZOJ2226Spoj5971LCMSum数论 【综合】2015年01月04日jsshowModalDialog弹出对话框的简单实例(子窗体)2014年01月29日算法:如何高效产生m个n范围内的不重复随机数(m<=n) 【互联网】2014年12月03日Leetcode:UniquePaths 【数据库】2015年04月13日androidSDK下各目录的用途,以及在不同系统下哪些是通用的, 【移动开发】2015年01月21日python学习笔记(一)-基础【移动开发】2015年02月02日为什么签订合同前不提供设计样稿?2014年01月28日UITableViewCell的选中时的颜色及tableViewCell的selecte与deselecte 【编程语言】2014年11月24日4月第1周全球域名总量TOP20:香港连降两级至第十八 【互联网】2015年04月24日服务器、客户端简单交互程序 【编程语言】2015年04月13日纽约市长新年计划:学习编程 ,,2016年07月24日Java开源门户平台,GateIn3.2.0.Final发布 ,,2016年06月23日android视频开发2分之1(仿美拍,糗百) 【Web前端】2015年07月01日VS2010出现"PCH警告:标头停止点不能位于宏或#if块中"异常的解决方法 【移动开发】2015年02月25日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)