之前的博客上讲了开发板上移植appweb的过程,这篇博客就记录一下如何开发一个典型的基于appweb的mvc架构的网站
1.前言
1.1环境参数
开发板:mini2440 64MB内存 256MB Flash
PC系统:X86 ubuntu10.04 gcc:4.4.3
交叉编译器:gcc 4.4.3
appweb版本:5.0.0-rc1
1.2简介
ESP全称是Embedded Server Page,和jsp(Java Server Pages)很相似,前者支持将C语言嵌套到html中后者支持将Java语言嵌套到html中来实现动态网页。下面摘抄一点官网上的原话:
ESP is the blazing fast "C" language web framework that works at thought-speed.ESP is not a traditional low-level environment. It is a powerhouse MVC framework in a tiny footprint with most things you'd expect from an enterprise web framework including: MVC, scaffolds, templates, WebSockets, integrated databases, database migrations and more.
ESP的document:https://embedthis.com/esp/doc/index.html
AppWeb的document:https://embedthis.com/appweb/doc/index.html
其他工具的网址:https://embedthis.com/products.html
2.一个简单的MVC登录
由于开发的是嵌入式web,每改动一点内容就要重新编译然后再下载到开发板中测试,很是麻烦,所以一般采取的方法是先在PC上开发好,测试好后然后移植到开发板上。所以我们先要在PC上安装AppWeb以及其它工具,然后开发一个web应用,最后移植到开发板上。
2.1向PC上安装AppWeb
下载源码:
去网址:http://appwebserver.org/downloads/appweb/download.esp下载appweb的源码,我下载的版本是appweb5.0
编译:
(i)解压源码文件
(ii)把文件appweb-linux-default-me.h中的#define ME_COMPILER_HAS_SYNC64 1注释掉,不然会报错“undefined reference to `__sync_add_and_fetch_8'collect2: ld returned 1 exit status”
//#define ME_COMPILER_HAS_SYNC64 1
(iii)make
make -f projects/appweb-linux-default.mk
编译完后会在../appweb-5.0.0-rc1/linux-x86-default文件下生成目标文件将
(iiii)安装
make –f project/appweb-linux-default.mk install
2.2利用appweb提供的工具建立MVC模板
参考网址:https://embedthis.com/esp/doc/guide/esp/start/mvc-tour.html
这个程序很简单,就是输入用户名和密码,如果用户名是“abc”密码是“123”那么页面就跳到loginOK页面,如果不是那么页面就跳转到loginError页面。
目的是熟悉流程和简单地理解appweb,里面没有涉及到数据库,所以MVC中的M就没有很好地体现,主要是V和C,如果要完整的实现可以认真地阅读上面的参考网址。