文章目录

  • 写在前面
    • 1、快速开始一个act项目
    • 2、AppEntry 启动类
      • 2.1、@GetAction GET请求
      • 2.2、@DefaultValue 入参默认值
      • 2.3、@Output 渲染到模板
    • 3、一些简单易用的点
      • 3.1、复写 HTTP Accept
      • 3.2、定时任务@Cron
      • 3.3、允许开发轻松定制 API 示例数据来源
      • 3.4、支持 MD 文件为 HTML 页面
      • 3.5、双字节字符破坏了命令行列表的布局

写在前面

spring 用得太舒服了,来试试ActFramework

1、Act 官方github:https://github.com/actframework/actframework
2、官方中文文档:https://gitee.com/actframework/act-doc/blob/master/cn/index.md

2、Act的开发过程基本上是:
路由 -> 控制器 -> 网络层 -> 字节码增强 -> View/Templating -> 事件分发及任务调度 -> Model/DB -> 依赖注入 -> 参数绑定 -> WebSocket 支持

3、开发模式下, 一旦 ActFramework 项目开始运行就无需重启 (除非引入新的依赖库)。

1、快速开始一个act项目

第一步:新建一个文件夹
在该目录下打开cmd,输入指令:

前提是已安装maven

mvn archetype:generate -DarchetypeGroupId=org.actframework -DarchetypeArtifactId=archetype-quickstart -DarchetypeVersion=1.9.1.0

之后输入分组、版本等信息

接着用idea打开这个项目

运行 AppEntry主方法可启动这个项目

日志中会打印访问地址:http://127.0.0.1:5460

2、AppEntry 启动类

AppEntry 这个启动类本身就是一个 Controller。

让我们来关注一下 AppEntry 的 home 方法。

    @GetActionpublic void home(@DefaultValue("World") @Output String who) {}

下面是@GetAction、@DefaultValue、@Output这几个注解的解释。

2.1、@GetAction GET请求

@GetAction表示这是一个 Get 请求方法,
同理还有 @PostAction 、 @PutAction 、 @DeleteAction、@Action …
@Action 用来定义全部或指定 HTTP 请求方法的路由。

2.2、@DefaultValue 入参默认值

@DefaultValue(“朋友们”) 代表了 当 who 为 null 时,who的值为“朋友们”。
例:我们直接请求 http://127.0.0.1:5460/,页面显示:

现在我在请求时加入who这个参数,http://127.0.0.1:5460/?who=小伙伴们,页面显示:

2.3、@Output 渲染到模板

@Output 则代表了这个参数会被带到模板。

模板在哪里?
在resources目录下的 “rythm+类全名” 目录下,如下图:

这个home.html是生成项目时自动生成的

如上图是home.html的具体内容,@args String who表示传入参数,@act.Act.VERSION.getVersion()表示获取act版本。

这里@args String who,声明的是String类型的参数,如果我们想声明自己的实体类型,得导入,如下:

@import com.demo.entity.User
@args User user


其实除了@import这样的ava代码可用,在这个模板里面,所有@后面的代码都会被转为java代码执行,如下:

不过需要注意的是,大括号内的内容会被直接输出,不能转成 Java 代码。 所以要在大括号块内写java代码,仍需要 @ 符号。

具体rythm语法规则参考:http://rythmengine.org/doc/template_guide.md#introduction

3、一些简单易用的点

版本需 >= 1.8.29

3.1、复写 HTTP Accept

1、访问时允许使用 “_accept” 请求参数来复写 HTTP Accept 请求头

2、访问时允许使用 _accept=qrcode 来生成二维码

3.2、定时任务@Cron

一些常用的 Cron 常量, 方便小伙伴们定义 Cron 作业调度时间

3.3、允许开发轻松定制 API 示例数据来源

API for POST /users

API for GET /users/{id}

3.4、支持 MD 文件为 HTML 页面


参考示例

3.5、双字节字符破坏了命令行列表的布局

代码

以前

现在

