发明名称 基于FastCGI和HTML模板的嵌入式WEB MVC开发框架
摘要 基于FastCGI和HTML模板的嵌入式WEBMVC开发框架,该框架运行向下依赖FastCGI进程管理器及网页服务器,向上为WebAppPlugin业务逻辑处理模块提供服务;该框架包括FastCGI子进程模块、请求派发控制模块、侦听器管理模块、业务插件管理模块、Session会话控制模块、编解码模块、数据接收模块、数据响应输出模块和HTML模板模块。本发明提供了一种基于FastCGI和HTML模板的嵌入式WEBMVC开发框架,适用于小型嵌入式设备,小巧、高效、结构优良,框架体积小巧只占用100K左右flash空间。
申请公布号 CN102902537A 申请公布日期 2013.01.30
申请号 CN201210350593.5 申请日期 2012.09.19
申请人 厦门亿联网络技术股份有限公司 发明人 黄庆文
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 厦门市新华专利商标代理有限公司 35203 代理人 朱凌
主权项 基于FastCGI和HTML模板的嵌入式WEB MVC开发框架,该框架运行向下依赖FastCGI 进程管理器及网页服务器,向上为WebApp Plugin业务逻辑处理模块提供服务;其特征在于:该框架包括FastCGI 子进程模块 、请求派发控制模块、侦听器管理模块、业务插件管理模块、Session 会话控制模块、编解码模块、数据接收模块、数据响应输出模块和HTML模板模块;所述FastCGI 子进程模块:通过Socket 或者PIPE 与所述网页服务器通信,用于阻塞等待所述FastCGI 进程管理器的连接;当接收到浏览器的请求时,所述网页服务器与该模块建立连接,将数据传递过来,该模块完成处理后将标准输出和错误信息从同一连接返回所述网页服务器;当该模块关闭连接时,请求便告处理完成;该模块接着等待并处理来自运行在网页服务器中的FastCGI进程管理器的下一个连接;若是在CGI模式中进程在此便退出了,再将结果数据传递给网页服务器并关闭连接,再阻塞等待下一次连接;所述请求派发控制模块:负责请求到来时,使用多线程对请求进行派发控制处理;该模块从FastCGI 进程管理器获得请求,首先调用所述数据接收模块将页面数据封装,然后调用所述Session 会话控制模块刷新Session,后将请求交给所述侦听器管理模块;所述侦听器管理模块:负责根据配置文件动态加载、管理所述WebApp Plugin业务逻辑处理模块的业务侦听器插件;侦听器容器从所述请求派发控制模块获得请求,根据配置将请求交给各侦听器逐一处理,侦听器处理完后根据返回结果决定是否继续处理该请求,如不需要处理则返回所述数据响应输出模块,如需处理则将请求交给所述业务插件管理模块;所述业务插件管理模块:负责根据配置文件动态加载业务插件,管理所述WebApp Plugin业务逻辑处理模块的业务处理插件;该模块接收到所述侦听器管理模块的请求后进行相应的业务逻辑处理,此时用户可视情况决定直接拼凑HTML将处理结果输出到客户端或者将结果数据封装到一个链表,并设置所述HTML模板模块通过该模板输出HTML到客户端;所述Session 会话控制模块:为用户二次开发提供会话控制功能,该会话控制利用cookie实现,在向浏览器返回数据时设置上一个Cookie 携带上一串随机生成的Session id,同时该Session id 与Session容器中某个Session 对象建立一对一关联;浏览器重新发起请求时会带上Cookie,所述网页服务器获取该Cookie找到Session id再查找到Session 对象,以此对象维护多个请求间的会话;当浏览器一定时间没有和网页服务器请求时,Session自动超时销毁;所述编解码模块:完成URL,HTML特殊字符编解码;所述数据接收模块:对请求提交的数据进行统一封装,对应用层屏蔽GET提交和POST 提交的差异,用户通过该模块API 获取表单、cookie、文件上传数据;所述数据响应输出模块:对HTTP响应信令进行封装提供重定向、状态码、响应内容类型、字符编码、HTML输出功能支持;所述HTML模板模块:通过使用服务端标签实现内容动态替换,标签包括数据输出标签、逻辑判断标签、循环控制标签、文件包含标签四类。
地址 361009 福建省厦门市软件园二期望海路63号402-502单元