DUZHI 博客系统
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
评论
JFinal Share博客博客系统
一、开发框架简介: 1、JFinal Share博客使用JFinal框架,JFinal是基于Java语言的极速开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩
JFinal Share博客博客系统
0
livewire-blog博客系统
Livewire-Blog是一个基于 laravel-8 开发的一个博客系统。功能特性 基于 tailwindcss 设计的响应式页面,非常轻巧,简洁 基于 laravel-livewire 的组件化
livewire-blog博客系统
0
SAPressJava 博客系统
SAPressSAPress=spring-angularjs-wordpress的press,一个使用最新最流行的框架搭建的能与wordpress比肩的Java博客系统。虽然现在还很弱小,但相信开源
SAPressJava 博客系统
0