我正在使用C servlet和Kyoto cabinet来存储数据库。
我的问题是,G-wan如何调用servlet?
与java servlet相比,它们有init和service破坏生命周期? gwan如何工作?
int main(int argc, char *argv[])
{
KCDB *db = kcdbnew();
if(!kcdbopen(db, "casket.kch",KCOREADER)) {
fprintf(stderr, "open error: %s\n", kcecodename(kcdbecode(db)));
}
是否可以先打开数据库连接并与多个http请求共享?
答案 0 :(得分:1)
G-WAN动态编译servlet,并在请求地址时运行它们。例如:当/?hello.c或/?hello请求等时运行hello.c ...因此,当请求结束时,您的servlet范围的变量被释放。因此,您必须使用服务器,虚拟主机或处理程序指针来持久保存变量。要设置全局指针,您可以查看该基本示例:
http://gwan.com/source/persistence.c
您还可以查看以下链接:
- GWAN Key-Value persistent multiple store
- GWAN Key-Value persistent store
- How to hold data structures in memory G-wan with Java / Scala
- https://stackoverflow.com/a/16278305/1576270
- http://gwan.com/source/mysql.c