写在前面
这次介绍的这个博客项目可以说有点另类,因为它使用的技术大部分都不是主流的技术,从前端到后端框架再到数据库的选择。当然,麻雀虽小但五脏俱全。技术的运用需要学会变通,大家在学习的过程中可以对比着学习,与主流的框架技术相比找优缺点,这样才会加深你对一个项目或框架运用的理解,为你以后搭建框架和学习框架思想都有好处。
Tale官方简介
博客Tale使用了轻量级 mvc 框架Blade开发,默认主题使用了漂亮的pinghsu。
######特性
- 设计简洁,界面美观
- Markdown 文章发布
- 自定义文章链接
- 支持多主题
- 支持插件扩展
- 支持 Emoji 表情
- 支持网易云音乐播放
- 支持附件和数据库备份
- 部署简单,不依赖 Tomcat
- 无需数据库,内嵌 sqlite
######Tale项目git https://git.oschina.net/biezhi/tale/ ######Tale项目wiki https://github.com/otale/tale/wiki ######Tale演示地址 https://tale.biezhi.me/
Blade MVC 框架简介
blade 借鉴了很多优秀mvc框架的设计,它是为java开发人员提供的便捷易用快速上手的一款框架,你可以用它快速开发API、Web 及后端服务等各种应用。 它提供了非常多的功能,内置ioc、rest路由,视图渲染,json返回,统一配置,aop,非orm的jdbc操作等等。框架对外提供很多扩展接口,支持开发者使用自己喜欢的,比如模版引擎。
有关blade mvc框架的原理还需要你们自己去看官方文档啦。
######特性
- 轻量级。不依赖更多的库,摆脱SSH的臃肿,模块化设计,使用起来更轻便!
- 模块化(你可以选择使用哪些组件)
- Restful风格的路由接口
- No Orm (Active Record方式玩转数据库操作)
- 模板引擎支持
- 非web方式开发和发布
######Blade MVC 框架git地址 https://github.com/biezhi/blade ######Blade MVC 框架官方文档 http://bladejava.com/ ######Blade MVC 框架官方api文档 http://bladejava.com/apidocs/
jetbrick-template模板技术
jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性。 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板。 指令和 Velocity 相似,表达式和 Java 保持一致,易学易用。
######官方的模板渲染流程举例 模板userList.html
#define(List<UserInfo> userlist) <table> <tr> <td>序号</td> <td>姓名</td> <td>邮箱</td> </tr> #for (UserInfo user : userlist) <tr> <td>${for.index}</td> <td>${user.name}</td> <td>${user.email}</td> </tr> #end </table>
流程:
- 创建自定义配置的 JetEngine 对象。推荐使用单例模式创建。
- 根据模板路径,获取一个模板对象 JetTemplate。
- 创建一个 Map<String,Object> 对象,并加入你的 data objects。
- 准备一个待输出的对象,OutputStream 或者 Writer。
- 根据你的 data objects 来渲染模板,并获得输出结果。
代码实现:
// 创建一个默认的 JetEngine JetEngine engine = JetEngine.create(); // 获取一个模板对象 JetTemplate template = engine.getTemplate("/sample.jetx"); // 创建 context 对象 Map<String,Object> context = new HashMap<String,Object>(); context.put("user",user); context.put("books",books); // 渲染模板 StringWriter writer = new StringWriter(); template.render(context,writer); // 打印结果 System.out.println(writer.toString());
######jetbrick-template模板git地址 http://git.oschina.net/sub/jetbrick-template ######jetbrick-template官方文档地址 http://subchen.github.io/jetbrick-template/2x/overview.html
sqlite
sqlite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的sql数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。
sqlite3的sql语法与MysqL的基本的增删改查语句基本相同。
运行了Tale项目并安装之后,项目的根目录下会有个sqltite的数据库文件tale.db,这个就是项目的数据库文件了。查看数据库也简单,切换到项目的根路径下打开命令行 ,输入sqlite3 tale.db相当于MysqL的use database。根据sqlite3的语法,可以使用sql语句操作。
图中.table想当于show tables
写在最后
如果你只用过jsp作为视图的话,可能对模板技术不是特别熟悉,建议可以先去了解一下主流的模板技术Velocity之后再和这个项目做对比。
最后,欢迎关注我的微信公众号java-mindmap,更多java思维导图与项目资料供你学习,每三到四天会更新一篇,带你走进记忆脑图的世界。
原文链接:https://www.f2er.com/sqlite/198444.html