首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

13.2 对话数据库

wiki的每一页都可能是用户创建和编辑的。这意味着你必须把用户贡献的内容保存起来,以备不时之需。最好的解决方案是建立一个简单的数据库,可以保存所有的数据。为了让JavaScript代码化的客户端能够与数据库对话,你需要开发一些代码位于代码服务器端,起连接客户端与wiki数据库的作用。每一次数据库的查询流程如图13-2所示。这个过程与各种形式的语句执行(如SELECT、INSERT等)是一致的。

图13-1 运行中的 wiki 截图

客户端与数据库需要进行两次通信。第一次是查询数据库,以获取某个具体页面的所有修订。第二次是把新的修订插入到数据库中。这两者的流程是一样的,这样就可以容易地构建一个通用的、简单的通信层,这个层可以用在这里或者其他地方的JavaScript应用程序中。拥有这个通用通信层的另一个有益之处,在于你可以容易地在整个通信流程(见图13-2)步步为营,并了解JavaScript是怎么与数据库通信的。

SQLite DB

 

SQL查询

 

Ajax请求

 

SQL结果

 

JSON响应

 

服务器

端代码

 

JavaScript

客户端

 

图13-2 应用程序执行客户端请求的流程

注意 重要的是,你不应该从客户端直接发送原始的SQL请求。因为这样做的话会让服务器端和数据库无法抵抗恶意的攻击。因此应用程序中的所有SQL请求都应映射为关键字,然后转换为服务器端的真实请求。这会在保持客户端灵活的同时,仍能保护数据库免遭攻击。

为了进一步理解这个流程是如何运行的,你将逐步理解从JavaScript客户端发送请求到服务器端和数据库的过程。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论