使用delphi 开发多层应用(十一)使用kbmMW 开发webserver

用kbmMW 开发webserver也是非常方便的。

还是以前面的简单服务器为基础,我们先要通过kbmMW的service wizard 来建立web 服务。

如图,先选择web server service

点下一步,出现选择文件目录的界面

我们这里用webfiles 相对路径,就是在网页文件放到可执行文件目录下的webfiles 目录。

点下一步,出现输入服务名的界面,注意这里的服务名必须是HTTPSERVICE.

后面的基本上就和其他服务类似了,可以一路点下去了。然后就生成对应的服务器代码。

回到from1上,这里需要对TkbmMWTCPIPIndyServerTransport设置一下,使其满足http 协议的要求。

第一要设置端口号为80,也就是常用的http  协议的端口。

第二是要设置StreamFormat 为AJAX ,注意只能是这个,其他的不可以。

设置完控件,就可以在注册这个web server 服务器。

procedure TForm1.FormCreate(Sender: TObject);var  sd:TkbmMWCustomServiceDefinition;  httpsd:TkbmMWHTTPServiceDefinition;begin

sd:=kbmMWServer1.RegisterService( Twebsrv,false);      httpsd:=TkbmMWHTTPServiceDefinition(sd);     TkbmMWServiceDefinition(sd).MaxCount:=200;     httpsd.RootPath[mwhfcHTML]:='webfiles';     httpsd.RootPath[mwhfcImage]:='webfiles';     httpsd.RootPath[mwhfcJavascript]:='webfiles';     httpsd.RootPath[mwhfcStyleSheet]:='webfiles';     httpsd.RootPath[mwhfcOther]:='webfiles';

end;

服务器端就基本上设置好了

现在编译运行。然后在浏览器里面输入http://127.0.0.1

就可以访问服务器了

一切运行正常。

注意:正如我前面文章说的,由于kbmMW 在处理汉字与英文混合的文件有小bug, 作者要求所有的文件

都以UTF-8 格式保存,如果不是UTF-8 格式就可能出现问题,当然如果实在要用非UTF-8 格式的文件

可以参考我前面介绍的方法对kbmMW 进行修正,就可以处理了。

 

时间: 2024-09-16 13:15:20

使用delphi 开发多层应用(十一)使用kbmMW 开发webserver的相关文章

使用delphi 开发多层应用(二十一)使用XE5 RESTClient 直接访问kbmmw 数据库

     delphi XE5 出来了,增加了android 的开发支持,另外增加了一个RESTClient 来支持访问REST 服务器. 这个功能非常强大,可以直接使用非常多的REST 服务器.同时也可以支持访问kbmmw 的web 服务器, 并完美的通过JSON支持使用kbmmw 的JSON 数据格式.使我们非常方便的在win32,win64,mac os,ios 和android 上访问kbmmw 的数据库.     首先我们建立一个可以返回JSON 的kbmmw web 服务器.这个可以

使用delphi 开发多层应用(三)Delphi常用多层框架介绍

    目前在delphi 开发多层应用的框架基本上集中在以下几种,每种开发框架都有自己的优缺点,没有最好的,大家可以根据 自己的实际需求选择相应框架,我把我本人在使用几种框架的体会与大家分享一下.如有不对之处,可以拍砖.      1. DELPHI 自身提供的DataSnap       从delphi 3 开始,delphi 自身就开始支持多层开发,后期的版本逐步加强三层开发功能,在delphi 6 以后, 把这一功能叫Datasnap,并且每个都有很多变化,包括DBExpress 的数据

Delphi.NET多层应用系统开发技术研讨

从上个星期就开始有朋友问我为什么很久没有更新Blog了,其实我想我写Blog已经很勤快了,这次10多天没有更新Blog想当然是我又开始出差了.上星期台湾进行了『Delphi.NET多层应用系统开发技术研讨会』,在DevCo重新在台湾举办活动1,2个月之后,的确发现慢慢的一些客户开始回流来参加研讨会了,这是个好现象,也让我有机会和一些朋友谈谈他们的工作近况以及他们希望能够听到什么主题的研讨会.而之所以DevCo会在上星期举行『Delphi.NET多层应用系统开发技术研讨会』就是因为许多朋友都在询问

使用http.sys,让delphi 的多层服务飞起来

      一直以来,delphi 的网络通讯层都是以indy 为主,虽然indy 的功能非常多,涉及到网络服务的 各个方面,但是对于大多数多层服务来说,就是需要一个快速.稳定.高效的传输层.Delphi 的 datasnap 主要通过三种实现数据通讯的,一种是大家恨得牙痒痒的indy,另外一种是通过iis 的isapi,最后一种是通过 apache  的动态模块(DSO) 来实现.      indy 的问题多多,大家基本上都是趋向使用后两种方式,后面两种方式的麻烦是必须安装IIS 或者是 A

在.NET下多层架构企业管理系统的开发

架构 摘 要 随着.NET 2.0的发布,在.NET下用多层架构来构建企业管理系统也越来越方便.本文以某国外贸易公司的管理系统为背景,介绍在.NET平台下,采用多层架构构建企业管理系统. 关键词 .NET:单元测试:B/S架构 引言 .NET 框架是微软开发出的新一代开发平台.允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统.设备或编程语言.本文介绍的管理系统是在.NET平台下开发的,以极限编程的开发思想,采用了面向对象开发.B/S架构.ASP.NET.C#以

Windows 8开发入门(十一) Windows 8 中的Toast Tile Badge通知

在Windows 8中有三种通知的方式及时提醒用户,它们分别是Toast,Tile,Badge Toast:是在应用程 序中及时弹出的提醒通知. Tile:是磁贴通知,用于Metro界面中的应用程序图标上进行图片和文字通 知. Badge:是在磁贴小贴士通知,用于Metro界面中的应用程序图标右下角提示当前有多少新消息或 者当前应用程序状态,如(playing paused newMessage)等. 准备工作:首先:引用 NotificationsExtensions.winmd库,这是对各种

Windows 8风格应用开发入门 三十一 构建磁贴

磁贴是吸引用户经常使用应用重要手段之一.我们可将应用程序内较好的内容使用磁贴进行展示. 另外应用程序磁贴是应用程序中的核心部分,而且很可能也是用户最常见到的部分,因此利用 动态磁贴来吸引用户经常使用我们的应用程序! 开发入门 三十一 构建磁贴-磁贴风格"> 本篇博文主要介绍如何创建基本磁贴(也就是默认磁贴)以及如何使用本地通知更新磁贴. 一.创建基本磁贴 基本磁贴也可以叫做默认磁贴.通常我们点击基本磁贴来启动或者切换应用 . 我们可以在应用程序清单文件中设置默认的静态磁贴,并且该静态磁贴分

Android开发入门(十一)选择控件 11.2 DatePicker

DataPicker和上一节讲的TimePicker很相似.使用DatePicker,可以让用户选择一个特定的日期.下面展 示如何使用DatePicker. 1. 使用上一节的工程,BasicViews4,修改main.xml. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/and

Android开发入门(十一)选择控件 11.1 TimePicker

使用TimePicker,可以让用户去选择一天中的事件,包括24小时制和AM/PM制.下面的例子将会展示如何 使用TimePicker. 1. 创建一个工程:BasicViews4. 2. main.xml中的代码. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q