支持 cookie 和 SQL 的 C++ Web 框架

Posted

技术标签:

【中文标题】支持 cookie 和 SQL 的 C++ Web 框架【英文标题】:C++ Web-framework with cookie and SQL support 【发布时间】:2011-06-04 09:00:03 【问题描述】:

晚上好,

我正在构建一个看起来像这样的网站: 所以可能一个以小部件为中心的网络框架是最好的......

哪个 C++ 网络框架支持 cookie(用于用户登录 [会话] 存储 + 配置存储)和 SQL(mysql 或 SQLite)?

我关于 Wt 的信息已经过时,看起来他们现在完全支持 cookie (http://redmine.webtoolkit.eu/boards/1/topics/2111)

然而,CppCMS 拥有一个充满活力的社区,而且那里的产品似乎可以更好地扩展。

我会做外交工作,使用这两个框架创建一个项目。

这将是一个精简版,只有:

用户注册 用户登录/注销(包括在取消身份验证和尝试访问 auth-req 页面时重定向) 搜索 跨屏幕传递结果的一些基本参数(请参阅初始线框以获取参考)

应该是一个有趣的项目...不知道过去有没有人这样做过?!

【问题讨论】:

【参考方案1】:

Cookie 支持和 SQL 后端支持是基本的东西,所以我想所有的 web 框架都支持它们。

我是一个非常高兴的 cppcms 用户,我可以向您保证,它可以完成您要求的所有事情。

Cppcms 的 SQL 后端使用由同一开发人员创建的 cppdb,除了支持连接池和其他不错的功能外,它还支持 MySQL、SQLite、Postgres 等。

配置存储很简单,使用 json 格式。 cppcms 还有一个不错的缓存框架,以及一个不错的 API 来创建表单、异步请求、长拉等。模板引擎既简单又非常强大,允许分离界面和应用程序逻辑。

还有,可能是我最喜欢cppcms的地方,支持非常好。订阅官方 cppcms 邮件列表: cppcms 创建者 Artyom 总是非常耐心地回复请求。就个人而言,我希望寻求支持的人能够为 cppcms wiki 做出更多贡献,所以加入我们时请记住这一点。

[编辑:实际上,我注意到你在今年 4 月的 cppcms 邮件列表上提出了相同的问题,并发布了相同的屏幕截图。我和其他人很乐意花时间回答你,但你从来没有回答过,也没有感谢我们的时间和建议。你可能会继续到处问同样的问题,但请尽量感谢那些花一点时间回答你的人。良好的社交礼仪永远不会受到伤害。]

【讨论】:

谢谢,由于 Wt 不支持 cookie,我肯定会考虑 CppCMS。 我仍在关注 Wt 的唯一原因是它的 Widget 重接口支持。 CppCMS 是否有类似的功能(即:在模型中,您会注意到各种视觉功能、手风琴、顶部选项卡、侧选项卡、可调整大小的侧边栏)。 至于你的最后一条评论,我昨天才做了这个模型......另外,我家的普通电脑坏了(GFX 卡炸了)意味着我无法访问我的旧 Firefox 会话,我' 今晚将检查我的邮件列表电子邮件以阅读您的 CppCMS 回复。谢谢 CppCMS 是一个很棒的框架,用于创建网络应用程序。非常可扩展且易于管理。【参考方案2】:

我知道这些Wt (http://webtoolkit.eu/wt) 小部件可以用于您的应用:

图表:WCartesianChart 下拉框:WComboBox 模型和过滤器代理模型:WSortFilterProxyModel、WAbstractItemModel 列表(视图):WTableView 带有可拖动拆分器的布局管理器:WHBoxLayout 标签:WTabWidget 右侧面板:WPanel 左侧的建议弹出窗口:WSuggestionPopup WLineEdit 数据库访问:Wt::Dbo(一个 ORM),或任何你喜欢的东西 Wt 中很好地支持 cookie,请参阅 WEnvironment 和 WApplication 中的 cookie 相关方法

只需将它们组合到您的应用程序中...

【讨论】:

【参考方案3】:

BinaryTiers 提供了一个完整的 Web 开发环境,包括所有使常见 Web 开发任务开箱即用的工具。 BinaryTiers 内置的一些基本工具和功能包括:

表单验证系统架构 具有内置分类和内容翻译的抽象发布架构 用户账号注册与维护 菜单管理和友好的 URL RSS-feed 聚合和联合 GNU C++ 编译器的系统管理和 Web 界面 用于 No-SQL 数据存储以及使用 Redis 和 MySQL 的关系数据库的一致编程接口 模板系统和简单的页面布局自定义 提供高扩展性的模块化设计 高速 HTTP 通信(获取、发布、Cookie、文件) 内置编码和加密功能 多平台:Linux、BSD、OSX 和 Windows

【讨论】:

对于那些来自 php-Drupal 背景并希望在 C++ 中做事的人来说,binarytiers 就像 C++ 中的 Drupal。类似的 UI、类似的 API 和 hooks 调用,你会发现自己在家里,但使用的是编译语言 :)【参考方案4】:

看看ffead-cpp,它可能满足您的需求并提供更多...

【讨论】:

这看起来相当不错+相当新。会有文件吗? :)

以上是关于支持 cookie 和 SQL 的 C++ Web 框架的主要内容,如果未能解决你的问题,请参考以下文章

Cookies,localStorage,sessionStorage,Web SQL Database(客户端)会话存储学习

web安全sql注入HTTP头&Post&Cookie注入

HTML5中Web Sql学后总结

Session和Cookie的分析与区别

Cookie 与 Web 存储 [重复]

20. Web proxies (网页代理 4个)