一.SSH整合JBPM JBPM基础见http://www.cnblogs.com/kuangdaoyizhimei/p/4981551.html 现在将要实现SSH和JBPM的整合. 1.添加jar包 (1)jbpm项目/lib目录下的所有jar包和根目录下的jbpm.jar包放入/WEB-INF/lib文件夹下,同时删除tomcat服务器/lib文件夹中的el-api.jar包. 注意:必须删除el-api.jar包,该jar包和jbpm项目中需要使用到的三个jar包冲突了:juel-api…
一.远程调用概述 1.远程调用的定义 在一个程序中就像调用本地中的方法一样调用另外一个远程程序中的方法,但是整个过程对本地完全透明,这就是远程调用.spring已经能够非常成熟的完成该项功能了. 2.spring远程调用的原理 客户端调用本地接口中的一个方法调用的时候将会被客户端代理拦截,并向远程服务器发起一个servlet请求(服务器中的web.xml文件中专门配置了该Servlet),服务器接受请求,并根据spring配置文件和请求的url找到对应的“导出器”,导出器将pojo转换成控制器c…
之前SSH框架已经搭建完毕,现在进行实体类的分析和Base类的书写.Base类是抽象类,专门用于继承. 一.实体类关系分析 既然是数据采集系统,首先调查实体(Survey)是一定要有的,一个调查有多个页面(Page),一个页面有多个问题(Question),所以还要有页面和问题实体.参与完成调查之后一定还会生成若干个答案,所以还有答案实体(Answer),当然还有参与的用户(User),管理员是特殊的User,只需要登陆的时候进行判断即可. 分析实体类型是比较简单的,最重要的是设计,怎样设计才能…
一.需求分析 调查问卷中或许每一个单击动作都会引发大量的数据库访问,特别是在参与调查的过程中,只是单击“上一页”或者“下一页”的按钮就会引发大量的查询,必须对这种问题进行优化才行.使用缓存策略进行查询缓存是降低数据库压力非常理想的方法,这里最起码能够有两种缓存方式: 1.使用hibernate的二级缓存. 2.使用spring自带的缓存模块进行查询缓存.使用spring自带的缓存模块功能必须要满足一下条件: (1)spring版本必须至少在3.1或以上,这里使用了spring3.1 (2)必须要…
之前说了JFreechart的基本使用方法,包括生成饼图.柱状统计图和折线统计图的方法.现在需要将其整合到数据采集系统中根据调查结果生成三种不同的统计图. 一.统计模型的分析和设计 实现统计图显示的流程:单击导航栏中的“我的调查”超链接->在调查列表中单击指定的调查中的“分析”超链接->统计Action获取请求参数(questionId)并根据该值计算统计图所需要的所有参数,生成统计图,并将统计图以流的形式返回到前端显示.为了简单起见,这里直接在浏览器新开了一个窗口显示统计图,并没有进行弹窗显…
之前说过,如果一个数据库中要存储的数据量整体比较小,但是其中一个表存储的数据比较多,比如日志表,这时候就要考虑分表存储了:但是如果一个数据库整体存储的容量就比较大,该怎么办呢?这时候就需要考虑分库了,就是建立多个数据库保存数据.这里以答案为例,就算调查对象不是很多,但是参与调查的人数非常多,那么需要保存的数据量就会非常大,怎样将答案以一种规则保存到不同的数据库中就是现在需要考虑的问题(查询分库的问题未解决,先存档). 一.分库方法 分库分为水平分库和竖直分库两种类型. (1)水平分库 数据库之间…
一.使用反射动态添加权限 在该系统中,我使用struts2的时候非常规范,访问的Action的形式都是"ActionClassName_MethodName.action?参数列表",所以可以非常方便的使用反射初始化权限表. 比较关键的是获取所有Action类所在的包的方法: URL url=ClassLoader.getSystemResource("com/kdyzm/struts/action"); File dir=new File(url.toURI())…
一.移动.复制页的逻辑实现 移动.复制页的功能是在设计调查页面的时候需要实现的功能.规则是如果在同一个调查中的话就是移动,如果是在不同调查中的就是复制. 无论是移动还是复制,都需要注意一个问题,那就是页面在一个调查中的位置问题,这就需要一个变量来标识该该页面在一个调查中的位置.我们在Page对象中添加一个成员变量orderNo,该变量是float类型的变量,默认值和pageId相同,在设置pageId的同时设置好orderNo,我们使用该变量来对一个调查中的所有页面进行排序. 移动.复制页的流程…
一.分析答案实体 分析答案实体主要涉及到的还是设计上的问题,技术点几乎是没有的.首先需要确定一下答案的格式才能最终确定答案实体中需要有哪些属性. 答案格式的设计是十分重要的,现设计格式如下: 在表单中需要提供的信息有name值和value值,name值实际上只是用于回显和保存答案,对于保存答案来说只需要一个问题id就可以了,但是实际上对于矩阵式单选按钮来说,name的值就显得比较复杂了,显得比较复杂的原因是为了回显方便.但是在答案实体中需要保存的只有一个问题id而已. 类型1-4问题的答案格式(…