ActFramework 轻量级java web框架 (1、快速入门)相关推荐

  1. 轻量级 Java Web 框架技术选型

    2019独角兽企业重金招聘Python工程师标准>>> 本文是<轻量级 Java Web 框架架构设计>的系列博文. 前面已对该 Java Web 框架做了一些简要描述, ...

  2. python数据处理框架_python 最快 web 框架 Sanci 快速入门

    简介 Sanic 是一个和类Flask 的基于Python3.5+的web框架,它编写的代码速度特别快. 除了像Flask 以外,Sanic 还支持以异步请求的方式处理请求.这意味着你可以使用新的 a ...

  3. java web 模型,从零构建轻量级Java Web框架

    模型数据与视图 在处理请求时,通常会返回视图JSP页面和数据.所以现在需要将视图JSP路径和数据封装在一起返回.如果只返回数据,则返回JSON格式数据. 返回视图JSP,视图中包含视图JSP路径和视图 ...

  4. java bean工厂_从零构建轻量级Java Web框架

    Bean工厂 回顾下前面的知识,通过加载配置文件获取应用基础包名,加载基础包名下所有的类,获取Controller,Service类.到目前为止,我们只是加载了类,但是无法通过获取的类来实例化对象.因 ...

  5. Java Web框架学习

    这是黄勇的开源框架 https://gitee.com/huangyong/smart-framework 这是非常好的学习框架,有利于了解Spring MVC这类框架的原理. 框架特点 1.它是一款 ...

  6. Struts2入门第一讲——Struts2框架的快速入门

    Struts2框架的概述 Struts2是一种基于MVC模式的轻量级Web框架,它自问世以来,就受到了广大Web开发者的关注,并广泛应用于各种企业系统的开发中.目前掌握Struts2框架几乎成为Web ...

  7. Farseer.net轻量级ORM开源框架 V1.x 入门篇:新版本说明

    导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:没有了 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库配置 前言 V1.x版本终于到来了.本次 ...

  8. 分布式应用框架Akka快速入门

    转自:分布式应用框架Akka快速入门_jmppok的专栏-CSDN博客_akka 本文结合网上一些资料,对他们进行整理,摘选和翻译而成,对Akka进行简要的说明.引用资料在最后列出. 1.什么是Akk ...

  9. Python 什么是flask框架?快速入门

    一.Python flask框架 前言 1.Python 面向对象的高级编程语言,以其语法简单.免费开源.免编译扩展性高,同时也可以嵌入到C/C++程序和丰富的第三方库,Python运用到大数据分析. ...

最新文章

  1. JavaScript继承详解(四) 转
  2. mysql注释符号按键,Shell 注释
  3. 安装autoit libary失败问题解决
  4. 分布式光伏发电并网无功补偿问题
  5. python字符串内置方法
  6. QT的系统总结(非常全面)
  7. 【java】从进程角度理解java
  8. html如何运用循环添加表格,萌新提问!!!如何用for循环循环表单?
  9. iOS应用开发环境准备
  10. java 循环读取指定文件夹下所有文件
  11. 程序员是如何下载的视频?
  12. hosts文件是什么? 以及在各个系统中(Windows、Mac、Linux)的hosts文件在哪里?
  13. Windows XP SP3 笔记本专用版 电脑疯子 2010年巨献
  14. php 正则格式化图片,php利用正则表达式格式化电话号码的方法
  15. Unhandled kernel unaligned access问题记录
  16. 39 项目实战---购物+转账系统
  17. R语言开发之我想要使用R语言进行开发的原因
  18. 为什么农民收入少,到底为什么
  19. 犯了这5个UI设计错误你的APP就得失败啦
  20. 凡科网怎么样啊,中小企业建站凡科网值得选择吗,口碑如何?

热门文章

  1. 微信:获取单个标签所有人
  2. C# SuperSocket 手把手教你入门 傻瓜教程---1(服务器单向接收客户端发送数据)
  3. Django 安装(Django-3.2.13)
  4. 基于遗传算法优化的Elman神经网络数据预测-附代码
  5. 论文阅读《Dense Relation Distillation with Context-aware Aggregation for Few-Shot Object Detection》
  6. centos8之U盘安装操作系统
  7. Broadbandits 网络盗匪 | 经济学人中英双语对照精读笔记
  8. Linux基础笔记18 | 磁盘分区管理
  9. [kubernetes]-安装dashboard2.0并解决谷歌浏览器无法访问dashboard的问题
  10. 基于Wio Terminal的简易智能家居中控系统(初代版本)