为什么带有 URL 映射的 Hello World 不起作用
why is hello world with url mapping not working?
我在使用 cppcms hello world 示例与 url 映射时遇到问题。
我在理解这部分时遇到困难:
int main(int argc,char ** argv)
{
try {
cppcms::service srv(argc,argv);
srv.applications_pool().mount(
cppcms::applications_factory<hello>() //i do not understand this part
);
srv.run();
}
catch(std::exception const &e) {
std::cerr << e.what() << std::endl;
}
}
在教程中说/hello - 欢迎函数将被调用,但这不是正在发生的事情。改为调用此方法:
void hello::main(std::string /*url*/)
{
response().out() <<
"<html>n"
"<body>n"
" <h1>Hello World</h1>n"
"</body>n"
"</html>n";
}
欢迎方法如下所示,它是在 hello 类的作用域中定义的:
void welcome()
{
response().out() <<
"<h1> Welcome To Page with links </h1>n"
"<a href='" << url("/number",1) << "'>1</a><br>n"
"<a href='" << url("/number",15) << "'>15</a><br>n"
"<a href='" << url("/smile") << "' >:-)</a><br>n";
}
如果你能帮助我,我需要一些答案。我只是想理解,所以如果你能指出我正确的方向,那就太好了。
您需要在 hello 构造函数中设置映射,如 hello world 示例和您在答案中发布的链接所示。
特别是这部分:
dispatcher().assign("",&hello::welcome,this);
mapper().assign("");
mapper().root("/hello");
这会将 hello 应用程序的默认路由映射到"welcome"方法。如果不设置映射,它将默认为 main。
我个人对这个库了解不多,但它看起来像一行:
cppcms::applications_factory<hello>()
你用服务器来断言,并即时启动某种hello
类。然而我
相关文章:
- 无法编译wxWidgets Hello World
- 简单C++"Hello World"程序的执行时间长
- 使用 AWS Lambda 触发C++文件 - Hello World
- 使用 Visual Studio 2019 构建 Hello World wxwidgets 应用程序时出错
- 我怎样才能在行尾使用 cout<<"hello world";不使用 ;
- QWebSocket Hello World Example
- 为什么下面的Hello World程序在PowerShell上没有显示任何输出?同一程序在CMD上显示正确的输出
- 我需要安装什么才能获得在Windows Server 2012 R2 Standard上运行C++hello world
- 运行Qt时处理退出代码0xC0000135 hello world
- 如何使用CLion和MSVC编译器工具链编译wxWidgets Hello World应用程序而没有错误?
- 为什么 MSVC C++编译器将一个简单的 Hello World 扩展为 4000 行汇编?
- 无法运行简单的N-API hello-world示例
- 如何使用python运行Hello world c ++代码
- Eclipse 构建错误在默认的 hello world 上
- SDL Hello World 程序不输出消息
- 在 Hello World.exe 中0x0F828F0E (ucrtbased.dll) 处未处理的异常: 0xC00
- 为什么一个简单的"Hello World"风格的程序不能用Turbo C++编译?
- C Hello World程序中使用了哪种数学
- Visual Studio 中的 Hello World C++ 应用程序 - 关于预编译标头不同的问题
- CPP-Netlib Hello World 示例不会在 Linux 上编译