ActFrameworkJava MVC全栈框架
ActFramework是一种简洁易用,具有强大表达力的Java MVC全栈框架:
- 非Servlet架构,数秒之内启动项目。拷贝文件即部署
- 提供不一样的开发体验, 即改即刷,开发过程无需重启
- 强劲的运行时性能
- 强大快捷的依赖注入,完全符合JSR330标准
- 内置了单页/移动应用支持
- 完美的RESTFul/JSON支持
- 内置CORS
- Session/Header映射可绕过Cookie无效情况
- 必须的安全性
- Session cookie是http only (javascript不可读写), secure(在产品模式下,只能用于https链接); payload有hash签名,还可以选择加密
- 在配置文件中加上`csrf=true`来打开CSRF保护机制
- XSS保护: Rythm模板引擎默认escape变量输出
- AAA plugin提供最为方便 灵活的AAA(认证/授权/记账)机制
- 使用但不过分依赖注解
- 不同运行环境下的配置支持
- 方便而强大的数据库访问
- 简单而强大的视图架构以及多模板引擎支持
- 内置多种工具以简便应用开发:
一个返回HelloWorld的请求处理器(演示视频 : 7分钟):
@GetAction("/hello")
public String sayHello() {
return "Hello World!"
}
一个完整的User RESTful服务应用(演示视频 : 7分钟):
package demo.helloworld;
import act.controller.Controller;
import act.db.morphia.MorphiaAdaptiveRecord;
import act.db.morphia.MorphiaDao;
import org.mongodb.morphia.annotations.Entity;
import org.osgl.mvc.annotation.*;
import java.util.Map;
import static act.controller.Controller.Util.notFoundIfNull;
@Entity("user")
public class User extends MorphiaAdaptiveRecord {
@Controller("user")
public static class Service extends MorphiaDao {
@PostAction
public User create(User user) {
return save(user);
}
@GetAction
public Iterable list() {
return findAll();
}
@GetAction("{id}")
public User show(String id, Map data) {
return findById(id);
}
@PutAction("{id}")
public User update(String id, Map data) {
User user = findById(id);
notFoundIfNull(user);
user.mergeValues(data);
return save(user);
}
@DeleteAction("{id}")
public void delete(String id) {
deleteById(id);
}
}
}
联系方式:
QQ 群: 283919975
评论