我如何运行POCO c++服务器页面
How do I run POCO C++ server pages?
我是c++服务器页面的初学者。我已经尝试过 c++服务器页面,但无法连接ODBC,它用于给出链接错误"undefined reference to SQLAllocHandle@12
",我无法解决它。与microovae类似,POCO也提供c++服务器页面。所以我想试试。我试了一个来自http://pocoproject.org/docs/PageCompilerUserGuide.html#0的样品。
我所做的是,首先创建一个名为TimeHandler.html的文件,其中包含以下内容:
<%@ page class="TimeHandler" %>
<%!
#include "Poco/DateTime.h"
#include "Poco/DateTimeFormatter.h"
#include "Poco/DateTimeFormat.h"
using Poco::DateTime;
using Poco::DateTimeFormatter;
using Poco::DateTimeFormat;
%>
<%
DateTime now;
std::string dt(DateTimeFormatter::format(now, DateTimeFormat::SORTABLE_FORMAT));
%>
<html>
<head>
<title>Time Sample</title>
</head>
<body>
<h1>Time Sample</h1>
<p><%= dt %></p>
</body>
</html>
然后,我使用命令行页面编译器工具,即命令提示符下的CPSPCD,它生成了以下两个文件,.
1) TimeHandler.cpp
#include "TimeHandler.h"
#include "Poco/Net/HTTPServerRequest.h"
#include "Poco/Net/HTTPServerResponse.h"
#include "Poco/Net/HTMLForm.h"
#line 2 "C:\Users\Admin\Desktop\data structures\vinz\TimeHandler.html"
#include "Poco/DateTime.h"
#include "Poco/DateTimeFormatter.h"
#include "Poco/DateTimeFormat.h"
using Poco::DateTime;
using Poco::DateTimeFormatter;
using Poco::DateTimeFormat;
void TimeHandler::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
{
response.setChunkedTransferEncoding(true);
response.setContentType("text/html");
Poco::Net::HTMLForm form(request, request.stream());
std::ostream& responseStream = response.send();
responseStream << "";
responseStream << "n";
responseStream << "";
responseStream << "n";
responseStream << "n";
responseStream << "";
#line 13 "C:\Users\Admin\Desktop\data structures\vinz\TimeHandler.html"
DateTime now;
std::string dt(DateTimeFormatter::format(now, DateTimeFormat::SORTABLE_FORMAT));
responseStream << "n";
responseStream << "<html>n";
responseStream << "<head>n";
responseStream << "<title>Time Sample</title>n";
responseStream << "</head>n";
responseStream << "<body>n";
responseStream << "<h1>Time Sample</h1>n";
responseStream << "<p>";
#line 23 "C:\Users\Admin\Desktop\data structures\vinz\TimeHandler.html"
responseStream << ( dt );
responseStream << "</p>n";
responseStream << "</body>n";
responseStream << "</html>";
}
2) TimeHandler.h
#ifndef TimeHandler_INCLUDED
#define TimeHandler_INCLUDED
#include "Poco/Net/HTTPRequestHandler.h"
class TimeHandler: public Poco::Net::HTTPRequestHandler
{
public:
void handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response);
};
#endif // TimeHandler_INCLUDED
然后我在VS 2010中创建了一个新项目,并添加了这两个文件并编译。有一些问题,但后来我更新了环境变量,它进行得很好。但还有最后一个错误,"...."未解析的符号_main....".
里面没有主…那么我怎么运行这个程序呢??如果不是这个程序,至少有人能给一个概述,关于如何在html中嵌入c++代码,编译和运行它。
您所展示的示例仅创建单独的页面(处理程序)实现。
你需要添加一个实际的HTTPServer来服务这个页面。
见:http://pocoproject.org/docs/Poco.Net.HTTPServer.html
在
下的源代码下载中有一个示例 poco-1.4.2p1.zippoco-1.4.2p1NetsamplesHTTPTimeServer
你应该能够从那里得到一些工作
相关文章:
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- Poco FindMySql.cmake 无法找到 MySQL 源代码
- 像 POCO 这样的C++图书馆如何访问网络?
- Poco::Net::FTPClientSession 在 open() 方法上挂起 129 秒,如果 ftp 主机不存
- 使用 Poco::Zip 将文件附加到现有 zip 文件
- 无法使用 Poco 库正确克隆 JSON 数组C++
- Poco 库 PUT 方法未按预期工作,尽管主机、方法、内容类型设置正确
- POCO C++对象到 JSON 字符串序列化
- 错误:字段'dateOfBirth'的类型不完整'Poco::Data::Date'
- POCO C++加密/解密
- C++ POCO - 如何在不使用 run() 方法的情况下启动线程池上的线程?
- 使用 Poco::zip 添加新目录始终给出异常
- C++ Poco - 如何创建通知队列的向量?
- 如何使用 Poco::ZIP 压缩/解压缩 zip 文件
- C++ POCO - 如何美化 JSON?
- C++ Poco - 如何向特定线程发送通知/消息?
- 如何在 Poco 中将工作 HTTP 代码转换为 HTTPS
- 对于 poco 库来说,Boost_USE_STATIC_LIBS相当于什么?
- 与Poco库的Websocket连接
- 在C++中使用POCO和grain对多个对象进行反序列化