@DiamondFsd 昨天写了一篇关于如何在Spring MVC中灵活控制JSON返回的博客,其中@JSON注解的思路和我在actframework的处理方式非常相似。 刚好昨天把actframework放上码云了,就这个话题写下 如何在ActFramework中控制JSON返回 首先是资源和服务。我将就@DiamondFsd的article的例子来做讲解 @Entity("article") public class Article extends MorphiaAdaptiveRecord<Artic
ActFramework支持的模板引擎 目前ActFramework支持的模板引擎: Rythm (框架内置) - 引擎ID: rythm Beetl - 引擎ID: beetl FreeMarker - 引擎ID: freemarker Mustache - 引擎ID: mustache Thymeleaf - 引擎ID: thymeleaf Velocity - 引擎ID: velocity 注意 如果要使用Rythm以外的其他模板引擎需要在pom.xml文件中添加依赖: Beelt依赖: <depen
在ActFramework 依赖注入 II - 注入对象类型中我们提到了定义绑定的一种方式: 1. 使用Module // Define bindings public class MyModule extends org.osgl.inject.Module { protected void configure() { bind(MyService.class).to(OneService.class); bind(MyService.class).named("t
TechEmpower Benchmark 是业界公认的 web 框架/平台技术的PK场,刚刚发布的第14轮测试报告中比较了超过 140 中不同的语言/平台/框架技术,可以说这就是一个 Web 技术的嘉年华(Canival)。在第14轮中 TechEmpower 对所有的框架在同一个环境下实施了 6 种测试。这里我不打算罗列所有的 140 种技术,我将会比较所有 JVM 平台(包括 Java, Scala, Kotlin, Groovy 和 Closure) 上的全栈 Web 框架在本次性能测试中的结果:
@oschina的这篇博客详细讲述了保护密码的机制. 作为应用程序开发者理解这些原理是非常重要的, 但是没有理由在每个项目中依据文中所述去实现自己的保护机制, 框架应该在这方面做出足够的支持. ActFramework提供简单有效的API来帮助用户处理安全性问题, 其中包括了密码保护与验证. 下面的代码演示如何在应用中使用框架提供的机制: 代码演示 public class User { private String email; // 保存password hash而不是明文 pr
ActFramework 是一款非轻量级 Java Web 应用框架. 作为著名的 PlayFramework 1.x 的继任者, ActFramework 具有功能丰富, 高性能和良好的开发时支持的特点.
#136 @With 注解现在可以应用于方法上了 在 r1.2.0 之前 @With 注解用来将拦截器应用于某个控制器上,例如: public class MyInterceptor extends Controller.Util { @Before public void logRequest(H.Request req) { Act.LOGGER.trace("<<< req to %s", req.fullUrl()); } @After
申明需要注入的对象 ActFramework通过javax.inject.Inject注解识别需要注入的对象. 你可以通过以下三种标准方式申明需要注入的对象: 字段注入 public class Foo { @Inject private Bar bar; } 构造器注入 public class Foo { private Bar bar @Inject public Foo(Bar bar) { this.bar = bar; }
任务调度注解 在Actframework的应用当中进行任务调度的方式是使用任务调度注解标记任务方法。 ActFramework支持的任务调度注解包括: @AlongWith - 指定该方法与某个任务一同执行(异步) @Cron - 使用类unix的cron表达式来调度执行该方法 @Every - 定期执行该方法 @FixedDelay - 固定间隔执行该方法 @InvokeAfter - 指定该方法在某个任务之后执行(同步) @InvokeBefore - 指定该方法在某个任务之前执行(同步) @OnApp
这篇文章,将带你体验并展开一个基本的MVC项目。 (Controller,Service,Dao标准结构)
1. 框架内置绑定 在ActFramework中有大量的服务和组件都可以直接使用依赖注入,其中包括 ActionContext - Encapsulate all data/info relevant to an HTTP request context H.Session - HTTP request session. Also available via actionContext.session() H.Flash - HTTP request flash. Also available via ac
和传统后端页面生成技术相较, RESTful 数据服务专注与数据逻辑, 而将数据呈现完全交给前端应用. 这样做可以让后端开发更加单纯, 而且更容易测试. 本文将讲述如何使用 maven 生成一个支持端到端自动测试的 RESTful 服务的项目脚手架. 1. 准备环境 如果你打算跟随本文在你的开发机上试验, 需要一下环境: Java SDK 1.7+ maven 3.5+ 如果有 IDE 就更好. 作者推荐使用 IntelliJ IDEA, 可以使用社区版, 完全免费. 2. 定义项目包和应用名称 项目包 (
#17 WebSocket 支持 ActFramework 终于支持 WebSocket 了 聊天室应用: @WsAction("msg") public void onMessage(String message, WebSocketContext context) { context.sendToPeers(message); } Echo 应用: @WsAction("echo") public void onMessage(String message, WebSocketContext c
上次老码农在一场版本升级引发的性能血案 - 之数据历险一文中讲得口吐白沫, 最后还是没有一个结果, 反而被 OSCer 们各种吐槽: "看得我快快精尽人亡了" "看着一头雾水" "一脸懵逼进来,一脸懵
ActFramework中实现文件上传 文件上传是一种常见的web应用功能。这篇小灶讲述如何在ActFramework中实现文件上传,包括单文件上传和多文件上传两种情况。 首先我们定义一个Model类Document用于演示单文件上传的情况: public class Document implements SimpleBean { public String desc; public String subject; public File attachment; publ
1. 关于TodoBackend TodoBackend是一个公认的服务器后端技术展示平台, 现在已有85个不同语言和框架的展示项目(Showcase)加入这个平台上, 供开发人员参考学习. 开发TodoBackend的展示应用需要满足以下需求: 应用必须是RESTful的服务, 所有的服务端点必须通过平台指定的测试 应用必须实现对CORS的支持 更多关于TodoBackend展示应用的信息可以参见贡献指南 2. 框架/技术比较 比较一下常见框架/技术实现TodoBackend展示应用的情况:
看到 t-io 老谭的 用t-io来写一个网页聊天室或客服是个怎样的体验, 一时手痒, 就打算用 ActFramework 来写一个网页聊天室, 看看是什么体验. 废话少说,撸起袖子就是干。 1. 创建项目 运行下面的命令创建一个新的 ActFramework 应用项目: mvn archetype:generate -B \ -DgroupId=com.myproj \ -DartifactId=chatroom \ -DarchetypeGroupId=org.actframew
控制器是 MVC 框架的核心组件,应用程序控制器的方法处理 HTTP 请求。这里首当其冲需要回答的一个问题就是控制器的实例应该是单例 (Singleton)还是就每个请求生成新的实例。 不同的框架对此有不同的处理方式,SpringMVC 的控制器采用单例;Struts 的 Action 则是多实例;PlayFramework v1.x 的方式比较极端,控制器方法必须是静态的,因此不需要生成实例。 ActFramework 生成控制器实例的方式与众不同,没有统一的单例或者多例的限制,而是根据应用程序控制器代码
和传统后端页面生成技术相较, RESTful 数据服务专注与数据逻辑, 而将数据呈现完全交给前端应用. 这样做可以让后端开发更加单纯, 而且更容易测试. 本文将讲述如何使用 maven 生成一个支持端到端自动测试的 RESTful 服务的项目脚手架.
ActFramework是一种简洁易用,具有强大表达力的Java MVC全栈框架
ActFramework 1.6.0 是一个很重要的版本,包括 22 项新特性和增强, 以及 7 个 bug 修正. 这里列出一些值得关注的特性和增强. 更多详细的信息, 可以关注 https://g
1. AAA 以及相关概念 1.1 Authentication (AE) - 认证 确认与系统交互的用户或者进程身份的过程 1.2 Authorisation (AO) - 授权 当 Principal (身份主体) 访问系统资源时依据主体授权允许或者拒绝其访问的过程 1.3 Accounting (AC) - 记账 记录 Principal 对系统资源的访问操作 1.4 Principal - 身份主体 系统中对交互对象的唯一识别. 交互对象可以是一个用户, 也可以是一个外部进程. 1.5 Permis
HelloWorld 是一个HowToDoIt 组织的第一个项目, 一个简单的 MVC 展示应用. 实现项目需要响应发送到 GET / 端点的请求并显示一个主页
#128 缓存页面 这个特性允许开发人员通过注解来打开页面缓存: @GetAction @CacheFor public void home() { } 上面的代码将主页缓存1个小时。开发人员也可以制定缓存失效期限,比如下面的代码让缓存在半小时之后失效: @GetAction @CacheFor(60 * 30) public void home() { } 注意缓存页面仅仅对 GET 请求有效. 但是某些特殊场合,比如 facebook 向应
在上一篇博客中我们介绍了 AAA 安全框架的概念. 下面我们开始讲述实际项目中 (本篇博客将实现一个多用户的 Todo 列表系统) 如何使用 AAA 安全框架. 在本博客中我们将假设应用使用 MongoDB 来存储数据. 不过关于安全框架应用的部分代码和具体数据库无关. 1 引入项目依赖 在你的 pom.xml 文件中添加 act-aaa 插件依赖: <dependency> <groupId>org.actframework</groupId> <artifactId>ac
今天我参与到一桩嘲讽 JF 的公案中 , 坦率的讲, 这不是一件光彩的事. 在 ActFramework QQ 群里也群友表达不赞同. 我当时回应的是 "这也是对 JF 看法一种比较间接的表达方式". 后来想了一下, 这的确有背后伤人的小气在里面, 所以干脆就借助 OSC 的博客平台公开自己对 JF 的一些看法.
1. 案情回顾 老码农在 一场版本升级引发的性能血案的追凶过程 中谈到了 ActFramework 在 TFB 第 N 轮内部测试中全线溃败落入 Spring 朋友圈的不堪回首之往事. 历经三天两夜追凶过程, 老码农终于定位到了一 ActContextBase.<init> 中以 500K 字节初始化 S.Buffer 为首的犯罪集团, 并提交了新的 PR, 最新的内部测试结果已经收到果然让 Act ....................................................
1. 故事的开始 上周 ActFramework 推出 act-1.8.8-RC4 版本 后, 我兴致勃勃更新了 TFB 性能 PK 项目 到最新版, 经过漫长的 60 小时 ( TFB 的一次运行周期是 60 小时) 等待后终于等来了 .............................................. 噩耗: Act 这次的性能骤然下降, 不同测试的下降范围从 60% 到 90% 不等! 不多说了, 说起来都是泪啊. 先上图吧 (为了更加切合重点, 设置了测试过滤, 只显示 J
1. 故事的开始 上周 ActFramework 推出 act-1.8.8-RC4 版本 后, 我兴致勃勃更新了 TFB 性能 PK 项目 到最新版, 经过漫长的 60 小时 ( TFB 的一次运行周期是 60 小时) 等待后终于等来了 .............................................. 噩耗: Act 这次的性能骤然下降, 不同测试的下降范围从 60% 到 90% 不等! 不多说了, 说起来都是泪啊. 先上图吧 (为了更加切合重点, 设置了测试过滤, 只显示 Ja
有的项目可能需要前端展示后端应用的版本, 这样可以让用户在报告错误的时候给出版本信息,帮助定位错误.
ActFramework 1.8.32 发布了(欢迎围观新闻), 这个版本中我们优化了 storage service 部分, 文件上传管理代码变得更加简洁. 下面我们来看看如果用不到 70 行 Java 代码来实现一个完整的上传文件管理服务.
每周为您推送最有价值的开源技术内参! 一周热门资讯回顾 ActFramework 1.0 正式发布, Java MVC 框架 TIOBE 3 月编程语言排行榜:Swift 首次进入前 10 中国将在 Sailfish 基础上开发移动操作系统 X# 语言加入 .NET 家族 将于 3 月 17 日正式上线 1. ActFramework 1.0 正式发布, Java MVC 框架 ActFramework 是一个Java 的非轻量级全栈式 MVC 框架,开发过程(包括新增方法变量)不需要重启系统, 随
TechEmpower 框架性能大比拼平台从 2013 年 3 月开始以来已经历经了 18 轮测试,参与这个平台的框架平台产品也从一开始的 24 种增加到今天的 659 种! 可以说这个平台已经是业界的标准性能测试平台,在 Web 框架性能测试领域的地位大概能和 PassMark 在 CPU 性能测试领域的地位相当.
今天在ActFramework群里面谈及了Spring的调用栈, 大家都觉得调用栈太长了影响性能,也不利于调试. 我这边刚好有一个Web框架性能测试项目的代码, 其中有一些常见的Java MVC框架,包括Springboot, JFinal, NinjaFramework等, 我在代码中添加了 new RuntimeException().printStackTrace(); 用来打印调用到应用逻辑(控制器)的调用栈.下面是我的测试结果: ActFramework java.lang.RuntimeExce
JFinal 波总和我在 谈谈我对 JFinal Marketing 的一些看法 博文的评论中谈到了数学和软件之间的关系. 这篇文章中我再详细说说我的理解.
1. 介绍 作为应用程序尤其是框架和库的作者,常常需要了解运行程序的版本: 作为 bug 报告的关键信息 在应用启动的时候打印版本带来更加清晰的信息展示 例如下面是一个ActFramework应用项目
@yong9981 在 actframework-1.8.32 发布新闻 中提出了一下问题:
老码农在上一篇博客 给出了如何从头开始创建一个 自带自动化测试工具的 RESTful 服务项目的例子. 今天我们在这个简单例子上做延伸, 把这个例子改写为一个简单的 TODO Task 应用. 该应用
Mongodb 2.2 开始就提供了数据Aggregation Pipeline (聚合管道)用于简单数据分析统计,包括计数(count),求和(sum),均值(average),标准差(stddev) 等. 这个特性相较以前的 Map Reduce 方式提升了很多. 遗憾的是在服务端代码上使用 Aggregation Pipeline 还是需要使用比较繁复的 API, 包括 Spring Data 和 Morphia 提供的 API. 这大多是因为 Aggregation Pipeline 需要兼顾各种情况, 比如嵌入数组的 rewind, 还有对第一次聚合数据进行再聚合等.
OSGL 依赖于 Java 反射来获得 Bean 的内部结构. 和很多其他工具不同, OSGL 使用字段而不是 Getter/Setter 来获取内部数据
谈谈我对 IoC 和 AOP 的理解 一文由 JFinal 作者波总对 IoC 与 AOP 的一句表述引起:
依赖注入工具 jBeanBox 的作者 drinkjava 同学最近在 Actframework gitee 项目 的提出了如下评论:
最近想把自己在公众号上介绍过的开源项目jeecg-boot项目跑起来,发现里面涉及到了集成第三方登录功能。光看项目的源码,自己也有点蒙圈,于是也去找了点资料学习了一天。今天把它分享在自己的公众号上,希望对想要在自己本地把jeecg-boot项目读者朋友们也会有所帮助。
通常情况下,全文检索引擎我们一般会用ES组件(传送门:SpringBoot系列——ElasticSearch),但不是所有业务都有那么大的数据量、那么大的并发要求,MySQL5.7之后内置了ngram分词器,支持中文分词,使用全文索引,即可实现对中文语义分词检索
echart世界地图示例 echarts:世界地图代码示例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>worldmap</title> <script src="/static/js/jquery-1.10.2.min.js"></script> <script src="/static/js/echarts.min.js"></script> <script src="/static/js
转: https://www.cnblogs.com/huanzi-qch/p/15238604.html
棋盘密码解密 https://www.qqxiuzi.cn/bianma/qipanmima.php
在信息化浪潮席卷全球的背景下,公安信息化建设日益成为提升社会治理能力和维护社会稳定的关键手段。其中,GA/T 1400标准作为公安视频图像信息应用系统的核心规范,以其结构化数据处理与应用能力,为公安信息化建设注入了强大的动力。
在您的 gitbook 的 book.json 文件中,将 simple-mind-map 添加到 plugins 列表中.
/* 2008 4 25 更新 */ 我的数据访问函数库的源码。整个类有1400行,原先就是分开来写的,现在更新后还是分开来发一下吧。 第四部分:存储过程部分,包括存储过程的参数 ,主要是对存储过程的参数的封装。 //存储过程的参数部分 #region 存储过程的参数部分——清除和添加参数 #region 清除参数 /// /// 清除SqlCommand的存储过程的参数。 /// </su
领取专属 10元无门槛券
手把手带您无忧上云