gpt4 book ai didi

c++ - cppcms - 为什么带 url 映射的 hello world 不起作用?

转载 作者:搜寻专家 更新时间:2023-10-31 01:47:22 26 4
gpt4 key购买 nike

我在使用 cppcms 时遇到问题 hello world example带有 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。

关于c++ - cppcms - 为什么带 url 映射的 hello world 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19255911/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com