- 浏览: 265820 次
- 性别:
- 来自: 北京
最新评论
-
DragonKiiiiiiiing:
支持楼主,中国互联网太缺这种无私奉献的人了。您的这本书我已拜读 ...
JAVA NIO 全书 译稿 -
sp42:
非常感谢!热部署帮助很大!
Pure JS (2): 热部署 (利用 JDK 7 NIO 监控文件变化) -
sp42:
其实在我的架构中,我更倾向于 JSP 作为前端模板系统~还是写 ...
Pure JS (5.3):pure.render 的实现(构造window对象,实现服务器端 JQuery Template) -
sp42:
非常不错,楼主做的正是鄙人想做的做的,而且比鄙人的来的成熟、健 ...
OMToolkit介绍(5): 总结 -
cfanllm:
楼主辛苦了,,,谢谢分享啊
JAVA NIO 全书 译稿
文章列表
MongoDB Java Driver 包含 7 个主要的 Package,本文将对包之间的依赖关系进行分析,并简要描述买个包的功能,并对每个包中的主要类的作用进行简要说明。
包之间的依赖关系
下图展示了包之间的依赖关系:
可以看 ...
PandaJS 使用说明(1.10):小结
PandaJS 是基于 Rhino、MongoDB、Server-side jQuery Template 的 JS 编程工具包,目标是使用更一致的方式编写客户端和服务器端的 js 代码。它采用嵌入式的 Jetty 作为 Web Server,依赖于 Java 7。
PandaJS 在服务器端的页面渲染也采用 JQuery Template 的语法,而数据库操作接口的语法与 Mongo Shell 上直接执行的原生语法非常接近。这使得我们可以在服务器端和客户端共用页面渲染代码,并且可以直接使用从前端传递过来的 JavaScript 对象与数据 ...
PandaJS 使用说明(1.9):编写测试
PanadaJS 的测试库是在 junit 3 的基础上修改而成的,界面上使用的是 swing,我已经将修改后的 junit 工程放在 svn 上了:
https://pandajs.googlecode.com/svn/trunk/junit/
接下来,就让我们为 scripts/app 目录下的文件编写测试吧。
编写测试案例(DBO)
与用 java 编写的 junit3 测试案例相似,PandaJS 的一个测试案例包含 setup(),tearDown(),和若干个 textXXX() 测试方法。同时,还需要一个获取案例名称的 ...
PandaJS 使用说明(1.8):配置文件
配置文件的目的是把经常变化的部分提取出来,以便修改。相比 XML,直接用 js 进行配置会更为直截了当一些。
在现在的 HelloPanda 工程中有三类配置文件:
首先是 lib 和 server 的配置,在程序启动时生效,不支持热部署。
其次是特定应用的配置,修改后生效,支持热部署。
最后是用于测试的配置,与 lib 的配置相似,但设置的参数不同。
当然,现在 PandaJS 的功能还比较基础,因此需要配置的地方还不多。
接下来,我们就逐一看看这些配置文件吧。
lib 和 server 的配置文件
lib 中 ...
PandaJS 使用说明(1.7):权限控制与数据校验
利用上一篇文章提到的 proxy 对象,我们还可以实现权限控制和数据校验。
权限控制的思路是截获对 page.* 和 api.* 的调用,并利用 session 中记录的用户角色信息进行权限检查;
...
PandaJS 使用说明(1.6):日志与 proxy 对象
这篇文章里我们将继续探讨日志处理(panda.log)和 proxy 对象(panda.proxy)。结合使用 panda.log 和 panda.proxy 可以实现灵活的日志处理,有效地分离业务逻辑和日志记录的代码。panda.log 是在 slf4j ...
PandaJS 使用说明(1.5):页面渲染与数据库操作
PandaJS 在服务器端的页面渲染也采用 JQuery Template 的语法,而数据库操作接口的语法与 Mongo Shell 上直接执行的原生语法非常接近。这使得我们可以在服务器端和客户端共用页面渲染代码,并且可以直接使用从前端传递过来的 JavaScript 对象与数据库进行交互。
不过,对客户端提交的数据进行校验也是必要的,这部分代码也可以在服务器端和客户端之间共用,这个话题将在后面的文章中提及,这里暂不考虑。
运行效果
代码编写完成后,可以启动应用并输入 http://localhost 访问页面。
界面如 ...
PandaJS 使用说明(1.4):配置 Spket 智能感知
本文将介绍一些利用 spket 的 eclipse 插件来提高开发效率的方法,
主要包括:
1. 设置 JavaScript Profiles,添加类库
2. 使用 @include 标记,导入辅助文件
JavaScript Profiles
通过设置 JavaScript Profiles ,可以将 jQuery 等类库的加载到 Spket 中,以便从中提取提示信息。
为了将 jQyery 和 HelloPanda 工程中的内容加载到 spket 中,我们可以按照以下步骤进行操作:
1.安装 sp ...
PandaJS 使用说明 (1.3): 文件上传与下载
PanadaJS 为文件上传与下载提供了服务器端和客户端的组件,客户端 JS 可以根据浏览器的支持情况,自动选择 HTML5,Flash 和传统(隐藏)表单上传;服务器端兼容 HTML5 Streaming 方式上传和 Multipart 方式上传。
接下来,就让我们在上一篇文章编写的 hello.html 上直接添加增加一个文件上传按钮吧。
运行效果
三种上传方式外观相似,如下图所示:
直接在前一篇文章中使用的 hello.html 中增加了上传按钮。点击上传按钮弹出文件选择框(HTML 或 Flash 方式支持文 ...
PandaJS 使用说明 (1.2): Hello, World!
PandaJS 中服务器端处理的请求有两类,一类是 API 请求,另一类是页面请求。本文将介绍如何从客户端调用服务器端的 API ,并编写一个简单的 Hello, World! 示例。
准备工作
利用上一篇文章中介绍的方法,建立新项目 HelloPanada,删除以下目录中的内容,因为我们将从零开始建立示例程序:
1. scripts/app,scripts/test/app 和 scripts/test/both 目录中的文件
2. webapp 目录中的 html 文件
3. webapp/js ...
PandaJS 使用说明 (1.1):运行、调试、测试、部署
PandaJS 是基于 Rhino、MongoDB、Server-side jQuery Template 的 JS 编程工具包,目标是使用更一致的方式编写客户端和服务器端的 js 代码。它采用嵌入式的 Jetty 作为 Web Server,依赖于 Java 7 ...
Pure JS (7):小结
PureJS 结合了 Rhino、MongoDB、jQuery Template(包括服务器端),目标是使用更一致的方式编写客户端和服务器端的 js 代码。它采用嵌入式的 Jetty 作为 Web Server,依赖于 Java 7。
我在 Google Code 上新建了开源项目 ...
Pure (6.7):部署
我们可以按照以下步骤部署 PureJS 工程:
1. 修改端口号
2. 编写启动类
3. 导出 jar
4. 复制文件夹和文件到 deploy 目录
5. 命令行启动程序
1. 修改端口号
首先,我们需要根据需要修改 scripts/config.js 中的端口号设置。
例如将以下代码:port : 8080, 改为:port : 80,
这使得用户可以在省略端口号的情况下访问网站;当然,如果使用 ngnix 之类的反向代理的话,也可以使用别的端口号。
2. 编写启动类
之前一直使用 org.mozilla.javas ...
PureJS (6.6):配置 Spket 智能感知
本文将介绍一些利用 spket 的 eclipse 插件来提高开发效率的方法,
主要包括:
1. 设置 JavaScript Profiles,添加类库
2. 使用 @include 标记,导入辅助文件
JavaScript Profiles
通过设置 JavaScript Profiles ,可以将 jQuery 等类库的加载到 Spket 中,以便从中提取提示信息。
为了将 jQyery 和 PureJS 工程中的内容加载到 spket 中,我们可以按照以下步骤进行操作:
1.安装 spket 插件:见附 ...
PureJS (6.5):配置文件
配置文件的目的是把经常变化的部分提取出来,以便修改。相比 XML,直接用 js 进行配置会更为直截了当一些。
在现在的 PureJS 工程中有三类配置文件:
首先是 lib 和 server 的配置,在程序启动时生效,不支持热部署。
其次是特定应用的配置,修改后生效,支持热部署。
最后是用于测试的配置,与 lib 的配置相似,但设置的参数不同。
当然,现在 PureJS 的功能还比较基础,因此需要配置的地方还不多。
接下来,我们就逐一看看这些配置文件吧。
lib 和 server 的配置文件
lib 中需要配置的有 pur ...