DUZHI 博客系统开源项目

我要开发同款
匿名用户2017年02月25日
86阅读

技术信息

开源地址
https://github.com/jcc/blog
授权协议
LGPL

作品详情

DUZHI_BLOG基于Jpress 进行更新而来的。在上面做了一系列升级,修复bug,等等。

在基础上增加了如下功能;

1、升级Jfial3.0、Jfial-weixi1.8

2、增加luceesearch全文搜索引擎

3、增加用户中心

4、增加用户中心等功能

5、优化微信渠道内容,避免无法搜索的场景,解决应用型问题

6、自带一套与官网一致的主题

组件Jfial

这个就不说了,一个MVC框架。

Ehcache

缓存框架,因为这个里面考虑的是本地的缓存所以,单机模式,所以在缓存的方案基本是懒加载以及缓存加载模式

    public User getUser() {        if (user != ull)            retur user;        if (getUserId() == ull)            retur ull;        user = UserQuery.me().fidById(getUserId());        retur user;    }

上面是个Cotet模型中获取用户的模式。再举个缓存的例子;

    if (ActioCacheMaager.isCloseActioCache()) {            ext.hadle(target, request, respose, isHadled);            retur;        }        Actio actio = JFial.me().getActio(target, urlPara);        if (actio == ull) {            ext.hadle(target, request, respose, isHadled);            retur;        }        ActioCache actioCache = actio.getMethod().getAotatio(ActioCache.class);        if (actioCache == ull) {            actioCache = actio.getCotrollerClass().getAotatio(ActioCache.class);            if (actioCache == ull) {                ext.hadle(target, request, respose, isHadled);                retur;            }        }        Strig origialTarget = (Strig) request.getAttribute("_origial_target");        Strig cacheKey = StrigUtils.isNotBlak(origialTarget) ? origialTarget : target;        Strig queryStrig = request.getQueryStrig();        if (queryStrig != ull) {            queryStrig = "?" + queryStrig;            cacheKey += queryStrig;        }        ActioCacheMaager.eableCache(request);        ActioCacheMaager.setCacheKey(request, cacheKey);        ActioCacheMaager.setCacheCotetType(request, actioCache.cotetType());        Strig rederCotet = ActioCacheMaager.getCache(request, cacheKey);        if (rederCotet != ull) {            respose.setCotetType(actioCache.cotetType());            PritWriter writer = ull;            try {                writer = respose.getWriter();                writer.write(rederCotet);                isHadled[0] = true;            } catch (Exceptio e) {                RederFactory.me().getErrorReder(500).setCotext(request, respose, actio.getViewPath()).reder();            } fially {                if (writer != ull) {                    writer.close();                }            }        } else {            ext.hadle(target, request, respose, isHadled);        }

上面是ActioCacheHadler.java的代码。

db.properties

由于Jpress使用初始化模式,判断的就是db.properties有没有,所以如果没有数据库,已经表结构的情况下,建议使用懒汉模式一步一步安装即可。

    rm db.properties

功能介绍

DUZHI_BLOG基于 Jpress 进行更新而来的。在上面做了一系列升级,修复bug,等等。 在基础上增加了如下功能; 1、升级 Jfinal 3.0 、Jfinal-weixin 1.8 ...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论