Bootsrap_ace_v1.3框架

Ace (v1.3.1)是一个轻量、功能丰富、HTML5、响应式、支持手机及平板电脑上浏览的管理后台模板,基于CSS框架Bootstrap制作,Bootstrap版本更新至 3.0,Ace – Responsive Admin Template当前最新版!

支持Mysq或Oracle两种版本的数据库。

参考效果演示

参考说明文档

Ace Admin1.3是一款基于bootstrap3的开源免费后台模板。在国外很流行,知名度是相当的高啊~UI组件非常丰富,文档齐全,而且对浏览器兼容非常强大,缺点就是随之而来的开发复杂度稍高。不过因为文档和Demo齐全

 




Mini-UI v3.0框架

 MINIUI是一款优秀的JS前端web框架,提供丰富、强大控件库,能快速开发企业级Web应用软件。该软件以美观精致的界面和快速的页面响应速度获得用户的好评。是国内知名的前端框架之一,可供java等主流编程语言配合使用。

jQuery MiniUI - 快速开发Web界面开发框架。

它能缩短开发时间,减少代码量,使开发者更专注于业务和服务端,轻松实现界面开发,带来绝佳的用户体验。

使用MiniUI,开发者可以快速创建Ajax无刷新、B/S快速录入数据、CRUD、Master-Detail、菜单工具栏、弹出面板、布局导航、数据验证、分页表格、树、树形表格等典型WEB应用系统界面。

参考API  




Inspinia Admin框架

 INSPINIA管理主题是具有平面设计理念的高级管理信息板模板。它是完全响应的管理信息板模板,使用Bootstrap 3+ Framework,HTML5和CSS3,Media查询构建。它具有可重复使用的UI组件的大量集合,并与最新的jQuery插件集成。

参考效果演示




layuiAdmin.v1.2.1框架

 layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,极易上手,拿来即用。其风格简约轻盈,而组件优雅丰盈,从源代码到使用方法的每一处细节都经过精心雕琢,非常适合网页界面的快速开发。layui 区别于那些基于 MVVM 底层的前端框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,它更多是面向后端开发者,你无需涉足前端各种工具,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。

参考效果演示

layui API

建议在OperaPortable浏览器中兼容性更加流畅

OperaPortable浏览器下载



db-prajna 2.0框架

db-prajna是一套完整的基于JavaWeb的开发框架

db-prajna 是整合HttpSql-RADServer(远程数据服务)、ctjeeJBPMRad(自定义工作流)、form-design(自定义表单)、为一体的软件开发框架,多用于物联/互联的混合模式。

db-prajna 框架下载

以下两个文件直接解压到Tomcat中运行

HttpSql-RADServer(远程数据服务):在dbconfig.properties设置MySQL数据库的连接地址

ctjeeJBPMRad(自定义工作流):jbpm.hibernate.cfg.xml和dbconfig.properties设置MySQL数据库的连接地址

 


共享数据库连接池HttpSql

 应用场景:

               当你的多个客户端程序包含(C/S架构、B/S架构)都需要链接同一个数据库时,数据库要为每一个服务端程序(C/S架构、B/S架构)都会分配独立的数据链接池空间。例如:开发物联网程序时都需要反复向数据库connect-release,这样会占用内容和资源。这个HttpSql-RADServer就是运行于数据库访问层的中间件。基于HTTP协议进行直接使用SQL对数据库操作;

共享数据库连接池HttpSql  1、可以做为多系统平台数据交互的中间件使用;2、支持HTML页面直接访问数据库SQL;3、App可以省去中间系统接口联调开发;4、数据采集可共享数据池;5、系统内部设置访问安全策略;6、可以建立分布式小程序;

HttpSql-RADServer下载:在服务器端运行,web.xml中可配置访问权限;dbconfig.properties中配置数据库参数;radserverconfig.properties中配置licenseKey;默认服务端口号9999

httpSql Web端调用例子:在html页面中直接调用SQL,返回JSON数据格式;

HttpSql Java应用端调用例子:在Java程序中调用SQL,防SQL注入,返回JSON数据或对象数据两种数据格式;


分布式并行计算框架Parall

