楔子
本文继上一篇的Gradle多项目构建,来具体创建一个web项目,取名为kweb(king of web),代码托管于github:https://github.com/zhaiqianfeng/kweb.
主要是使用spring mvc+gradle+servlet3.0的web fragment特性来进行web插件式开发,旨在提供一个集成基础功能模块的快速开发半成品web框架.
kweb结构
kweb的结构如下,demo-frament是用于实例插件,demo-web用于实例web,kbase-fragment和kuser-frament分别是基础插件和用户插件
├── build.gradle #Gradle build.gradle
├── buildscript
│ └── gretty.plugin #gretty 插件
├── demo-fragment #demo插件
├── demo-web #demo website,可以把别的插件配置到此web主题
├── gradle #gradle wrapper,把gradle.bin放在此目录,避免了下载缓慢
│ └── wrapper
│ ├── gradle-3.3-bin.zip
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── kbase-fragment #kbase插件 基础插件,比如验证码
├── kuser-fragment #kuser插件 用户管理管理相关
├── kutils #kweb的工具项目
└── settings.gradle #gradle的多项目配置文件
插件的结构,如kuser-frament
kuser-fragment/
└── src
├── main
│ ├── java #java代码
│ └── resources
│ ├── META-INF
│ │ ├── resources
│ │ │ ├── assets #插件的js,css,图片等资源
│ │ │ └── WEB-INF
│ │ │ └── jsp #插件的jsp文件,当然也可以使用其他模板
│ │ │ └── user
│ │ │ └── login.jsp
│ │ └── web-fragment.xml #插件的部署配置文件
│ └── spring
│ └── application-config.xml #插件的spring bean配置文件
└── test
├── java #java单元测试
└── resources #java单元测试资源
├── log4j.properties
├── properties
└── spring
├── application-config.xml
└── dispatcher-servlet.xml
clone代码后,可以进入code执行gradle命令
./gradlew demo-web:appRun
或windows下
gradlew.bat demo-web:appRun
即可根据提示打开 http://localhost:8080/demo-web/ 预览.
贡献
kweb是我计划作为长期维护的一个开源项目,如果你感兴趣可以fork并贡献代码: https://github.com/zhaiqianfeng/kweb, 虽然目前并不完善,但相信开源的力量,相信大众的力量.