RoubSite是一个简单、轻量、易上手的 java web 开发框架,项目研发的初衷是写一个可以让刚入行的程序猿快速掌握java web开发的这么一个框架。
������RoubSiteAdmin是基于RoubSite开发的一套后台权限管理框架,用户、角色、权限、菜单一整套都写好了,结合代码生成机,简单增删改查,通过配置就可以搞定。
官网https://www.roubsite.com
����RoubSiteAdmin后台管理框架
账号:admin 密码:admin
������RoubSite框架Demo:https://gitee.com/lonesafe/roubsite-demo
整个框架分为Action(前端控制器)、Dao(数据访问层)、Bean(实体类)这三层;
页面模板实现了类似PHP中的smarty框架的一个模板引擎,使用起来十分方便。
Smarty是框架的依赖项,会自动引入。
引入框架(必须):
<dependency> <groupId>com.roubsite</groupId> <artifactId>RoubSiteFramework</artifactId> <version>4.0.0</version> <type>jar</type> </dependency>
引入权限管理(可选):
<dependency> <groupId>com.roubsite</groupId> <artifactId>RoubSiteSecurity</artifactId> <version>4.0.0</version> <type>jar</type> </dependency>
引入代码生成机(可选):
<dependency> <groupId>com.roubsite</groupId> <artifactId>RoubSiteCodeSign</artifactId> <version>4.0.0</version> <type>jar</type> </dependency>
<!-- log4j配置 --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <!-- 引入RoubSite框架监听器 --> <listener> <listener-class>com.roubsite.web.listener.RSConfigListenerContext</listener-class> </listener>
强烈推荐使用此方式! 配置文件放置在resources中,名字可以随便起,框架会自动扫描所有的配置文件。
RoubSite: #代码生成机配置 codeSign: #代码输出路径 outputPath: d:/demo #是否开启防注入拦截器 injection: true global: #默认分组 defaultGroup: admin #分组 group: #分组:对应的包 codeSign: com.roubsite.code index: com.roubsite.site admin: com.roubsite.admin sso: com.roubsite.sso #静态资源后缀 static_suffix: "*.jpg,*.css,*.png,*.js,*.gif,*.swf,*.ico,*.rar,*.woff,*.ttf,*.eot" #错误页文件路径 errorPage: #成功页文件路径 successPage: #权限管理框架配置 security: #框架拦截器 class: "com.roubsite.security.filter.SecurityFilter" #不进行拦截的资源 missing: "*.jpg,*.css,*.png,*.js,*.gif,*.swf,*.ico,*.rar,*.woff,*.ttf,*.eot" #登陆地址 loginUrl: "/admin/login" #模板设置 smarty: #调试模式 debug: true #启用cache,如果遇到变量无法刷新的问题,请关闭缓存(cache=off) cache: off #模板文件编码集 encoding: UTF-8 #左边界定界符 left.delimiter: "{" #右边界定界符 right.delimiter: "}" #函数扩展包的名称,以:分隔 package: function: com.roubsite.smarty4j.statement.function #变量调节器扩展包的名称,以:分隔 modifier: com.roubsite.smarty4j.statement.modifier #数据源配置 DataSourcePool: #是否开启druid控制台 console: true #默认数据源 default: dataSource #数据源列表 dataSources: #数据源DataSource dataSource: #数据源类型(1:mysql,2:oracle)用于代码生成使用 type: 1 driverClassName: com.mysql.jdbc.Driver url: "jdbc:mysql://127.0.0.1:3306/roubsite_dev?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true" username: root password: root #数据库池大小 poolSize: 12 #是否保持连接 keepAlive: true #最大等待时间 maxWaitMillis: 100000 #最大线程等待时间 maxWaithThreadCount: 12 #数据源DataSource2 # dataSource2: # type: 2 # driverClassName: com.mysql.jdbc.Driver # url=jdbc: mysql://127.0.0.1:3306/ls_srr?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull # username: root # password: root # poolSize: 12
不建议该种方式,将在后续版本中不再支持 配置文件放置在resources中
#默认访问分组名 default.group=index #项目模块包名(定义方法:global.group.模块=包名) global.group.index=com.roubsite.site #项目分组根包名END #静态资源后缀(框架将不对该文件进行解析) global.static_suffix=*.jpg,*.css,*.png,*.js,*.gif,*.swf,*.ico,*.rar,*.woff,*.ttf,*.eot,*.map,*.woff2,*.xml,*.json,*.html #数据库池监控(druid) DataSourcePool.console=true
#数据库类型(1:mysql;2:oracle) #dataSource2.type=1 #dataSource2.driverClassName=com.mysql.jdbc.Driver #dataSource2.url=jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true #dataSource2.username=root #dataSource2.password=root #dataSource2.poolSize= 12 #数据库类型(1:mysql;2:oracle) dataSource.type=2 dataSource.driverClassName=oracle.jdbc.driver.OracleDriver dataSource.url=jdbc:oracle:thin:@10.10.18.17:1521:orcl dataSource.username=demo dataSource.password=demo dataSource.poolSize= 12
LOG_DIR=D:/RoubSite-log/demo log4j.rootCategory=DEBUG,ROOT_LOG log4j.appender.ROOT_LOG= org.apache.log4j.FileAppender log4j.appender.ROOT_LOG.layout= org.apache.log4j.PatternLayout log4j.appender.ROOT_LOG.layout.ConversionPattern= [%-5p][%-22d{yyyy/MM/dd HH����ssS}]%n%m%n log4j.appender.ROOT_LOG.Append= TRUE log4j.appender.ROOT_LOG.File= ${LOG_DIR}/root.log log4j.appender.ROOT_LOG.Encoding= UTF-8 log4j.category.com.roubsite.web=DEBUG,ROUBSITE_FRAMEWORK #框架日志 log4j.appender.ROUBSITE_FRAMEWORK= org.apache.log4j.FileAppender log4j.appender.ROUBSITE_FRAMEWORK.layout= org.apache.log4j.PatternLayout log4j.appender.ROUBSITE_FRAMEWORK.layout.ConversionPattern= [%-5p][%-22d{yyyy/MM/dd HH����ssS}]%n%m%n log4j.appender.ROUBSITE_FRAMEWORK.Append= TRUE log4j.appender.ROUBSITE_FRAMEWORK.File= ${LOG_DIR}/roubsite_framework.log log4j.appender.ROUBSITE_FRAMEWORK.Encoding= UTF-8 log4j.category.com.roubsite.database=DEBUG,ROUBSITE_DATABASE #数据库日志 log4j.appender.ROUBSITE_SECURITY= org.apache.log4j.FileAppender log4j.appender.ROUBSITE_SECURITY.layout= org.apache.log4j.PatternLayout log4j.appender.ROUBSITE_SECURITY.layout.ConversionPattern= [%-5p][%-22d{yyyy/MM/dd HH����ssS}]%n%m%n log4j.appender.ROUBSITE_SECURITY.Append= TRUE log4j.appender.ROUBSITE_SECURITY.File= ${LOG_DIR}/roubsite_security.log log4j.appender.ROUBSITE_SECURITY.Encoding= UTF-8 log4j.category.com.roubsite.security=DEBUG,ROUBSITE_SECURITY #权限管理日志 log4j.appender.ROUBSITE_DATABASE= org.apache.log4j.FileAppender log4j.appender.ROUBSITE_DATABASE.layout= org.apache.log4j.PatternLayout log4j.appender.ROUBSITE_DATABASE.layout.ConversionPattern= [%-5p][%-22d{yyyy/MM/dd HH����ssS}]%n%m%n log4j.appender.ROUBSITE_DATABASE.Append= TRUE log4j.appender.ROUBSITE_DATABASE.File= ${LOG_DIR}/roubsite_database.log log4j.appender.ROUBSITE_DATABASE.Encoding= UTF-8 log4j.category.org.activiti=DEBUG,ROUBSITE_ACTIVITI #activiti日志 log4j.appender.ROUBSITE_ACTIVITI= org.apache.log4j.FileAppender log4j.appender.ROUBSITE_ACTIVITI.layout= org.apache.log4j.PatternLayout log4j.appender.ROUBSITE_ACTIVITI.layout.ConversionPattern= [%-5p][%-22d{yyyy/MM/dd HH����ssS}]%n%m%n log4j.appender.ROUBSITE_ACTIVITI.Append= TRUE log4j.appender.ROUBSITE_ACTIVITI.File= ${LOG_DIR}/roubsite_database.log log4j.appender.ROUBSITE_ACTIVITI.Encoding= UTF-8 log4j.rootLogger=DEBUG,A1 #输出到控制台A2 log4j.appender.A1= org.apache.log4j.ConsoleAppender log4j.appender.A1.layout= org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern= %n%m%n log4j.appender.A1.Target= System.out
#-----------------模板配置--------------------- #调试模式,模板文件更新将自动重新加载 debug=true #启用cache,如果遇到变量无法刷新的问题,请关闭缓存(cache=off) cache=off #模板文件编码集 encoding=UTF-8 #左边界定界符 left.delimiter={ #右边界定界符 right.delimiter=} #函数扩展包的名称,以:分隔 package.function=com.roubsite.smarty4j.statement.function #变量调节器扩展包的名称,以:分隔 package.modifier=com.roubsite.smarty4j.statement.modifier
security.class=com.roubsite.security.filter.SecurityFilter security.missing=*.jpg,*.css,*.png,*.js,*.gif,*.swf,*.ico,*.rar,*.woff,*.ttf,*.eot,*.html security.login.url=/admin/login
#------------------代码生成机配置---------------------- codeSign.outputPath=d:/demo
复制上面的配置文件后,我们已经创建了一个模块“index”,根据配置文件我们知道“index”对应的包名 是“com.roubsite.site”,根据这个包名我们新建三个包“com.roubsite.site.action”、“com.roubsite.site.bean”、“com.roubsite.site.dao”, 这三个包名分别对应“控制器”、“数据库实体”、“数据库操作”。 我们在“com.roubsite.site.action”下创建一个继承“RSAction”的得类“IndexAction”,并且实现“execute”方法:
然后在“src/webapp/templates/index”下面再添加一个模板文件“index.html”:
然后启动tomcat访问即可看到效果(具体控制器和模板的对应关系、url和控制器的对应关系可以查看操作手册)
项目描述 一个快速开发框架,mvc使用的是RoubSite(暂时不开源,后期开源单独发源码)。RoubSite-admin主要是在RoubSite的基础上做了一个rbac管理系统(brac一整套代码开源,主要是给大家一个熟悉rbac和RoubSite框架的一个示例),如果做一个项目,整个权限这一套东西不需要再做了,直接在roubsite-admin上加模块二次开发自己的业务上的东西就行。 运行环境
"One does not live by bread alone,but by every word that comes from the mouth of God" --(MATTHEW4:4) python开发框架 不管是python,还是php,亦或别的做web项目的语言,乃至于做其它非web项目的开发,一般都要用到一个称之为什么什么框架的东西。 框架的基本概念 开发这对框架的认识,由于
「盘古开发框架」是一套轻量稳健的工业级前、中、后台三维多端行业数字化赋能开发框架。基于商业友好的 Apache-2.0 协议免费开源发布。我们希望不仅是开源的受益者也能成为开源贡献者,与开源社区一起共建共享开源生态。 生态子项目 盘古开发框架由「盘古服务开发框架」、「盘古中后台业务系统开发脚手架」、「盘古移动端多平台开发脚手架」三个子项目组成。可以单独拆箱使用,也可以打包整合。 盘古服务开发框架(
nebula3 是一个游戏引擎和开发框架,可移植的特性支持多平台,包括 iPhone。 http://code.google.com/p/nebula3-engine/
在尝试了使用 AWS 开发 Serverless 应用之后,我便想尝试使用 OpenWhisk 框架来搭建自己的 Serverless 服务。 Apache OpenWhisk(http://openwhisk.org/)是一个由IBM和Adobe驱动的开源项目,它是一个健壮的FaaS平台,可以部署在 云或数据中心内。相比其他serverless项目,OpenWhisk是一个健壮的、可扩展的平台,
本项目是win32下大型客户端游戏的游戏辅助开发框架,由于它集成并包含了游戏辅助开发的各方面功能,称本项目为win32辅助开发的组件也可。 内含具体项目有fifa online3、疾风之刃、怪物猎人online、流放之路等,也有辅助帐号验证服务器,帐号查寻与管理工具,特征码识别,资源文件系统等。 本人现已转型,特发布此项目,旨在分享一份只供参考的多年工作经验与心血,若本项目中有些您认为闪亮的设计、
本文向大家介绍thinkPHP5.0框架开发规范简介,包括了thinkPHP5.0框架开发规范简介的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkPHP5.0框架开发规范。分享给大家供大家参考,具体如下: 命名规范 ThinkPHP5遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范: 目录和文件 目录不强制规范,驼峰及小写+下划线模式均支持; 类库、函数文件统一以
imi 框架基于Swoole的PHP协程开发框架,高性能,功能强大,运行稳定,开发方便,支持 Http、Http2、WebSocket、TCP、UDP、MQTT 等主流协议的服务开发,特别适合互联网微服务、即时通讯聊天im、物联网等场景!
一个应用程序开发框架。作者实现了很多控件效果,方便其他开发者各取所需。所实现的效果包括:打分星星、响应点击动作、旋转按钮效果、根据文字多少改变大小的UILabel等等效果。 [Code4App.com]