应用场景:解决实时统计一些复杂的报表,统计的数据量大,而且数据来源多个不同的表结构,最终界面展示超长时间。

解决方案:为了提高效率,用多线程按列去统计,在所有线程完成统计任务后,将结果汇总,然后统一展现。

分布计算主程序派发负责任务的派发和汇总

分布计算子程序例子(一):负责任务的业务逻辑执行与结果返回。返回结果为:数据量流对象,如:List、Map对象

分布计算子程序例子(二)负责任务的业务逻辑执行与结果返回。返回结果为:Json数据格式


Andriod推送工具mxpp

 Android消息推送开源实现

我们下载服务端androidpn-server-0.5.0-war.rar (16.6MB)和客户端androidpn-app-client-0.5.0.rar(4.22MB)。而服务端是在PC上运行,而且用JSP编写。需要安装JAVA,并配置好JAVA_HOME变量。

其次,配置服务端。服务端是在PC上运行,配置D:\apache-tomcat-8.0.29\conf\server.xml端口5011。把androidpn-server-0.5.0-war.rar解压的文件Androidpn.war放在本地Tomcat中运行,如:D:\apache-tomcat-8.0.29\webapps 运行以上目录的\bin\startup.bat 来启动服务器。此时cmd窗口一直在运行。别关了。验证服务器是否成功。浏览器打开 http://127.0.0.1:5011/Androidpn/,出现如下页,表示服务器开启成功。

最后,我们手机端,解压androidpn-app-client-0.5.0.rar,导入工程到eclipse_andriod_devlep.exe。打开res/raw/androidpn.properties

[java] view plain copy

apiKey=1234567890  

xmppHost=192.168.0.5  

xmppPort=5222  

把192.168.0.5修改为10.0.2.2 【在虚拟机中,虚拟机地址为127.0.0.1,主机地址为 10.0.2.2】

接口1:http://xxx.xxx.xxx.xxx:5011/Androidpn/notification.do?action=sendByWeb&xmppusername=XXXX&submitJsonData=XXXX&uri=XXXX 推送消息

接口2:http:///xxx.xxx.xxx.xxx:5011/Androidpn/session.do?action=onlinelist   //查询所有在线MXPP

接口3:http:///xxx.xxx.xxx.xxx:5011/Androidpn/session.do?action=onlineByMxppCode&mxppcode=bb0e387e1f9c4454bd22433db1bfa9c91  //根据MXPP返回namecode是否在线

实例:

               Map map = new HashMap();

                map.put("title", "提示");

                map.put("message", msg);

                map.put("opdaytime",  new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) );

                map.put("usernamecn", "系统提示");

                map.put("mxpptype", "NOTICE");

                map.put("msgid", msgid); 

                //String mxpp_path = SysProperty.getInstance().getValue("mxpp_path");

                String mxpp_path = "http://xxx.xxx.xxx.xxx:5011/Androidpn/notification.do?action=sendByWeb"; 

              String charset = "utf-8";

              String httpOrgCreateTest = mxpp_path;

              Map<String,String> createMap = new HashMap<String,String>();

              JSONObject json = new JSONObject(map);

              createMap.put("broadcast","N"); //Y=All,N=xmppusername

              createMap.put("submitJsonData",json.toJSONString());

              createMap.put("uri",json.toJSONString());

              createMap.put("xmppusername",xmppusername);

              String httpOrgCreateTestRtn =  doPost(httpOrgCreateTest,createMap,charset); 

              System.out.println("result:"+httpOrgCreateTestRtn);

// httpclient方法

    public static String doPost(String url,Map<String,String> map,String charset){

              HttpClient httpClient = null;

              HttpPost httpPost = null;

              String result = null;

              try{

                   httpClient = new SSLClient();

                   httpPost = new HttpPost(url);

                   //设置参数

                   List<NameValuePair> list = new ArrayList<NameValuePair>();

                   Iterator iterator = map.entrySet().iterator();

                   while(iterator.hasNext()){

                             Entry<String,String> elem = (Entry<String, String>) iterator.next();

                            list.add(new BasicNameValuePair(elem.getKey(),elem.getValue()));

                   }

                  if(list.size() > 0){

                           UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,charset);

                           httpPost.setEntity(entity);

                   }

                  HttpResponse response = httpClient.execute(httpPost);

                  if(response != null){

                           HttpEntity resEntity = response.getEntity();

                            if(resEntity != null){

                                result = EntityUtils.toString(resEntity,charset);

                  }

             }

         }catch(Exception ex){ 

                    System.out.println("++++++++++SendMsgOnlyToAndroid() Mag to  " + ex.getMessage());

      }

              return result;

  }


