Web框架介绍与使用说明_第1页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、框架介绍及使用说明这是一个MVC模式的WEB框架,框架有CGI和FastCGI两种模式。CGI(Common Gateway Interface)公共网关接口,是HTTP服务器与其他程序通信的工具。FastCGI是一个long-live型的CGI,支持分布式计算,它将CGI解释器进程保持在内存中并因此获得较高的性能。FastCGI工作方式是接受Web服务器的请求,以HTTP Request的方式进行响应,实现了应用程序与Web服务器的分离。它的使用需要在Web服务器中安装支持组件,目前支持Apache、Nginx、IIS、Lighttpd等。框架的优点有:稳定性,框架是以独立的进程池运行来运行

2、,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑安全性,框架和宿主的server完全独立,框架怎么down也不会把server搞垮性能,框架把动态逻辑的处理从server中分离出来, 大负荷的IO处理还是留给宿主server, 这样宿主server可以一心一意作IO,对于一个普通的动态网页来说,,逻辑处理可能只有一小部分,大量的图片等静态IO处理完全不需要逻辑程序的参与扩展性,框架拥有良好的可扩展性,可根据需求对框架进行扩展。保密性,框架使用C+进行编译,编译产生的CGI文件无法看到源码,并且框架的CGI文件只能执行一个,执行中文件不能替换。即便是恶意上传了CGI文件也

3、无法执行。SEO优化,框架有着很方便的伪静态功能,可以非常方便的优化SEO。高效性,C+拥有非常高效的执行效率,响应速度远比其他脚本语言快得多。方便调试,框架有日志功能,自动记录错误信息。调试很方便。数据库自动连接,框架可以通过配置文件自动连接MySQL,MariaDB,sqlite数据库。跨平台,框架可以在Windows和Linux系统编译和运行,使用起来很方便。开发周期短,可以在最短时间内开发出强大的Web后台。框架部署可使用Apache或其他web服务器来部署框架,下面以Apache做示范。# STEP:1.开启基于主机的组授权(去掉下面这行的注释即可)(默认是开启的,可以跳过)Load

4、Module access_compat_module modules/mod_access_compat.so# STEP:2.开启apache的代理模块(直接去掉前面的注释即可)(默认是开启的,可以跳过)LoadModule proxy_module modules/mod_proxy.so# STEP:3.开启代理http和https请求(直接去掉前面的注释即可)(默认是开启的,可以跳过)LoadModule proxy_http_module modules/mod_proxy_http.so# STEP:4.开启rewrite模式(直接去掉前面的注释即可)LoadModule rew

5、rite_module modules/mod_rewrite.so# STEP:5.开启CGI和FCGI及SSL配置(直接去掉前面的#注释即可)(fcgi可能没有需要下载)LoadModule cgi_module modules/mod_cgi.soLoadModule ssl_module modules/mod_ssl.soLoadModule fcgid_module modules/mod_fcgid.so# STEP:6.开启CGI路径的访问权限 可以选择默认目录也可以选择cgi-bin,有权限执行就行。 AllowOverride All Options +ExecCGI Or

6、der allow,deny Allow from all# STEP:7.修改映射地址 使用默认目录则无需此步骤ScriptAlias /cgi-bin/ G:/var/www/cgi-bin/ # STEP:8.添加后缀(重点!)AddHandler cgi-script .cgi .pl .pyAddHandler fcgid-script .fcgi# STEP:9.添加默认首页和CGI执行权限(重点!)Options FollowSymLinks ExecCGIDirectoryIndex index.cgi index.fcgi完成配置之后开启Apache就可以运行Web框架了。解

7、压群文件中的根目录.zip 即可得到项目目录。将编译好的cgi或者fcgi文件放入跟目录即可运行。开启apache服务后浏览器访问localhost或自定义域名即可访问。框架目录与结构Application目录是框架核心目录,用于存放配置文件和HTML文件。View目录下放置各控制器的HTML文件,以控制器类名区分。如CIndex控制器的文件放在index目录下,CLogin控制器的文件放在login目录下。Config.txt文件是框架的配置文件,用于配置框架的各种属性,详细配置可打开查看。Database.txt文件用于框架与数据库的连接,目前支持MySQL/MariaDB/Sqlite数

8、据库,配置好之后,框架即可自动连接到目标数据库。跳过CModel对象即可直接使用。Route.txt文件是伪静态配置文件,用于伪静态的路由配置。格式如下:伪静态:控制器/方法: 如 index:index/index: 表示访问 index.html 等同于访问index/indexDatabase目录则是默认的sqlite数据库路径,并非必须存在。也可以更换为其他目录。Log目录是存放框架日志的目录,若此目录不存在,框架会自动创建该目录。Public目录是存放项目公共部分文件的目录,如CSS/JS/Image等。Session目录用于存放会话,若此目录不存在框架会自动创建。.htaccess

9、 文件是apache的配置文件,用于指定cgi或fcgi文件。框架的编译与使用框架可使用多个编译器,推荐使用vs2010或vs2019,下面使用这两个编译器作为示范。Vs2010:先创建一个空项目。完成后修改项目版本为Release版本(重要)修改目标文件名和扩展名为index和.cgi(或fcgi)附加框架的目录(重点)修改运行库为多线程(/MT)接下来添加一个C+类,并且继承框架的控制器类。(别忘了包含框架的头文件)继承后,我们的CIndex就变成了一个控制器类,可以直接使用控制器方法了。接下来,写一个静态方法index() 这样子,一个最简单的控制器就写好了。接下来,就要注册这个控制器,

10、并使用。首先添加一个新建项用于编写入口绑定路由之后,就可以通过请求对应的路由或伪静态来访问了。(重点)接下来有两种选择,要么使用框架静态库,要么直接引用框架项目。先来说说使用静态库的方式:先编译好框架,然后附加静态库依赖。第二种方法是直接引用框架项目先添加框架项目然后引用框架好了,这样子就大功告成了。按下F7进行编译,编译完成后就可以得到index.cgi或index.fcgi了。然后把得到的index.cgi或index.fcgi放入根目录下,然后开启apacheWeb服务器。浏览器中访问项目站点就可以访问到了。是不是很简单呢。然后来说下url访问吧,如果控制器和方法均为空,也就是直接访问l

11、ocalhost那么就会默认访问到index控制器的index方法,也就是说,等价于访问index/index要注意的是,必须是注册过的路由才能访问,若是没有注册过,那么就不能访问。例如,访问index/admin 这个是没有注册过的路由,自然没办法访问到了。然后说一下伪静态,首先打开application目录下的route.txt添加一条伪静态 格式在上一章说过了。这样子就可以通过伪静态来访问了。访问index.html 等价于访问index/index如果在使用过程中出现了错误,那么可以查看日志文件日志文件在根目录的log目录下若要查看更为详细的Demo示例项目,可下载群文件中的Demo示例项目。Linux下的安装与使用: 首先安装依赖的工具,包括:gcc g+ make然后获取并安装 CgiManager 库git:ShadowViolet/CgiManager.gitcd CgiManagermakemake install在任意位置新建 main.cpp,以基本的 hello wor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论