私信发送成功
Watch Star Fork

frank42a / AJAXJS FrameworkJava

全栈 Web 框架,包含 Java 后端框架和 HTML/CSS/JS 前端库。A fullstack Java web project. It's clean, simple, fast and extensible. Not only backend code writen in Java, but also frontend code in native JavaScript. https://framework.ajaxjs.com
克隆/下载
frank42a 最后提交于 2018-01-23 00:50 no commit message
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md 4.81 KB

欢迎来到 AJAXJS Web Framework!

全栈 Web 框架,包含 Java 后端框架和 HTML/CSS/JS 前端库。设计目标:Clean, Simple, Fast, Full-stacks & Lightweight.

A fullstack Java web project. It's clean, simple, fast and extensible. Not only backend code writen in Java, but also frontend code in native JavaScript.

AJAXJS 的设计原则:首先是尽量减少引入新的概念和新的第三方框架或库,而仅仅是在 Java 类库的核心概念之上进行梳理和进一步简化,个人认为一个第三方 jar 包就是一门新的 DSL 语言,DSL 语言不管大小,对心智来说都是一个额外的负担。如果没有足够的理由,没有必要去使用新的 DSL;其次,在写法上极其平常,顶多是引入链式写法(或所谓的流式接口),同时在 api 命名上,尽量准确精炼而且是众人所熟知的,不标新立异;最后就是代码量少,大部分每个类总共几十行,学习和理解的曲线低。详见官网 https://framework.ajaxjs.com 介绍。

Maven 依赖

<dependency>
    <groupId>com.ajaxjs</groupId>
    <artifactId>ajaxjs-web</artifactId>
    <version>1.0.2</version>
</dependency>

相关项目一览

名称 说明
ajaxjs-base 基础类库,纯 Java 项目。跳转项目主页
ajaxjs-web 本项目,Web 的 MVC 框架+小型 UI 库,依赖 base JAR 包。见下面详细介绍。
ajaxjs-cms CMS 网站内容发布系统,依赖上述 base + web 的 JAR 包。跳转项目主页

AJAXJS WEB

AJAXJS WEB 包含以下模块:

  • 通过 Servlet 3.0 的 web-fragment 提供了静态资源打包,包括 UI 库的各种控件、自定义标签库、404/500 页等;
  • web Http 与 Servlet 工具类,例如通过 HttpServletRequestWrapper 扩展了 Request 对象,还有一个文件上传组件和验证码组件、Mock 模拟对象;
  • mvc 模块,类似 SpringMVC 基于注解的控制器的写法,注解基于 JSR 标准方案。当前支持 JSP 视图;
  • view 视图模块,提供一个简单的、基于 JSP/JSTL 的扩展标签;
  • security 网站防御系统,抵御 XSS、CSRF 等攻击;
  • config 基于 JSON 格式的配置系统。

环境配置说明

  • 数据库连接:因为使用了 Tomcat 数据库连接池,所以依赖于 Tomcat 的 web 环境,于是数据库的配置文件也就不在 properties 文件中,取而代之的是 WebContent/META-INF/context.xml 配置文件。
  • 各个项目导出 jar 可交叉复用到不同项目。项目不限定何种 IDE(不包含任何 IDE 配置文件)。但默认地,src 为 Java 源码目录;WebContent 为 Web 项目根目录;lib 为依赖的 jar 包或本项目编译好的 jar 包。
  • 详见手册帮助 http://ajaxjs.mydoc.io/?t=148968

前端框架

前端就要看 DEMO:https://framework.ajaxjs.com/framework/ui_demo/,然后右击鼠标查看源码或 F12 即可:)

config

小巧、灵活、通用、基于 JSON 的配置系统,完全可以代替 properties 文件实现配置模块。

>>详细用法参见文档

联系方式

版权声明 LICENSE

/**
 * 版权所有  Frank Cheung frank@ajaxjs.com
 * 
 * 根据 2.0 版本 Apache 许可证("许可证")授权;
 * 根据本许可证,用户可以不使用此文件。
 * 用户可从下列网址获得许可证副本:
 * 
 *    http://www.apache.org/licenses/LICENSE-2.0
 *    
 * 除非因适用法律需要或书面同意,根据许可证分发的软件是基于"按原样"基础提供,
 * 无任何明示的或暗示的保证或条件。详见根据许可证许可下,特定语言的管辖权限和限制。
 */


/**
 * Copyright Frank Cheung frank@ajaxjs.com
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

项目点评 ( 4 )

你可以在登录后,对此项目发表评论

6_float_left_people 6_float_left_close