JBPM用户自定义工作流

工作流概述:

工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”

简单的说,就是将工作的流程通过程序管理起来,以表单审核和任务办理为主体,实现办公自动化

工作流框架,将业务流程管理起来, 所有业务流程操作,围绕工作流框架进行, 基于表单提交和任务办理, 实现工作业务流程 自动流转。

JBPM用户自定义工作流在线演示                              JBPM用户自定义工作流下载

 


自定义表单

在我们的Web项目开发中,充斥着大量的列表操作,对列表记录的增加,删除,修改操作,那么如何来设计自定义表单呢?

表单的设计

表单的设计可通过HTMLEditor编辑器来完成,这样做的好处是可以直接利用其HTML文本来显示增加记录的页面,一举两得,但要注意在HTMLEditor编辑器控件主要包括:文本,多文本,数字,日期,文件上传(附件),下拉框(静态和动态)等,文件上传可通过我上一篇博客的思路来完成,下拉框静态比较简单,动态可利用select控件的自定义属性如SQL来定义,利用Ajax技术,将执行后的SQL结果替换到原来的下拉框即可实现,如下图

 

使用谷歌浏览器版本 44.0.2403.157   44.0.2403.157下载

在线自定义表单示例

VUE+elementUI表单自定义

技术交流:QQ:530002577


企业软服大管家

 全功能实现用户

1.自定义表单界面

2.用户自定义工作流程/非工作流软件

3.用户可动态调整列表展示字段、设置菜单

4.追加控件参数

5.开放OP和SQL类可以动态编辑,编译运行

应用场景:客户表单多变,审批流程随意调整,变化选择项及上报参数如:电子材料审核、流程单据审批、或自定义简历档案信息采集

 

使用谷歌浏览器版本 44.0.2403.157   44.0.2403.157下载

在线企业软服大管家示例

技术交流:QQ:530002577


java防止反编译工具

Java的 Jar包中的.class文件可以通过反汇编得到源码。这样一款应用的安全性就很难得到保证,别人只要得到你的应用,不需花费什么力气,就可以得到源码。

使用这个工具它可以帮助您把Jar进行加密,在工程项目中不能通过技术手段进行反编译。

在线java防止反编译工具-jar加密_java加密_防止反编译_java混淆工具_jar包反编译


办公OA系统源代码

系统功能:

一、合同管理、转正申请、调岗调薪、通讯录、档案登记、档案查询、档案变更

二、加班申请、请假申请、签到考勤、考勤策略、考勤规则、异常调整、人工修正、考勤报表

三、发票申请、借款申请、报销申请、报表统计、采购费用、固定资产、发票图表、借款图表、报销图表、工资条导入

四、车辆管理、用车申请、固定资产、盘点记录、通知公告、制度发布、印章申请、节假日设置、资源统计

五、流程发布、流程检索、流程销毁、我的申请、待审批业务

六、知识发布、知识检索、知识共享、知识评价

七、客户关系、卡片档案、关系维护、商机建立、采购申请

八、计划管理、目标分解、进度查询、任务分配、项目进度、日报填写

九、日程安排、日程提醒、工作日报、物品入库、物品领用、通知公告

十、主管日报、主管项目、总经理查询、人事统计、行政查询、财务统计、分管报表

十一、组件定义、表单规划、流程绘制、启动审批

十二、日志查询、日志销毁

十三、组织结构、产品定义、单位转换

十四、个人档案、顺风车、云盘、云共享、个人能力分析、短讯通、个性菜单、小秘书、工资条、个人历程

十五、自定义公文表单设计、自定义公文流程设置、公文挂起运行、发文管理、会签、收文管理、文件归档