- 授权协议: LGPL
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: http://www.duzhi.me
- 软件文档: http://www.duzhi.me/article/1105.html
软件介绍
DUZHI_BLOG基于 Jpress 进行更新而来的。在上面做了一系列升级,修复bug,等等。
在基础上增加了如下功能;
1、升级 Jfinal 3.0 、Jfinal-weixin 1.8
2、增加 lucene search 全文搜索引擎
3、增加用户中心
4、增加 用户中心 等功能
5、优化微信渠道内容,避免无法搜索的场景,解决应用型问题
6、自带一套与官网一致的主题
组件
Jfinal
这个就不说了,一个MVC框架。
Ehcache
缓存框架,因为这个里面考虑的是本地的缓存所以,单机模式,所以在缓存的方案基本是懒加载以及缓存加载模式
public User getUser() {
if (user != null)
return user;
if (getUserId() == null)
return null;
user = UserQuery.me().findById(getUserId());
return user;
}上面是个Content 模型中获取用户的模式。
再举个缓存的例子;
if (ActionCacheManager.isCloseActionCache()) {
next.handle(target, request, response, isHandled);
return;
}
Action action = JFinal.me().getAction(target, urlPara);
if (action == null) {
next.handle(target, request, response, isHandled);
return;
}
ActionCache actionCache = action.getMethod().getAnnotation(ActionCache.class);
if (actionCache == null) {
actionCache = action.getControllerClass().getAnnotation(ActionCache.class);
if (actionCache == null) {
next.handle(target, request, response, isHandled);
return;
}
}
String originalTarget = (String) request.getAttribute("_original_target");
String cacheKey = StringUtils.isNotBlank(originalTarget) ? originalTarget : target;
String queryString = request.getQueryString();
if (queryString != null) {
queryString = "?" + queryString;
cacheKey += queryString;
}
ActionCacheManager.enableCache(request);
ActionCacheManager.setCacheKey(request, cacheKey);
ActionCacheManager.setCacheContentType(request, actionCache.contentType());
String renderContent = ActionCacheManager.getCache(request, cacheKey);
if (renderContent != null) {
response.setContentType(actionCache.contentType());
PrintWriter writer = null;
try {
writer = response.getWriter();
writer.write(renderContent);
isHandled[0] = true;
} catch (Exception e) {
RenderFactory.me().getErrorRender(500).setContext(request, response, action.getViewPath()).render();
} finally {
if (writer != null) {
writer.close();
}
}
} else {
next.handle(target, request, response, isHandled);
}上面是ActionCacheHandler.java的代码。
db.properties
由于Jpress 使用初始化模式,判断的就是db.properties 有没有,所以如果没有数据库,已经表结构的情况下,建议使用懒汉模式一步一步安装即可。
rm db.properties
ASP.NET揭秘
Stephen Walther、汤涛 / 汤涛 / 中国电力出版社 / 2004-8-1 / 95.00元
本书是美国亚马逊网站同类书长期销售冠军,并受到微软ASP.NET小组项目经理Rob Howard的大力推荐,中文版由中科院专家汤涛老师翻译,经典、权威是本书最好的诠释。 本书共分10部分,31章,囊括了在.NET框架下架建ASP.NET应用程序的各个层面。每一章也都不是泛泛而谈理论,而是围绕实际样例代码来组织,让读者马上可以上手,并且加深理解。书中还包含了两个完整的、立即就可以用得......一起来看看 《ASP.NET揭秘》 这本书的介绍吧!
