`

业余框架整合-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
分享到:
评论
24 楼 mpl398235717 2011-02-13  
== 还是有好多问题 没搞出来
数据库 好像是乱码 我是CREATE DATABASE `sshd` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 这样搞的
效果图
${}这种表达式还是不管用啊
23 楼 mpl398235717 2011-02-13  
可以了 替换<s:property value="#request.get('javax.servlet.forward.context_path')" />
22 楼 dongcb678 2011-02-13  
原因是tomcat5中isELIgnored默认是true,所以要改成isELIgnored="false",
dongcb678 写道
mpl398235717 写道
mpl398235717 写道
${pageContext.request.contextPath }/jsFile/keybody/keyboard_style_1.css 还是这个 不支持 那里不对啊

我这是 那里不对啊 帮忙看下

哎!我伤心了,这个应该是tomcat和项目中jbpm的EL冲突了的问题,直接一个ctrl+h,${pageContext.request.contextPath }替换成<%=request.getContentPath()%>吧

原因是tomcat5中isELIgnored默认是true,所以JSP中要加上isELIgnored="false"
21 楼 dongcb678 2011-02-13  
mpl398235717 写道
mpl398235717 写道
${pageContext.request.contextPath }/jsFile/keybody/keyboard_style_1.css 还是这个 不支持 那里不对啊

我这是 那里不对啊 帮忙看下

哎!我伤心了,这个应该是tomcat和项目中jbpm的EL冲突了的问题,直接一个ctrl+h,${pageContext.request.contextPath }替换成<%=request.getContentPath()%>吧
20 楼 mpl398235717 2011-02-13  
mpl398235717 写道
mpl398235717 写道
${pageContext.request.contextPath }/jsFile/keybody/keyboard_style_1.css 还是这个 不支持 那里不对啊

我这是 那里不对啊 帮忙看下

我都copy进去了  这个不行 怎么弄啊
19 楼 mpl398235717 2011-02-13  
mpl398235717 写道
${pageContext.request.contextPath }/jsFile/keybody/keyboard_style_1.css 还是这个 不支持 那里不对啊

我这是 那里不对啊 帮忙看下
18 楼 mpl398235717 2011-02-13  
${pageContext.request.contextPath }/jsFile/keybody/keyboard_style_1.css 还是这个 不支持 那里不对啊
17 楼 dongcb678 2011-02-13  
mpl398235717 写道
帮我解决一下啊 我的是apache-tomcat-5.5.29 那里不对了

问题应该是没把3个juel开头的包放入web-inf\lib里面
16 楼 mpl398235717 2011-02-13  
el表达式 不支持怎么解决啊 ,5.5的版本
15 楼 mpl398235717 2011-02-13  
帮我解决一下啊 我的是apache-tomcat-5.5.29 那里不对了
14 楼 mpl398235717 2011-02-13  
dongcb678 写道
rekoe.net 写道
javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/WEB_002dINF/jsp/error/exception_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
这个是怎么回事

你是不是在流程管理里碰到的?应该是tomcat6 jar包替换问题,如果是tomcat5.5就不用换

我的是 apache-tomcat-5.5.29
13 楼 mpl398235717 2011-02-13  
Unable to instantiate Action, loginPingTaiAction,  defined for 'loginPingTaiAction' in namespace '/loginPackage'Error creating bean with name 'loginPingTaiAction': Injection of resource fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceImpl': Injection of resource fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jbpmTemplate' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Cannot resolve reference to bean 'processEngine' while setting bean property 'processEngine'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngine' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.jbpm.api.ProcessEngine org.jbpm.pvm.internal.processengine.SpringHelper.createProcessEngine()] threw exception; nested exception is java.lang.NoClassDefFoundError: javax/el/FunctionMapper
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:318)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:399)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:198)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
12 楼 mpl398235717 2011-02-13  
11 楼 guiqing85 2011-02-13  
nested exception is java.lang.NoClassDefFoundError: javax/script/ScriptEngineManager
在tomcat5.5,jdk5,使用BasicDataSource,启动不报错,但是创建不了对象,一访问就报错
Unable to instantiate Action, loginPingTaiAction,  defined for 'loginPingTaiAction' in namespace '/loginPackage'Error creating
10 楼 dongcb678 2011-02-13  
rekoe.net 写道
javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/WEB_002dINF/jsp/error/exception_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
这个是怎么回事

你是不是在流程管理里碰到的?应该是tomcat6 jar包替换问题,如果是tomcat5.5就不用换
9 楼 rekoe.net 2011-02-12  
javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/WEB_002dINF/jsp/error/exception_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
这个是怎么回事
8 楼 chenwq 2011-02-12  
关注你!
7 楼 zhujyy 2011-02-12  
呵呵~~感谢共享..
6 楼 zhujyy 2011-02-12  
ok了 好像是myeclipse的问题直接启动tomcat,使用myeclipse启动tomcat会出现刚才问题,java compiler设置为1.5的了.. 
5 楼 dongcb678 2011-02-12  
zhujyy 写道
JDK版本 jdk1.6.0_10

确定编译的JDK和服务器用的都是1.6呢,还有编译级别,奇怪我这里好好的,刚全部导入试了一遍

相关推荐

Global site tag (gtag.js) - Google Analytics