(1)工作情况
1.熟悉权限管理,了解RBAC--基于角色的访问控制(Role-Based Access Control)。
2.在Tomcat部署开源权限管理中间件Ralasafe。
3.OA工程导入,主要是为了解OA其中的组织管理,权限管理两个模块。
4.GoldJbpm工程导入,主要是为了解Jbpm和权限管理结合的实例。
(2)假如工作上遇到的问题
1.MySQL中insert中文编码出现空白:
MySQL 5.5 Command Line Client中如果 set names utf8, 当insert中文时会出现空白,当select已有中文会乱码。
尝试过两个方法:一是将原有的建表语句多复制一份,将里面编码为utf8的地方用editplus全部替换为gbk,二是set name gbk;
2.Ralasafe工程demo导入过程。开源官网有详细介绍,主要问题还是编码问题,以及工程中web.xml第66行,必须是绝对路径。
Navicat for MySQL无论set name gbk 或 utf8,都能正常执行SQL语句。
3.jsp/jstl错误:org.apache.jasper.JasperException: The absolute uri: http://java…… cannot be resolve
把jstl.jar和standard.jar放到WEB-INF的lib里面,然后重启服务器
4.OA工程导入。解决过程:一开始用eclipse 的时候,由于默认编码是 utf8, java文件多处乱码。
又加上没有安装 junit . 没能运行test里面的InitSystemDatasTest来进行测试。加载完工程后数据库 oa有表,但表中没有任何数据。
手动增加用户,测试登陆的时候页面一片空白。改用myeclipse,设置默认编码gbk。hibernate配置文件加上
<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1/oa?characterEncoding=utf8</property>
并在mysql命令行中SET NAMES utf8;用junit运行 test里面 InitSystemDatasTest。运行完毕后,数据库oa中表有相关数据。测试可登陆。
5.缺少commons-digester-2.0.jar
解决过程:查原因大多数人说是缺少commons-digester.jar包。所以下了这个jar包,拷到lib发现没效果。
直接下了整个 struts1.2的jar包。因为有人说是由于struts-core引起的。依然没有效果。最后拷了 commons-digester-2.0.jar
终于没有报错。环境是MyEclipse5.5
6.Tomcat虚拟目录,文件路径空格变成%20,Invalid byte 2 of 2-byte UTF-8 sequence编码问题。
7.Goldjbpm工程导入过程:org.jbpm.JbpmException: can't create a process instance when processDefinition is null
一开始是报了这个错误:百度查找答案的时候说的比较多的是这个原因:
在分两次加载的情况下,jbpm子流程定义文件加载顺序:必须先加载子流程,后加载主流程,否则会出现这个错误:processDefinition is null
解决思路:考虑到之前在 navicat for mysql里面看到的中文是能正常显示的。可是在mysql 5.5命令行里用select语句查询出来的中文是乱码。
设置 set names gbk 则可以正常显示。尝试将工程里面带的.sql文件中utf8的地方改成gbk。重新执行后生成gbk数据库。
运行工程,提交请假单的时候报了类似这个错误:java.sql.SQLException: Illegal mix of collations (gbk_chinese_ci,IMPLICIT)
感觉就是由于工程里面的编码跟数据库的编码不一致导致的。工程默认是uft-8编码,但myeclipse6.0新建里默认编码是gbk。
后来全部改成 utf8。统一编码。
8.工程正常加载,但JBPM部分流程不能运行。一开始考虑的是编码问题,MyEclipse和SQL之前的编码问题,后来思考的是JBPM流程中文乱码问题,
最后才考虑到是URL传值时乱码。修改源文件编码转换方式即可。
9.JBPM流程中文问题。新建一 .xml文件,并在EditPlus打开gdp.xml文件。Ctrl+A直接复制过去。然后用这正常的.xml直接覆盖打叉的gdp.xml既可。
同时Processdefinition.xml也自动生成正常的流程图。
10.Workorder3工程的重新导入。先是数据库。如果按默认的utf8,在navicat 里面执行导入,权限表那些会出现中文乱码。
去mysql5.5命令行,执行的时候中文变成空白。Set names gbk后则正常。拷贝之前的工程备份,重新加载工程后提示jbpm某流程id错误不存在之类的。
修改hibernate里面的设置如下:<property name="hibernate.hbm2ddl.auto">create-drop</property>
重新启动工程即可。之后可恢复原先的 update.
(3)未来若干天工作计划
1.之前JBPM是直接JSP文件中嵌套流程定义脚本执行,尝试了解jbpm用java开发。
2.工程多数是SSH,看不懂工程里面的传值调用过程,了解SSH相关知识点。
3.了解组织管理,权限管理。