题外: 设计器修改成基于H5的了,有点小幸福~~ 哈哈 java
版本信息:5.19.0 mysql
REST主要核心包在源码 modules 下面 主要三个部分 web
1. activiti-common-rest
基本设置,内容较少
2. activiti-rest(旧的WEB工程)
大部份内容在这这里,包含着全部的资源发布,不过是一个maven war, 能够修改成JAR 放入到项目内部应用
3. activiti-webapp-rest2(web工程)
web 入口,负责初始化系统配置产生,采用注解形式,初始化spring 容器,和权限管理 spring
使用场景:使用RESTFul风格操做流程信息,可是在实际应用场景中使用restful这些可能并不合理, 有可能涉及到一些事务管理,可是RESTFul风格的查询我仍是很喜欢的 sql
数据库设置 数据库
默认H2, 修改MYSQL 要修改db.properties文件 apache
db=mysql jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/dbname?autoReconnect=true jdbc.username=root jdbc.password=
还有记得将MYSQL 驱动 connect jar 包放入 lib中 json
日志配置文件 跨域
在默认配置中只有控制台的输出,日志基于log4j 修改成如下配置文件 方便查看 浏览器
log4j.rootLogger=INFO, CA ,D # ConsoleAppender log4j.appender.CA=org.apache.log4j.ConsoleAppender log4j.appender.CA.layout=org.apache.log4j.PatternLayout log4j.appender.CA.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = D:/logs/restlog.log log4j.appender.D.Append = true log4j.appender.D.Threshold = info log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
RESTFUL服务访问
系统默认使用basic验证,使用提供默认的帐号 kermit kermit 登录便可
系统服务访问示例 在官方 或者 日志中打印的路径前面要添加上 service
最终路径以下: 如资源:form/form-data
http://localhost/activiti-rest/service/form/form-data?taskId=1
关于采用HTTP get方式时候出现的中文乱码问题解答
在系统中采用的spring mvc转换时候采用的jackson, MappingJackson2HttpMessageConverter 负责将对象转换为message,
在咱们使用浏览器直接访问资源的时候因为 请求头的类型是 text/plain, 不在默认的支付范围之列,严格使用的时候应该是 application/json 只要设定好请求头信息就不存在乱码问题 默认UTF-8
HTTP RESTFUL JAVASCRIPT 尴尬的跨域
通常JAVASCRIIPT 是采用JSONP(<script>标签)执行,可是不符合HTTPRESTFUL风格, 只能采用HTTP设置安全域的方式制做。
在最新的SPRINGMVC中提供了对JSON转换器拦截, 查看抽象类 AbstractJsonpResponseBodyAdvice ,以及@controllerAdvice的使用 使用资源的JSONP方式访问