`

业余框架整合-SSHD-(1)-整体概述(2011-12-03更新)

阅读更多
2011年12月3日更新说明:
1.修复BUG,主要是通用DAO和OsCache
2.增加新功能,比如列排序
3.调通数据库,以前是再mysql运行,由于用的hibernate,所以移植也还算顺利,
现在支持的数据库有oracle11g,postgreSQL9,sqlServer2008,DB2

附件说明(新):
1.lib-1.rar基础jar包
2.lib-2.rar基础jar包
3.lib-3.rar基础jar包
4.lib-4.rar基础jar包
5.lib-5.rar基础jar包

6.lib_db.rar是5种数据库的jdbc包
7.database.rar是5种数据库的备份文件,直接用自带的工具导进去即可(少了DB2,导出来没成功,用不了,接下来我再试试看)

8.PTP.rar(用序列的数据库要用这个项目),如oracle11g,postgreSQL9,DB2

9.PTM.rar(用自增的数据库要用这个项目),如mysql,sqlServer2008

其实两个工程是一样的,只是实体类中得主键生成方式不一样

其它小组件说明:在/jsFile/下加了几个图形报表的组件,如fusionChartsFree,有例子

接下来要做的工作:彻底写两个工作流的例子,把测试通过的取回、打回、会签等都用上;另外就是考虑界面的问题,直接换掉;再个就是异常的处理,程序中都没做


===========================================================

控制到按钮级别的权限设计(本系统整合也是这样实现的):

1.表结构:用户表->中间表->分组表->中间表->角色表->中间表->功能表;
菜单表(菜单操作对应功能表)

2.权限拦截器,拦截所有的url然后截取操作url,然后查库是否有权限

3.自定义标签,标签中写得url拿到库查是否有权限,有权限就显示出来

4.提速,把人员的权限实时的放到缓存,免得查库

===========================================================

一、基础介绍

1.目的:主要是练手,其次是做个通用的公共平台,涉及到权限和工作流
 
2.用到的主要框架和组件:
  struts2.2.1(mvc框架)
  spring2.5.6(平台枢纽)
  hibernate3.5.5(数据库封装)
  dwr2(便捷ajax框架)
  jbpm4.4(工作流引擎)
  compass2.2(站内搜索)
  cxf2.2(web services框架)
  quartz1.8(定时任务)
  kindEditor(js文本编辑器,类似于FCKEdit)
  jna(jni封装)
  BoneCP0.7(传说最高效的数据源,必须达到jdk6版本)
  osCache2.4(缓存平台,一是作为hibernate缓存插件,二是缓存所有数据字典和所有操作的URL)
  freemark2.3(生成html静态网页)

3.运行说明:
  3.1.web server:
   3.1.1.tomcat5.5: 把jbpm_juel_jar.rar中3个jar包放入到项目中即可
   3.1.2.tomcat6: 用tomcat6,把jbpm_juel_jar.rar中3个jar包放入tomcat6的lib目录,删掉tomcat6\lib中的el-api.jar

  3.2.数据库用mysql5,新建一个数据库sshd,编码是UTF-8,然后倒入sshd_sql_mysql.rar脚本,我用的是Navicat Lite导出的,导入最好也用同样的工具,不然很容易出现问题

  3.3.源码包是SSHD-日期.rar,其中所有的文件编码都是UTF-8,以lib开头的是项目用到的所有jar包(由于单个文件大小的限制所以分开打包了),解压SSHD.rar然后用myeclipse直接导入项目,把解压的所有jar都放到WEB-INF\lib目录下

  3.4.数据库连接信息都在src下的init.properties中,根据自己情况修改用户名密码

  3.5.如果你是用的linux,请把mysql中区分表名大小写去掉

  3.6.关于JDK版本说明:
     3.6.1.JDK用1.6,包括编译级别和server jdk都是1.6,这个问题主要是因为使用了BoneCP,还有jbpm4.4,它的processEngine用到了javax.script.*包,JDK6才提供
     3.6.2.JDK1.5还是可以用的,不过要不是考虑多个项目的兼容性那就完全没必要,还是直接用JDK6吧!
     3.6.3.用JDK5(有点麻烦),首先还数据源,在BoneCP的前面有一个DBCP数据源,注释BoneCP,打开DBCP即可;关于jbpm4.4,javax.script.*包所有的类在网上有,已经有人打包了,下下来用上(不建议这样使用)
 
  3.7.测试账号:用户名admins,密码是6个0
 
  3.8.关于环境部一致导致的错误说明:
     3.8.1.项目本身运行的环境是jdk1.6,tomcat6,tomcat jdk也是1.6,项目编译级别也是1.6,数据库是mysql5,数据库导入导出工具是Navicat Lite
     3.8.1.关于tomcat版本不一致的问题,
        A.如果是用的tomcat6,按上面说明部署是没问题的;
        B.如果用的是tomcat5.5,需要把3个juel开头的jar包直接放到项目中,不需要放到tomcat5\common\lib中,评论中有人出现了这个问题;
        C.如果用的是tomcat7就按tomcat6的配置来进行,需要说明的是tomcat7对dwr支持好像有问题,会抛异常,但是不影响程序运行     

  3.9.eclipse导入包图



  4.附件说明:*随时根据情况进行更新*

二、功能介绍

  声明:控制台界面是我从网上找了,然后进行修改的,当时记得下载说明里也不涉及什么版权问题,如有还麻烦通知声

  1.控制台登陆页 
 

  2.控制台首页




 
  • 大小: 40.7 KB
  • 大小: 46.9 KB
  • PTM.rar (6.4 MB)
  • 下载次数: 495
  • PTP.rar (6.2 MB)
  • 下载次数: 423
  • 大小: 88.3 KB
分享到:
评论
124 楼 heioo 2013-08-16  
您好 我启动完成后 登录 出现如下错误  请问是什么原因呢  Error creating bean with name 'userServiceImpl': Injection of resource fields failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'compassTemplate' is defined
123 楼 ykai160542 2013-07-23  
楼主,jdk是1.6.0——会不会发生冲突
122 楼 hngmduyi 2012-08-15  
121 楼 luweijava 2012-08-15  
有没有在myeclipse里开发的这个项目?
120 楼 lovingfanglu 2012-05-10  
愿意将自己的东西拿出来与大家分享,让大家进步,真是难得。
119 楼 dongcb678 2012-04-14  
lsw289998792 写道
lsw289998792 写道
先感谢lz的分享,今下午搞了一下,还是没有跑起来,最后这个问题该怎么解决
org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [select ro.operatorIds, ro.dataLevel, (select o.url from pt_operator o where o.ids=ro.operatorIds) as url from pt_roleoperator ro where ro.roleIds in (select rg.roleIds from pt_rolegroup rg where rg.groupIds=1)]; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'pt_roleoperator' 无效。
具体找不到在哪里修改???

今天解决另一个问题,加了个stander.jar包,重启tomcat就没有报这个错了,刚刚解决了java.lang.OutOfMemoryError: PermGen space,目前已能很好的运行,赞一个楼主的分享精神,最近跟着老师在做一个权限系统,需要控制到页面元素的粒度,明天开始看你的设计


呵呵 不好意思 这几天一直没上网 没法回复你 如果说环境按我说的来做应该是不会出现那种错误的 你后面的是内存溢出问题 设置大一点就行了
118 楼 lsw289998792 2012-04-14  
lsw289998792 写道
先感谢lz的分享,今下午搞了一下,还是没有跑起来,最后这个问题该怎么解决
org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [select ro.operatorIds, ro.dataLevel, (select o.url from pt_operator o where o.ids=ro.operatorIds) as url from pt_roleoperator ro where ro.roleIds in (select rg.roleIds from pt_rolegroup rg where rg.groupIds=1)]; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'pt_roleoperator' 无效。
具体找不到在哪里修改???

今天解决另一个问题,加了个stander.jar包,重启tomcat就没有报这个错了,刚刚解决了java.lang.OutOfMemoryError: PermGen space,目前已能很好的运行,赞一个楼主的分享精神,最近跟着老师在做一个权限系统,需要控制到页面元素的粒度,明天开始看你的设计
117 楼 lsw289998792 2012-04-13  
先感谢lz的分享,今下午搞了一下,还是没有跑起来,最后这个问题该怎么解决
org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [select ro.operatorIds, ro.dataLevel, (select o.url from pt_operator o where o.ids=ro.operatorIds) as url from pt_roleoperator ro where ro.roleIds in (select rg.roleIds from pt_rolegroup rg where rg.groupIds=1)]; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'pt_roleoperator' 无效。
具体找不到在哪里修改???
116 楼 hngmduyi 2012-02-23  
115 楼 dongcb678 2012-02-10  
tianxiao0649 写道
cxf包和jdk6起冲突啊,怎么解决。

你用的JDK1.6.几?只要值1.6.20往上的,不用配置特殊,也不会冲突
114 楼 tianxiao0649 2012-02-10  
cxf包和jdk6起冲突啊,怎么解决。
113 楼 ileoo 2011-10-25  
菜鸟,求解登录。。login.jsp里的action指向的文件不对啊。
112 楼 dongcb678 2011-09-27  
: javax.el.ELException: expression
83003401 写道
点击流程管理报错啊!!

org.jbpm.api.JbpmException:
  xml validation error: cvc-complex-type.3.2.2: Attribute 'description' is not allowed to appear in element 'process'. [line=3 column=115 ]: org.xml.sax.SAXParseException: cvc-complex-type.3.2.2: Attribute 'description' is not allowed to appear in element 'process'.
  error: parsing exception: expression factory class not found : javax.el.ELException: expression factory class not found
at org.jbpm.pvm.internal.xml.ProblemList.getJbpmException(ProblemList.java:175)
at org.jbpm.pvm.internal.xml.ProblemList.getJbpmException(ProblemList.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)。。。。。

这个错已经解释无数遍了: javax.el.ELException:
111 楼 83003401 2011-09-27  
点击流程管理报错啊!!

org.jbpm.api.JbpmException:
  xml validation error: cvc-complex-type.3.2.2: Attribute 'description' is not allowed to appear in element 'process'. [line=3 column=115 ]: org.xml.sax.SAXParseException: cvc-complex-type.3.2.2: Attribute 'description' is not allowed to appear in element 'process'.
  error: parsing exception: expression factory class not found : javax.el.ELException: expression factory class not found
at org.jbpm.pvm.internal.xml.ProblemList.getJbpmException(ProblemList.java:175)
at org.jbpm.pvm.internal.xml.ProblemList.getJbpmException(ProblemList.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)。。。。。
110 楼 huanglei7211 2011-08-10  
dongcb678 写道
huanglei7211 写道
不能进行登录,悲剧;楼主提供下密码;
建议密码加密暂时注释掉;看到数据库加密密码,真是类牛满面

直接运行MyMD5Test.java生成密文密码把数据库密码字段换掉 呵呵

呵呵,谢谢!已经这样做了
boolean valiPass = MyMD5Util.validPassword(user.getPassWord(), dbPassWord);//MD5加密验证
				valiPass = true;//2011年8月10日11:20:34
				if(valiPass){
					return resultUser;
				}
109 楼 huanglei7211 2011-08-10  
大哥的代码可读性较差,希望重构下
108 楼 dongcb678 2011-08-10  
huanglei7211 写道
不能进行登录,悲剧;楼主提供下密码;
建议密码加密暂时注释掉;看到数据库加密密码,真是类牛满面

直接运行MyMD5Test.java生成密文密码把数据库密码字段换掉 呵呵
107 楼 huanglei7211 2011-08-10  
不能进行登录,悲剧;楼主提供下密码;
建议密码加密暂时注释掉;看到数据库加密密码,真是类牛满面
106 楼 dongcb678 2011-08-09  
bitray 写道
楼主写的很好,但是不知道为什么我的项目流程管理那里不能用。楼主是否可以帮忙指点一下?

流程管理那里不能用应该是你没用juel-*.jar这3个jar包没替换tomcat6中得el-api.jar
105 楼 bitray 2011-08-08  
楼主写的很好,但是不知道为什么我的项目流程管理那里不能用。楼主是否可以帮忙指点一下?

相关推荐

Global site tag (gtag.js) - Google Analytics