RoubSite是一个简单、轻量、易上手的java web开发框架,项目研发的初衷是写一个可以让刚入行的程序猿快速掌握java web开发的这么一个框架。
🎉🎉🎉RoubSiteAdmin是基于RoubSite开发的一套后台权限管理框架,用户、角色、权限、菜单一整套都写好了,结合代码生成机,简单增删改查,通过配置就可以搞定。
官网https://www.roubsite.com
🔥🔥RoubSiteAdmin后台管理框架
账号:admin 密码: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
Configuration:
status: DEBUG
Properties: # 定义全局变量
Property:
- name: log.path
value: D:/RoubSite-log
Loggers:
Root:
level: DEBUG
AppenderRef:
- ref: CONSOLE
- ref: ROOT_LOG
Logger:
- name: com.roubsite.web
additivity: true
level: DEBUG
AppenderRef:
- ref: ROUBSITE_FRAMEWORK
- name: com.roubsite.database
additivity: true
level: DEBUG
AppenderRef:
- ref: ROUBSITE_DATABASE
- name: com.roubsite.security
additivity: true
level: DEBUG
AppenderRef:
- ref: ROUBSITE_SECURITY
- name: org.activiti
additivity: true
level: DEBUG
AppenderRef:
- ref: ROUBSITE_ACTIVITI
Appenders:
Console: #输出到控制台
name: CONSOLE
target: SYSTEM_OUT
follow: true
PatternLayout:
pattern: '%n%m%n'
RollingFile: # 输出到文件,超过128MB归档
- name: ROOT_LOG
ignoreExceptions: false
fileName: ${log.path}/root.log
filePattern: ${log.path}/%d{yyyy-MM-dd}-%i-root.log.gz
PatternLayout:
pattern: '[%-5p][%-22d{yyyy/MM/dd HH:mm:ssS}][%l]%n%m%n '
Policies:
SizeBasedTriggeringPolicy:
size: 128 MB
DefaultRolloverStrategy:
max: 1000
- name: ROUBSITE_FRAMEWORK
ignoreExceptions: false
fileName: ${log.path}/roubsite_framework.log
filePattern: ${log.path}/%d{yyyy-MM-dd}-%i-roubsite_framework.log.gz
PatternLayout:
pattern: '[%-5p][%-22d{yyyy/MM/dd HH:mm:ssS}][%l]%n%m%n '
Policies:
SizeBasedTriggeringPolicy:
size: 128 MB
DefaultRolloverStrategy:
max: 1000
- name: ROUBSITE_SECURITY
ignoreExceptions: false
fileName: ${log.path}/roubsite_security.log
filePattern: ${log.path}/%d{yyyy-MM-dd}-%i-roubsite_security.log.gz
PatternLayout:
pattern: '[%-5p][%-22d{yyyy/MM/dd HH:mm:ssS}][%l]%n%m%n '
Policies:
SizeBasedTriggeringPolicy:
size: 128 MB
DefaultRolloverStrategy:
max: 1000
- name: ROUBSITE_DATABASE
ignoreExceptions: false
fileName: ${log.path}/roubsite_database.log
filePattern: ${log.path}/%d{yyyy-MM-dd}-%i-roubsite_database.log.gz
PatternLayout:
pattern: '[%-5p][%-22d{yyyy/MM/dd HH:mm:ssS}][%l]%n%m%n '
Policies:
SizeBasedTriggeringPolicy:
size: 128 MB
DefaultRolloverStrategy:
max: 1000
- name: ROUBSITE_ACTIVITI
ignoreExceptions: false
fileName: ${log.path}/roubsite_activiti.log
filePattern: ${log.path}/%d{yyyy-MM-dd}-%i-roubsite_activiti.log.gz
PatternLayout:
pattern: '[%-5p][%-22d{yyyy/MM/dd HH:mm:ssS}][%l]%n%m%n '
Policies:
SizeBasedTriggeringPolicy:
size: 128 MB
DefaultRolloverStrategy:
max: 1000
复制上面的配置文件后,我们已经创建了一个模块“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和控制器的对应关系可以查看操作手册)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Activity
Community
Health
Trend
Influence
:Code submit frequency
:React/respond to issue & PR etc.
:Well-balanced team members and collaboration
:Recent popularity of project
:Star counts, download counts etc.