下载频道  >  tx18的资源
  • fastjson-1.2.7.jar通用json文本解析实例(轻开IOS和安卓App服务器开发)

    1.1 快速搭建IOS及安卓App服务器 1.2 基础知识 2 通用解析程序源码 源文件webeasy/WEB-INF/classes/JSONEasy.java package htok.apps; import htok.Path; import htok.tools.*; import htok.we.html.*; import htok.we.*; import javax.servlet.http.*; import java.util.*; import com.alibaba.fastjson.*; public class JSONEasy extends JspEasy { /*/构造对象 public JSONEasy() { super(); }*/ public JSONEasy(HttpServletRequest request,HttpServletResponse response) { super(request,response); } //解析JSON文本 public void parseJson(String json) {parseJson(json,"j");} public void parseJson(String json,String prefix) { int pos = json.indexOf("["); if(pos==-1) { try { JSONObject jsonObj = JSON.parseObject(json); json2Bag(jsonObj,prefix,0); } catch (Exception e) { getBag("pPage").set("jsonerror", "Invalid JSON format");log(e.getMessage()); } } else if(pos==0) { try { JSONArray jsonArr = JSON.parseArray(json); jsonArray2Bag(jsonArr,prefix,0); } catch (Exception e) { getBag("pPage").set("jsonerror", "Invalid JSON format"); } } else{ String str = json.substring(0,pos); str = str.trim(); if(str.equals("")) { try { JSONArray jsonArr = JSON.parseArray(json); jsonArray2Bag(jsonArr,prefix,0); } catch (Exception e) { getBag("pPage").set("jsonerror", "Invalid JSON format"); } } else{ try { JSONObject jsonObj = JSON.parseObject(json); json2Bag(jsonObj,prefix,0); } catch (Exception e) { getBag("pPage").set("jsonerror", "Invalid JSON format"); } } } } public void json2Bag(JSONObject jsonObj,String prefix,int level) { try { String key; String value; Bag b0 = new Bag(Bag.BAG); String prefix1; if(prefix.indexOf("0")>0) prefix1 = new StringBuffer(prefix).append(".").append(String.valueOf(level)).toString(); else prefix1 = new StringBuffer(prefix).append(String.valueOf(level)).toString(); setBag(prefix1,b0);//log(prefix1); int i=0; for (Map.Entry<String, Object> entry : jsonObj.entrySet()) { key = entry.getKey(); if(!tools.canName(key)) key = new StringBuffer("_").append(key).toString(); Object ob = entry.getValue(); if(ob instanceof JSONArray)//如果下级是json数组就调jsonArray2Bag { jsonArray2Bag((JSONArray)ob,prefix1,i); b0.set(key,new StringBuffer(prefix1).append(".").append(String.valueOf(i)).toString()); } else if(ob instanceof JSONObject)//如果下级是json对象就递归 { json2Bag((JSONObject)ob,prefix1,i); b0.set(key,new StringBuffer(prefix1).append(".").append(String.valueOf(i)).toString()); } else{//如果下级是如果是文本或值,就放进书包 value = String.valueOf(ob); if (!value.equals("")) b0.set(key, value); } i++; } } catch (Exception e) { getBag("pPage").set("jsonerror", "Invalid JSON format"); } } public void jsonArray2Bag(JSONArray jsonArray,String prefix,int level) { try { Bag b0 = new Bag(Bag.BAG); String prefix1; if(prefix.indexOf("0")>0) prefix1 = new StringBuffer(prefix).append(".").append(String.valueOf(level)).toString(); else prefix1 = new StringBuffer(prefix).append(String.valueOf(level)).toString(); setBag(prefix1,b0);//log(prefix1); int i=0; for(Object ob :jsonArray) { b0.setSuffix(i); if(ob instanceof JSONArray)//如果下级是json数组就递归 { jsonArray2Bag((JSONArray)ob,prefix1,i); b0.set("v",new StringBuffer(prefix1).append(".").append(String.valueOf(i)).toString()); } else if(ob instanceof JSONObject)//如果下级是json对象就生成一个以对象名为id的书包 { int j=0; for (Map.Entry<String, Object> entry : ((JSONObject)ob).entrySet()) { String key = entry.getKey(); if(!tools.canName(key)) key = new StringBuffer("_").append(key).toString(); Object ob1 = entry.getValue(); if(ob1 instanceof JSONArray)//如果下级是json数组就调jsonArray2Bag { jsonArray2Bag((JSONArray)ob1,new StringBuffer(prefix1).append(".").append(String.valueOf(i)).toString(),j); b0.set(key,new StringBuffer(prefix1).append(".").append(String.valueOf(i)).append(".").append(String.valueOf(j)).toString()); } else if(ob1 instanceof JSONObject)//如果下级是json对象就递归 { json2Bag((JSONObject)ob1,new StringBuffer(prefix1).append(".").append(String.valueOf(i)).toString(),j); b0.set(key,new StringBuffer(prefix1).append(".").append(String.valueOf(i)).append(".").append(String.valueOf(j)).toString()); } else{//如果下级是如果是文本或值,就放进书包 String value = String.valueOf(ob1); if (!value.equals("")) b0.set(key, value); } j++; } b0.set("v",new StringBuffer(prefix1).append(".").append(String.valueOf(i)).toString()); } else{//如果下级是如果是文本或值,就放进书包 String value = String.valueOf(ob); if (!value.equals("")) b0.set("v", value); } i++; } } catch (Exception e) { getBag("pPage").set("jsonerror", "Invalid JSON format"); } } public void log(String str) { Path.log("JSONEasy_",str); } } 3 用法 构造:JSONEasy je = new JSONEasy(request,response); 解析:je.parseJson(“{\“name\”,\”value\”}”); 3.1 结果处理 引入结果处理文件:je.show("@{sys:curPath}json2bag.html"); 根书包名默认为:j0 根书包中直接按key取值,如:@{j0:name},得到value 下一级节点则从上一级节点书包中先取回书包名: <bag id=pPage><!-- 取出书包名,根书包名默认为j0 --> <we name=array>@{j0:array}</we> </bag> 再下级节点以此类推 然后按当前节点中的key直接取值即可:@{@{pPage:array}:c1} 4 实例 解析并在网页中显示下面的json文本 文本内容 {"test":"测试的文本","array":[{"c1":"值1","c2":"值2"},{"c1":"值1","c2":"值2"},{"c1":"值1","c2":"值2"}]} 文本文件:webeasy/_samples/jspeasy/json/json2bag.json 4.1 读文本文件: <chtml> <file act=read enc=GBK method=str name=json>@{sys:curPath}json2bag.json</file> </chtml> 例子文件:webeasy/_samples/jspeasy/json/json2bag.htm 4.2 解析文本 <%@ page session="true" import="htok.apps.*,htok.we.html.*,htok.tools.*,htok.we.*,java.net.*"%> <% JSONEasy je = new JSONEasy(request,response); je.work("@{sys:curPath}json2bag.htm");//引入读文本的文件 je.parseJson(je.equ("@{file:json}"));//解析json文本,把结果放到书包中 je.show("@{sys:curPath}json2bag.html");//输出书包中的内容 %> 例子文件:webeasy/_samples/jspeasy/json/json2bag.jsp 4.3 输出书包中的内容 <!DOCTYPE html> <html> <h1>测试:@{j0:test}</h1> <chtml> <bag id=pPage><!-- 取出书包名,根书包名默认为j0 --> <we name=array>@{j0:array}</we> </bag> <for bags="@{pPage:array}" end="@{@{pPage:array}:getLength}"> <p> <b>第@{int:@{@{pPage:array}:getSuffix}+1}行</b><br> <span>列1:@{@{pPage:array}:c1},列2:@{@{pPage:array}:c2}</span> </p> </for> </chtml> </html> 例子文件:webeasy/_samples/jspeasy/json/json2bag.html 4.4 效果

    2015-12-29
    11
  • 京东商城Open API通用接口源码及开发实例(轻开版20151121)

    通用接口实现类LinkJOS 扩展于:public class LinkJOS extends LinkOAuth2(LinkOAuth2 extends JspEasy) 构造函数 LinkJOS(HttpServletRequest request,HttpServletResponse response) 京东JOS接口访问函数 public String link2(String link,String method,Bag sys,Bag apps,String appSecret,String file,String FileField) 作用:访问京东JOS平台的所有接口 参数: String link,京东JOS平台接口访问地址,目前固定为:https://api.jd.com/routerjson String method,向京东JOS平台提交数据时的方法,需要应用级别参数时建议用POST方法,不需要时用GET(参见后边的实例) Bag sys,系统级别参数书包(一般只需在接口参数文件中放入接口方法即可,参见后边的实例) Bag apps,应用级别参数书包(在接口参数文件中放入必须的应用级别参数,若不需要应用级别参数时直接用new Bag(-1)构造一个空书包即可,参见后边的实例) String appSecret,应用证书中的App Secret,前边已经设置,固定用"@{pPage:app_secret}"即可 String file,调用上传文件接口上传文件(如图片)到京东JOS平台时的文件全名(含相对路径,如:images/logo.png),不是调用上传文件接口时为空字符串即可(参见后边的实例) String FileField,调用上传文件接口上传文件(如图片)到京东JOS平台时的字段名,配合前边的参数,不是调用上传文件接口时为空字符串即可(参见后边的实例) 返回为京东JOS平台接口对应的JSON格式的字符串 JSON文本解析方法 public void parseJson(String json) 作用:解析京东JOS平台接口返回的JSON格式的字符串,并根据内容生成N个对应的书包 参数:String json,京东JOS平台接口返回的JSON格式的字符串 根据JSON文本的内容在系统中生成N个书包,根书包名称为j0,下一层的josn文本内容生成的书包名称用上一层的Key放在上一层的书名中,下边用实例说明寻找对应书包的方法: 如店铺信息查询接口jingdong.vender.shop.query返回的json文本为 { "jingdong_vender_shop_query_responce": { "shop_jos_result": { "open_time": "", "shop_id": "", "category_main_name": "", "category_main": "", "vender_id": "", "brief": "", "logo_url": "", "shop_name": "" } } } 找出店铺信息书包名的方法如下 <chtml><!-- 取出店铺信息书包名 --> <bag id=pPage> <!—用第一层Key:jingdong_vender_shop_query_responce从根书包中取出下一层书包名 --> <we name=bag>@{j0:jingdong_vender_shop_query_responce}</we> <!--用第二层Key:shop_jos_result从第一层的书包中取出下一层书包名--> <we name=bag>@{@{pPage:bag}:shop_jos_result}</we> </bag> </chtml> 这时候的@{pPage:bag}即为需要的店铺信息书包名 具体用法请阅读下载包中的《京东卖家如何快速开发网店工具软件》

    2015-11-21
    40
  • 轻开纯HTML5的动态公司网站

    网站组件 公司Logo 全文搜索 网站菜单 主题宣传图 主页重点信息,包括:公司介绍、公司重要公告、公司主推产品、服务与支持及招聘公告 最新信息 在线留言 联系方式,包括:地址、电话、传真、邮箱、QQ(群)及备案号等 信息列表 信息详情 信息相关文章 登录管理 确认能访问后,您可登录管理系统 用户名:admin1@htok.net,密码:12345,如图: 本地登录如何下图: 登录成功后即出现重菜单如图: 修改网站名 点左边的“修改网站名称”,会出现如下画面: 把输入框中的“您公司的网站名称”修改为真实的公司网站名,如“IBM中国公司官方网站”,然后点右边的“修改”即可,再打开主页时标题就会变成刚才修改的网站名 换Logo图片 让美工制作好公司Logo图片(原logo.psd文件在images目录下),然后点左边的“换Logo图片”,会出现如下画面: 选择提前制作好的公司Logo图片,然后点右边的“修改”即可,再打开主页时Logo就会变成刚才修改的图片,如: 换主题图片1 通过更换,您可以很快就会把该网站变成您自己公司的样子 换之前打开主页 让美工制作好公司要宣传的主题图片(原homepage-img.psd文件在images目录下),然后点左边的“换主题图片1”,会出现如下画面: 选择提前制作好的主题图片1,然后点右边的“修改”即可。 换主题图片2、3的方法同上 换之后再打开主页时主就会变成刚才换上的主题图片,如: 修改联系方式 点左边的“修改联系方式”,会出现如下画面: 依次在右边的输入框中输入您的公司地址、电话、传真、Email、QQ(群)等联系信息,然后点右边的“修改”即可,再打开主页时网页右下边就会显示您的刚才修改的联系信息: 修改备案号 操作同上 修改菜单 如果您觉得现在的菜单 不适合您的公司,您可以轻松修改之 点左边的“修改菜单”,会出现如下画面: 依次在右边的输入框中输入您的公司网站想要的菜单名称(“菜单1”到“菜单5”),然后点右边的“修改”即可,再打开网站时,网站菜单就成了您的刚才修改名称:例如下图 修改密码 点左边的“修改密码”,会出现如下画面: 依次输入“原密码”、“新密码”,及确认密码,然后点右边的“修改”即可 最新网友留言 点左边的“最新网友留言”,会出现如下画面: 您即可以查看网友给公司的最新留言,还可以删除以前的留言 修改网站内容 登录后您即可修改网站内容,通过修改内容,网站即可为您的公司真正地拥有 修改现有内容 登录(或管理完成)后点最上边的“Logo图片” 回到主页 点您要修改的信息摘要后边的“详细”或“更多”,进入浏览页 点“修改”进入修改状态 修改好“标题”和“内容”后,点“确定”即可 添加新内容 点您想添加新内容的菜单,如:“公司介绍” 点添加 分别输入“标题”和“内容” 然后点“确定”即可 删除过期的内容 点上边对应的菜单进入想删除内容的栏目 点“更多”打开想删除的内容 点“删除”即可 扩展开发 本系统给您提供了一个纯HTML5的基本公司网站,让您在开发上不花一分钱就能开始建立一个自己的公司门户,如果您希望建设一个更强大的+互联网系统又不想花钱雇佣高水平的程序员的话,请及时打开WebEasy开发手册,很快您和您的团队就会成为开发高手。 扩展开发实例: 汉邦一点通: http://www.hbydt.cn/ 达品客网:http://www.dapinke.com/ 北京中研广汇电子商务平台 http://www.isbc.com.cn/ 问题解答和建议反馈请发Email给我:tianhua@htok.net

    2015-11-02
    7
  • 轻开平台(轻松互联网开发平台,原WebEasy)开发手册 20150915更新

    从基础知识、环境需求、系统安装、开发工具、开发规则到开发实例,由浅入深全面介绍轻开平台的Web和移动App(安卓、IOS)服务器开发过程,非职业程序员一周即能上手开发,有基础的程序员只需一天。 轻开平台CSDN下载:http://download.csdn.net/detail/tx18/8711175 ,百度云盘:http://pan.baidu.com/s/1eQzY418 开发实例:轻开B2C电子商务网站,免费下载:http://download.csdn.net/detail/tx18/8818883 ,百度云盘:http://pan.baidu.com/s/1eQxselW 快速搭建移动(安卓、IOS)App服务器 (win+tomcat+轻开平台+access入门版)下载:http://download.csdn.net/detail/tx18/8737507,百度云盘:http://pan.baidu.com/s/1eQzY418 本次更新的主要内容: 1. 数据库访问模块配置文件database.xml ESql标签:<esql module=模块名 [id=书包名] [act=edit|exe|batch|refresh] [p] [commit=true|false|end]>SQL语句</esql> module:连接数据库的模块名,必选项,在WebEasy系统目录下(如D:/webeasy),可以建立多个子目录,如help/base等,在子目录如果有一个database.xml文件,该子目录就会被系统识别为一个可用的数据库连接模块。系统要访问数据库时,首先要根据模块来确定如何与数据库建立持久关系,database.xml文件中保存了连接配置信息 1.1. 配置文件格式及参数 <?xml version="1.0" encoding="GB2312"?> <Database DbUrl="数据库连接地址" [DriverName="jdbc驱动程序包"] [Name="数据库名"] [UserName="数据库用户名"] [Password="密码"] [Unicode="连接中数据内容编码"] [max="池中最多连接数"] [min="最少连接数"] [age="连接最长生命周期"] [timesUsed="连接最多能使用次数"] [frequency="连接池刷新周期"] [pause="几次连接不上数据库时暂停连接"] [trace="是否输出连接池日志"] [More="更多参数"] [weName="数据模块显示名"] [taskFrequency="暂未启用"]></Database> version:xml的版本,默认为1.0即可 encoding:xml字符集,默认为GB2312即可 DbUrl:数据库访问地址,必需。可以为基本的连接(协议:IP或主机名:端口),也可以为完整的连接(基本连接+数据库名、用户名、密码及其他参数) DriverName:jdbc驱动程序包名,可选。在windows下使用ODBC时不用,使用纯JDBC时先把jar驱动包拷贝到项目的WEB-INF/lib目录中 Name:数据库名,可选。如果DbUrl中已经包括时这项可以不用 UserName:用户名,可选。如果DbUrl中已经包括时这项可以不用 Password:密码,可选。如果DbUrl中已经包括时这项可以不用 Unicode:连接中数据内容编码,可选。少部分数据库在识别数据存储字符集时需要(如MySQL),另外,如果DbUrl中已经包括时这项可以不用 max:连接池中最多连接数,可选。为空时系统自动启用缺省值 min:连接池最少连接数,可选。为空时系统自动启用缺省值 age:每个连接最长生命周期(能使用时间,单位为秒),可选。为空时系统自动启用缺省值 timesUsed:每个连接最多能使用次数,可选。为空时系统自动启用缺省值 frequency:连接池刷新周期,单位为秒,可选。为空时系统自动启用缺省值 pause:几次连接不上数据库时暂停连接以节省资源,可选。为空时系统自动启用缺省值 trace:是否输出连接池日志true为输出,false为不输出,缺省为false,可选。为空时系统自动启用缺省值 More:更多参数项,如vertica等MPP架构数据平台,有更多与性能相关的配置项。如果没有,为空即可 weName:数据模块显示名 taskFrequency:后台任务周期,暂未启用 1.2. 部分类型数据库配置文件实例 Access数据库的配置文件实例 <?xml version="1.0" encoding="GB2312"?> <Database DbUrl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};dbq=" DriverName="sun.jdbc.odbc.JdbcOdbcDriver" Name="help/htok.mdb"/> ODBC数据源的配置文件实例 <?xml version="1.0" encoding="GB2312"?> <Database DbUrl="jdbc:odbc:RealData" DriverName="sun.jdbc.odbc.JdbcOdbcDriver" Name="RealData" age="120" frequency="60" max="3" min="0" pause="5" timesUsed="3" trace="false" weName="实时数据库" taskFrequency="1" Password="WebEasy2006" UserName="root"/> Excel表的配置文件实例 <?xml version="1.0" encoding="GB2312"?> <Database DbUrl="jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};dbq=" DriverName="sun.jdbc.odbc.JdbcOdbcDriver" Name="test1/book2.xls" Password="1" UserName="root" age="120" frequency="60" max="3" min="1" pause="2" timesUsed="3" trace="false" weName="测试一"/> SQLServer数据库的配置文件实例 <?xml version="1.0" encoding="GB2312"?> <Database DbUrl="jdbc:microsoft:sqlserver://localhost:1433" DriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver" Name="htok_base" Password="sa" UserName="sa" age="120" frequency="90" max="6" min="3" pause="1" timesUsed="30" trace="false" weName="测试一下"/> MySQL数据库的配置文件实例 <?xml version="1.0" encoding="GBK"?> <Database DbUrl="jdbc:mysql://127.0.0.1:3306/" DriverName="com.mysql.jdbc.Driver" Name="htok_sql" Password="htok" Unicode="UTF-8" UserName="root" age="240" frequency="80" max="12" min="0" pause="1" taskFrequency="1" timesUsed="60" trace="false" weName="SQL网数据库"></Database> my.ini或my.cnf中的对应配置 max_connect_errors=4294967295 wait_timeout=250 interactive_timeout=250 Oracle数据库的配置文件实例 <?xml version="1.0" encoding="GB2312"?> <Database DbUrl="jdbc:oracle:thin:@192.168.20.84:1521" DriverName="oracle.jdbc.driver.OracleDriver" Name="oracle9" Password="wxwg" UserName="wxwg" age="120" frequency="60" max="6" min="0" pause="1" timesUsed="30" trace="false" weName="接处警审批数据"/> vertica数据库的配置文件实例 <?xml version="1.0" encoding="GB2312"?> <Database DbUrl="jdbc:vertica://10.170.226.112:5433/" DriverName="com.vertica.jdbc.Driver" Name="GolfDB" Password="_35Weeks" UserName="datadmin" age="80000" frequency="600" max="12" min="1" pause="1" taskFrequency="1" timesUsed="20000" trace="false" weName="高尔夫数据库" More="LoginTimeout=81200,BackupServerNode=10.170.229.213,10.171.98.170,ConnectionLoadBalance=1"></Database>

    2015-09-15
    6
  • 轻开电子商务系统(企业入门级B2C网站)20150617更新

    1 背景 1.1 企业初涉电子商务面临的困扰 1.1.1 不知从何入手 一般企业的IT水平大多处于基本应用阶段,如打字(Word)、统计(Excel)、交流(发邮件、QQ等)、上网(浏览网页、搜索)等等,要上电子商务时,门在哪里是个现实的问题 1.1.2 没有配套的管理系统 需要专门的进销存及库管系统 1.1.3 成本太高 建设成本高、配套系统成本高、专业团队成本高 1.1.4 回报无期 巨大的投入以后,能不能卖得好又是一个现实的问题,卖得好才能确保企业的预期的回报,虽然前边的每一顶都已经做得很到位,但是卖得好不好,谁知道呢? 1.2 轻开商贸企业基础级电子商务B2C网站公共版的“零”成本解决方案,您只需: 下载轻开电子商务系统 购买一台云主机或支持java+mysql的虚拟主机空间 发布轻开电子商务系统 设置管理一下相关后台(让系统变成您自己的东西) 发布商品和信息 同时开通一个网店(淘宝、京东或拍拍等) 恭喜恭喜,您的企业已经进入电子商务时代。 1.3 成本对比 略 2 功能模块 2.1 商品管理 商品发布:商品名称、商品分类、计量单位、价格、款(货)号、适合人群、款式、品牌、个性特点、适合季节、尺寸规格、色彩、销售地址及主图和详情等 商品修改:同上 商品删除:删除商品记录及相关图片 2.2 分类管理 商品分类:添加、修改、删除商品分类及其子分类,调整分类展示的顺序 信息菜单:添加、修改、删除菜单及其子菜单 论坛栏目:添加、修改、删除栏目及其子栏目 2.3 网站图片管理 换动态图片:主题图片管理、今日特价、主页第1张大幅广告、主页第2张大幅广告、特价广告 换图片(1张):Logo、400电话图、热卖推荐、主页第2张导航小图、主页第3张导航小图、主页第4张导航小图、主页第5张导航小图、主页第6张导航小图、主页第7张导航小图、页脚导航图 2.4 组织机构 用树状结构立体管理组织机构,明确清晰地确定部门之间的上下级关系, 2.5 职务角色管理 机动灵活地设置各种职务角色,配合组织机构树纵深管理相互间的关系 2.6 用户管理 用户与部门、职务有机结合,明确体现用户在系统中的作用和地位。 2.7 权限分配 建立功能模块识别节点号,根据部门、职务、用户综合受权,明确不同单元的操作范围和界限,彻底解决系统内应用层的安全及权限问题 2.8 修改网站名 很简单,跟前边的网站图片管理相结合,目的就是让本系统彻底成为您个人或公司的私有系统而不用花一分钱 2.9 辅助导航信息管理 注册新用户:登录即注册,让用户轻松完成 积分方式、如何购买、定购流程、配送方式、退换货政策、常见热点问题、投诉与建议、公司简介、诚聘英才、客户服务等均可更新成您的信息 3 硬件需求 3.1 基本配置 配件 数量 CPU 2核 内存 4G 硬盘 100G 3.2 最低配置 配件 数量 CPU 2核 内存 2G 硬盘 10G 4 软件需求 Windows环境 名称 分类 版本 Windows 操作系统 2003及以上 jdk Java虚拟机 1.5.x及以上 Tomcat Web服务器 5.x及以上 Easy do it (轻松互联网开发平台,简称轻开平台,原名WebEasy) 应用开发服务器 2014及以上 Mysql 数据库 5.0.x及以上 EditPlus 开发工具 2.x及以上 Linux环境 名称 分类 版本 CentOS 操作系统 5.x及以上 jdk Java虚拟机 1.5.x及以上 Tomcat Web服务器 5.x及以上 Easy do it (轻松互联网开发平台,简称轻开平台,原名WebEasy) 应用开发服务器 2014及以上 Mysql 数据库 5.0.x及以上 EditPlus 开发工具 2.x及以上 5 下载包清单 资源 分类 说明 baby 目录及文件 B2C电子商务系统及轻开源码 htok_baby.sql 数据库备份文件 系统数据结构及初始数据 轻开B2C电子商务系统发布手册.docx 文档 发布及管理系统的技术文档 WebEasy开发手册.doc 文档 扩展开发的技术手册 20110403.zip 例子 商品图片批量上传时的格式例子 EditPlus.exe 开发工具 扩展开发本系统的最常用工具

    2015-06-18
    10
  • 移动App应用服务器开发从入门到精通

    6.1 开发入门:第一个json 新建一个扩展名json的文件,如one.json(下图) 然后录入如下内容 {"item":{ <chtml> <!-- 数据准备部分,您可以从数据库中查询 --> <bag id=item suffix=0> <we name=name>土豆</we> <we name=price>1.24</we> <we name=unit>KG</we> </bag> <bag id=item suffix=1> <we name=name>T恤</we> <we name=price>68</we> <we name=unit>件</we> </bag> <bag id=item suffix=2> <we name=name>可乐</we> <we name=price>2.20</we> <we name=unit>瓶</we> </bag> <bag id=item suffix=3> <we name=name>书</we> <we name=price>51.24</we> <we name=unit>本</we> </bag> </chtml> <chtml> <!-- 正式json格式的内容 --> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </chtml> },"sort":@{int:@{item:getSuffix}+1} } 在EditPlus的效果如下图 用浏览器查看的效果如下图 例子文件_samples/app/one.json在_samples/app/目录下 6.2 开发提高 请学习同一下载包中的开发手册中的基本标签语言及表达式 6.3 精通移动App应用服务程序开发 熟悉轻开平台针对移动App(json格式)的规则及开发例子 除了基本开发标签语言及表达式(参见同一下载包中的开发手册)外,轻开平台特别针对移动App最常用的json文本格式开发的对应规则:  文件扩展名须为json(如:one.json)或用JspEasy扩展  文件内容须为闭合的json格式,静态内容则可直接书写json格式,如: {“item”: { <chtml> … … </chtml> },”other”:”other value” }  value属性参数表示输出不带引号的值,如: <price value>@{item:price}</price> 输出:"price":51.24  list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等) <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}"> <!-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等) --> <name>@{item:name}</name> <price value>@{item:price}</price> <unit>@{item:unit}</unit> </item> </for>  nolast属性参数表示数组后边输出一个逗号 <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}" nolast> <!-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等), nolast属性参数表示数组后边输出一个逗号--> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </item> </for> <tatol>@{item:getLength}</tatol><!-- 前边的nolast就是用于在这组前边输出一个逗号 -->  nokey属性参数表示不输出数组名称 <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}" nokey> <!-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等), nokey属性参数表示不输出数组名称--> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </item> </for>  无名称数组直接累成字符串输出即可 <chtml> <!-- 正式json格式的内容,无名称数组直接累成字符串输出即可 --> <for bags=item end="@{item:getLength}"> <if x="@{item:getSuffix}" else=1> <bag id=pPage x=0><we name=name>"@{item:name}"</we></bag> <bag id=pPage><we name=name>@{pPage:name},"@{item:name}"</we></bag> </if> </for> </chtml>[@{pPage:name}]  空数组直接输出: [] 下边将结合实例进行学习 6.3.1 输出Bag中的一条记录 闭合的json格式内容 {“item”: { <chtml> … … </chtml> },"sort":@{int:@{item:getSuffix}+1} } 与内层的标签运行结果共同组织一个完整的json格式文本输出到App 初始化Bag中的记录(您也可以从数据库中查询) <bag id=item suffix=0> <we name=name>土豆</we> <we name=price>1.24</we> <we name=unit>KG</we> </bag> <bag id=item suffix=1> <we name=name>T恤</we> <we name=price>68</we> <we name=unit>件</we> </bag> <bag id=item suffix=2> <we name=name>可乐</we> <we name=price>2.20</we> <we name=unit>瓶</we> </bag> <bag id=item suffix=3> <we name=name>书</we> <we name=price>51.24</we> <we name=unit>本</we> </bag> 输出其中的一条 <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> value属性参数表示输出不带引号的值 结果 {"item":{ "name":"书","price":51.24,"unit":"本"},"sort":4 } 完整代码 {"item":{ <chtml> <!-- 数据准备部分,您可以从数据库中查询 --> <bag id=item suffix=0> <we name=name>土豆</we> <we name=price>1.24</we> <we name=unit>KG</we> </bag> <bag id=item suffix=1> <we name=name>T恤</we> <we name=price>68</we> <we name=unit>件</we> </bag> <bag id=item suffix=2> <we name=name>可乐</we> <we name=price>2.20</we> <we name=unit>瓶</we> </bag> <bag id=item suffix=3> <we name=name>书</we> <we name=price>51.24</we> <we name=unit>本</we> </bag> </chtml> <chtml> <!-- 正式json格式的内容 --> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </chtml> },"sort":@{int:@{item:getSuffix}+1} } 例子文件_samples/app/one.json在_samples/app/目录下 6.3.2 输出Bag中的所有记录为一个json数组 闭合的json格式内容 {“item”: { <chtml> … … </chtml> } ,"tatol":@{item:getLength} } 与内层的标签运行结果共同组织一个完整的json格式文本输出到App 初始化Bag中的记录 同上 (您也可以从数据库中查询,如) <esql module=help id=item>Select ID,Subject,Writer,DayTime,Body From Messages</esql> 输出Bag中的所有记录 <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}"> <!-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等) --> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </item> </for> list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等) 结果 {"items":{ "item":[{"name":"土豆","price":1.24,"unit":"KG"},{"name":"T恤","price":68,"unit":"件"},{"name":"可乐","price":2.20,"unit":"瓶"},{"name":"书","price":51.24,"unit":"本"}]},"tatol":4 } 完整代码 {"items":{ <chtml> <!-- 数据准备部分,您可以从数据库中查询 --> <bag id=item suffix=0> <we name=name>土豆</we> <we name=price>1.24</we> <we name=unit>KG</we> </bag> <bag id=item suffix=1> <we name=name>T恤</we> <we name=price>68</we> <we name=unit>件</we> </bag> <bag id=item suffix=2> <we name=name>可乐</we> <we name=price>2.20</we> <we name=unit>瓶</we> </bag> <bag id=item suffix=3> <we name=name>书</we> <we name=price>51.24</we> <we name=unit>本</we> </bag> </chtml> <chtml> <!-- 正式json格式的内容 --> <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}"> <!-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等) --> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </item> </for> </chtml> },"tatol":@{item:getLength} } 例子文件_samples/app/one_array.json在_samples/app/目录下 6.3.3 nolast属性(输出Bag中的所有记录为一个json数组) 闭合的json格式内容 同上 初始化Bag中的记录 同上 输出Bag中的所有记录,并在数组后边输出一个逗号 <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}" nolast> <!-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等), nolast属性参数表示数组后边输出一个逗号--> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </item> </for> <tatol>@{item:getLength}</tatol><!-- 前边的nolast就是用于在这组前边输出一个逗号 --> nolast属性参数表示数组后边输出一个逗号,表示数组后边还有同层标签需要输出 结果 {"items":{ "item":[{"name":"土豆","price":1.24,"unit":"KG"},{"name":"T恤","price":68,"unit":"件"},{"name":"可乐","price":2.20,"unit":"瓶"},{"name":"书","price":51.24,"unit":"本"}],"tatol":"4"} } 完整代码 {"items":{ <chtml> <!-- 数据准备部分,您可以从数据库中查询 --> <bag id=item suffix=0> <we name=name>土豆</we> <we name=price>1.24</we> <we name=unit>KG</we> </bag> <bag id=item suffix=1> <we name=name>T恤</we> <we name=price>68</we> <we name=unit>件</we> </bag> <bag id=item suffix=2> <we name=name>可乐</we> <we name=price>2.20</we> <we name=unit>瓶</we> </bag> <bag id=item suffix=3> <we name=name>书</we> <we name=price>51.24</we> <we name=unit>本</we> </bag> </chtml> <chtml> <!-- 正式json格式的内容 --> <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}" nolast> <!-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等), nolast属性参数表示数组后边输出一个逗号--> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </item> </for> <tatol>@{item:getLength}</tatol><!-- 前边的nolast就是用于在这组前边输出一个逗号 --> </chtml> } } 例子文件_samples/app/one_array_nolast.json在_samples/app/目录下 6.3.4 nokey属性(输出Bag中的所有记录为一个json数组) 闭合的json格式内容 不需要 初始化Bag中的记录 同上 输出Bag中的所有记录,不输出数组名称 <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}" nokey> <!-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等), nokey属性参数表示不输出数组名称--> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </item> </for> nokey属性参数表示不输出数组名称 结果 [{"name":"土豆","price":1.24,"unit":"KG"},{"name":"T恤","price":68,"unit":"件"},{"name":"可乐","price":2.20,"unit":"瓶"},{"name":"书","price":51.24,"unit":"本"}] 完整代码 <chtml> <!-- 数据准备部分,您可以从数据库中查询 --> <bag id=item suffix=0> <we name=name>土豆</we> <we name=price>1.24</we> <we name=unit>KG</we> </bag> <bag id=item suffix=1> <we name=name>T恤</we> <we name=price>68</we> <we name=unit>件</we> </bag> <bag id=item suffix=2> <we name=name>可乐</we> <we name=price>2.20</we> <we name=unit>瓶</we> </bag> <bag id=item suffix=3> <we name=name>书</we> <we name=price>51.24</we> <we name=unit>本</we> </bag> </chtml> <chtml> <!-- 正式json格式的内容 --> <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}" nokey> <!-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等), nokey属性参数表示不输出数组名称--> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </item> </for> </chtml> 例子文件_samples/app/array_nokey.json在_samples/app/目录下 6.3.5 输出Bag中的所有记录为一个只有值的json数组 闭合的json格式内容 不需要 初始化Bag中的记录 同上 把Bag中的所有记录的name值累加成一个字符串 <for bags=item end="@{item:getLength}"> <if x="@{item:getSuffix}" else=1> <bag id=pPage x=0><we name=name>"@{item:name}"</we></bag> <bag id=pPage><we name=name>@{pPage:name},"@{item:name}"</we></bag> </if> </for> 只输出值的数组直接累加成字符串输出即可 输出 [@{pPage:name}] 结果 ["土豆","T恤","可乐","书"] 完整代码 <chtml> <!-- 数据准备部分,您可以从数据库中查询 --> <bag id=item suffix=0> <we name=name>土豆</we> <we name=price>1.24</we> <we name=unit>KG</we> </bag> <bag id=item suffix=1> <we name=name>T恤</we> <we name=price>68</we> <we name=unit>件</we> </bag> <bag id=item suffix=2> <we name=name>可乐</we> <we name=price>2.20</we> <we name=unit>瓶</we> </bag> <bag id=item suffix=3> <we name=name>书</we> <we name=price>51.24</we> <we name=unit>本</we> </bag> </chtml> <chtml> <!-- 正式json格式的内容,只输出值的数组直接累成字符串输出即可 --> <for bags=item end="@{item:getLength}"> <if x="@{item:getSuffix}" else=1> <bag id=pPage x=0><we name=name>"@{item:name}"</we></bag> <bag id=pPage><we name=name>@{pPage:name},"@{item:name}"</we></bag> </if> </for> </chtml>[@{pPage:name}] 例子文件_samples/app/array_only_value.json在_samples/app/目录下 6.3.6 输出无名称的空值数组 直接输出 [] 例子文件_samples/app/array_null.json在_samples/app/目录下

    2015-05-26
    14
  • 快速搭建移动App服务器 (win+tomcat+轻开平台+access入门版)

    1 硬件需求 1.1 基本配置 配件 数量 CPU 2核 内存 4G 硬盘 100G 1.2 最低配置 配件 数量 CPU 2核 内存 2G 硬盘 10G 2 软件需求 名称 分类 版本 Windows 操作系统 2003及以上 jdk Java虚拟机 1.5.x及以上 Tomcat Web服务器 5.x及以上 Easy do it (轻松互联网开发平台,简称轻开平台,原名WebEasy) 应用开发服务器 2014及以上 Access 数据库 97及以上 EditPlus 开发工具 2.x及以上 3 软件安装 4 发布 4.1 下载 Easy do it,轻松互联网开发平台(简称轻开平台,原名WebEasy)下载地址: CSDN下载频道:http://download.csdn.net/detail/tx18/8711175 百度云盘:http://pan.baidu.com/s/1eQElpom 官网:http://edoit.htok.net/ 最新更新的下载包:http://download.csdn.net/user/tx18 4.2 发布 复制webeasy目录到D:\下,然后进入%TOMCAT_HOME%\conf目录,用文本编辑器(如:EditPlus)打开server.xml文件,在“Host”标签下添加一“Context”标签: <Context path="/webeasy" docBase="D:/webeasy" reloadable="true" crossContext="true" /> 保存退出并启动tomcat 5 编辑工具 轻开平台可以用任何网页或文本编辑器进行开发,我本人一直在使用EditPlus,以下推荐常用的编辑软件: • EditPlus EditPlus 是一款功能强大的文字处理软件。它可以充分的替换记事本,它也提供网页作家及程序设计师许多强悍的功能。支持 HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript、VBScript 等多种语法的着色显示。程序内嵌网页浏览器,其它功能还包含 FTP 功能、HTML 编辑、URL 突显、自动完成、剪贴文本、行列选择、强大的搜索与替换、多重撤销/重做、拼写检查、自定义快捷键,等等... EditPlus中文版包含在下载包中 6 开发 6.1 第一个json 新建一个扩展名json的文件,如one.json(下图) 然后录入如下内容 {"item":{ <chtml> <!-- 数据准备部分,您可以从数据库中查询 --> <bag id=item suffix=0> <we name=name>土豆</we> <we name=price>1.24</we> <we name=unit>KG</we> </bag> <bag id=item suffix=1> <we name=name>T恤</we> <we name=price>68</we> <we name=unit>件</we> </bag> <bag id=item suffix=2> <we name=name>可乐</we> <we name=price>2.20</we> <we name=unit>瓶</we> </bag> <bag id=item suffix=3> <we name=name>书</we> <we name=price>51.24</we> <we name=unit>本</we> </bag> </chtml> <chtml> <!-- 正式json格式的内容 --> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </chtml> },"sort":@{int:@{item:getSuffix}+1} } 6.2 针对移动App(json格式)的规则及开发例子 除了基本开发标签语言及表达式(参见同一下载包中的开发手册)外,轻开平台特别针对移动App最常用的json文本格式开发的对应规则:  文件扩展名须为json(如:one.json)或用JspEasy扩展  文件内容须为闭合的json格式,静态内容则可直接书写json格式,如: {“item”: { <chtml> … … </chtml> },”other”:”other value” }  value属性参数表示输出不带引号的值,如: <price value>@{item:price}</price> 输出:"price":51.24  list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等) <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}"> <!-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等) --> <name>@{item:name}</name> <price value>@{item:price}</price> <unit>@{item:unit}</unit> </item> </for>  nolast属性参数表示数组后边输出一个逗号 <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}" nolast> <!-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等), nolast属性参数表示数组后边输出一个逗号--> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </item> </for> <tatol>@{item:getLength}</tatol><!-- 前边的nolast就是用于在这组前边输出一个逗号 -->  nokey属性参数表示不输出数组名称 <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}" nokey> <!-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等), nokey属性参数表示不输出数组名称--> <name>@{item:name}</name> <price value>@{item:price}</price><!-- value属性参数表示输出不带引号的值 --> <unit>@{item:unit}</unit> </item> </for>  无名称数组直接累成字符串输出即可 <chtml> <!-- 正式json格式的内容,无名称数组直接累成字符串输出即可 --> <for bags=item end="@{item:getLength}"> <if x="@{item:getSuffix}" else=1> <bag id=pPage x=0><we name=name>"@{item:name}"</we></bag> <bag id=pPage><we name=name>@{pPage:name},"@{item:name}"</we></bag> </if> </for> </chtml>[@{pPage:name}]  空数组直接输出: [] 本下载包包含:搭建文档、开发手册、轻开平台、移动App服务程序开发实例

    2015-05-25
    2
  • fckeditor扩展上传文件、源码高亮,插入Flash、媒体及视频及集成轻开平台

    FCKeditor是目前最优秀的可见即可得网页编辑器之一,它采用JavaScript编写。具备功能强大、配置容易、跨浏览器、支持多种编程语言、开源等特点。它非常流行,互联网上很容易找到相关技术文档,国内许多WEB项目和大型网站均采用了FCKeditor。 FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它志于轻量化,不需要太复杂的安装步骤即可使用。 “FCKeditor”名称中的“FCK” 是这个编辑器的作者的名字Frederico Caldeira Knabben的缩写。 正如MS Office在个人PC上是最普及的文本编辑器一样,FCKeditor是使用最广泛的网页编辑器,所见即所得,简单易用,功能很不错。 首先需要说明的是,与通常意义上的编辑器不同,FCKeditor并不是一个需要安装的程序,或许说它是一个网页源代码更为贴切,所以,取而代之安装过程的是与网页源代码相集成的调用过程。 FCKeditor运行的环境是网页浏览器,基本上IE5.5以上,或者是其它浏览器如火狐、360、Chrome、QQ、Netscape等,都可以兼容。而它可以兼容并集成的网页代码格式也相当多,包括ASP、ASP.Net、PHP、Perl、Java等,支持格式之多,也是同类编辑器无法替代的。 在这一版本中我们完全实现了与轻松互联网开发平台的无缝整合,在平台中调用FCKeditor跟使用标签一样Easy(例子文件在_samples/editor目录下)。而且没给恶意攻击者留任何可能的漏洞。 另外,对重点功能也进行扩展,如上传文件和源代码高亮显示。上传文件不再需要专门的配置,直接使用即可,强化了上传图片、附件及目录管理功能,实现全汉语UI操作和实时预览。增加了插入Flash、媒体及视频功能,其操作仍然是同样地轻松。 Easy do it,轻松互联网开发平台(原WebEasy,简称轻开平台)是一个运行于JVM+HTTP(及HTTPS协议)的应用服务器开发平台。 轻开平台基于汉语的思维方式并巧妙地结合中英文思维方式的优点设计了一套轻松Easy的开发规则,用java语言开发实现为一个强大的开发平台,为开发者提供了一个直接轻松面向应用的开发环境。 轻开平台同时支持使用多个数据源和不同厂商提供的数据库服务器,只要支持JDBC访问及基于SQL规范的数据库(如:MySQL、SQLServer、Oracle、DB2、Teradata、SyBase等关系型数据库及基于SQL的大数据分析系统Vertica)。轻开平台能在一个应用系统中平等使用多个不同的数据库,而这只需要添加一个配置文件就轻松实现。“信息孤岛”在这儿就只剩下了一个传说! 轻开平台的低层开发语言是Java,也就是说Java能干啥轻开就能干啥,如JAVA能跨平台(操作系统)轻开就能跨平台。而开发者却不需要会Java! 轻开平台的最大优势就是Easy,基本上解决了传统开发的不能克服的由于应用需求变更而导致开发无法继续进行和前边提到的“信息孤岛”问题,基于轻开平台的直接好处是: • 加快开发进程:计算机诞生以来,软件开发一直是一项高深莫测的工作,被冠以“高科技”、“新技术”,导致信息化的门坎太高,IT技术不能普遍服务于大众,很难转化为生产力。Easy do it 正在突破这一障碍,让提出应用需求的用户直接参与互联网系统开发。只需会html和SQL,就能够完成Web应用系统开发,只需会json和SQL,就能够完成移动App服务器系统开发。这对每一位其他的行业的业务精英来说,简直就是“小菜一碟”,学会html、json和SQL语法远比进一步提高在本行业的业务水平更容易,您的智慧很快被“翻译”成互联网应用系统软件。 • 降低开发成本:无需雇佣高水平高薪的程序员,简化了需求到开发的环节; • 部署成本低:无需复杂的调试和配置; • 集成成本低:支持任何关系数据库(如:Mysql、MSSQL、DB2、Oracle……),可同时支持多个不同数据库,从源头上解决“信息孤岛”问题; • 资源成本低:PIII450/64M/10G以上PC即可高效地运行,基于轻开平台的应用系统,系统本身不再为自身庞大的体积而付出大部分资源,而是把IT资源更有效的服务于应用。 轻开平台干了些啥: 高夫数据分析App服务器:移动App服务器+大数据分析系统(Vertica),网址 http://182.92.150.191/; 通益车联网:移动App(及车载终端)服务器+大数据分析系统(Vertica),网址 http://103.249.252.247/; 达品客电子商务网:电子商务,网址 http://www.dapinke.com/; 北京简单和家官网:电子商务,网址 http://www.52jdhj.com/; 汉邦一点通:实时视频监控服务网站,网址 http://hbydt.cn/; 企业网站:N个; 电子政务系统:N个; OA系统:N个(复杂的工作流程审批);如您需要请联系,免费提供 防汛抗旱指挥系统:3个,集成地理信息系统; MIS系统:N个; ERP:N个; 其他系统:就不一一列举了。

    2015-05-20
    7
  • Easy do it,轻松互联网开发平台(原WebEasy,简称轻开平台)2015-05-18补充更新

    补充升级:Web编辑器(1、只能上传2M大小的文件,补充升级为能上传1G;2、不能上传文件名含汉字的文件,补充升级为上传后自动命名保存) Easy do it,轻松互联网开发平台(原WebEasy,简称轻开平台)是一个运行于JVM+HTTP(及HTTPS协议)的应用服务器开发平台。 轻开平台基于汉语的思维方式并巧妙地结合中英文思维方式的优点设计了一套轻松Easy的开发规则,用java语言开发实现为一个强大的开发平台,为开发者提供了一个直接轻松面向应用的开发环境。 轻开平台同时支持使用多个数据源和不同厂商提供的数据库服务器,只要支持JDBC访问及基于SQL规范的数据库(如:MySQL、SQLServer、Oracle、DB2、Teradata、SyBase等关系型数据库及基于SQL的大数据分析系统Vertica)。轻开平台能在一个应用系统中平等使用多个不同的数据库,而这只需要添加一个配置文件就轻松实现。“信息孤岛”在这儿就只剩下了一个传说! 轻开平台的低层开发语言是Java,也就是说Java能干啥轻开就能干啥,如JAVA能跨平台(操作系统)轻开就能跨平台。而开发者却不需要会Java! 轻开平台的最大优势就是Easy,基本上解决了传统开发的不能克服的由于应用需求变更而导致开发无法继续进行和前边提到的“信息孤岛”问题,基于轻开平台的直接好处是: 加快开发进程:计算机诞生以来,软件开发一直是一项高深莫测的工作,被冠以“高科技”、“新技术”,导致信息化的门坎太高,IT技术不能普遍服务于大众,很难转化为生产力。Easy do it 正在突破这一障碍,让提出应用需求的用户直接参与互联网系统开发。只需会html和SQL,就能够完成Web应用系统开发,只需会json和SQL,就能够完成移动App服务器系统开发。这对每一位其他的行业的业务精英来说,简直就是“小菜一碟”,学会html、json和SQL语法远比进一步提高在本行业的业务水平更容易,您的智慧很快被“翻译”成互联网应用系统软件。 降低开发成本:无需雇佣高水平高薪的程序员,简化了需求到开发的环节;部署成本低:无需复杂的调试和配置;集成成本低:支持任何关系数据库(如:Mysql、MSSQL、DB2、Oracle……),可同时支持多个不同数据库,从源头上解决“信息孤岛”问题;资源成本低:PIII450/64M/10G以上PC即可高效地运行,基于轻开平台的应用系统,系统本身不再为自身庞大的体积而付出大部分资源,而是把IT资源更有效的服务于应用。 轻开平台干了些啥: 高夫数据分析App服务器:移动App服务器+大数据分析系统(Vertica); 通益车联网:移动App(及车载终端)服务器+大数据分析系统(Vertica); 达品客电子商务网:电子商务; 北京简单和家官网:电子商务; 汉邦一点通:实时视频监控服务网站; 企业网站:N个; 电子政务系统:N个; OA系统:N个(复杂的工作流程审批);如您需要请联系,免费提供 防汛抗旱指挥系统:3个,集成地理信息系统; MIS系统:N个; ERP:N个; 其他系统:就不一一列举了。 本次升级内容: 强化移动App服务器开发功能(直接书写json文件,直接书写xml文件,进一步优化HTML5支持); 强化JspEasy扩展开发功能; 进一步简化并扩展大数据数据源集成; 集成并强化Web编辑器(1、只能上传2M大小的文件,补充升级为能上传1G;2、不能上传文件名含汉字的文件,补充升级为上传后自动命名保存); 其他功能优化。 详情请阅升级预告(http://blog.csdn.net/tx18/article/details/45521251)总之就是越来越Easy! 最后再次重申:终身免费使用!!!

    2015-05-18
    5
  • Easy do it,轻松互联网开发平台(原WebEasy,简称轻开平台)2015-05-13更新

    Easy do it,轻松互联网开发平台(原WebEasy,简称轻开平台)是一个运行于JVM+HTTP(及HTTPS协议)的应用服务器开发平台。 轻开平台基于汉语的思维方式并巧妙地结合中英文思维方式的优点设计了一套轻松Easy的开发规则,用java语言开发实现为一个强大的开发平台,为开发者提供了一个直接轻松面向应用的开发环境。 轻开平台同时支持使用多个数据源和不同厂商提供的数据库服务器,只要支持JDBC访问及基于SQL规范的数据库(如:MySQL、SQLServer、Oracle、DB2、Teradata、SyBase等关系型数据库及基于SQL的大数据分析系统Vertica)。轻开平台能在一个应用系统中平等使用多个不同的数据库,而这只需要添加一个配置文件就轻松实现。“信息孤岛”在这儿就只剩下了一个传说! 轻开平台的低层开发语言是Java,也就是说Java能干啥轻开就能干啥,如JAVA能跨平台(操作系统)轻开就能跨平台。而开发者却不需要会Java! 轻开平台的最大优势就是Easy,基本上解决了传统开发的不能克服的由于应用需求变更而导致开发无法继续进行和前边提到的“信息孤岛”问题,基于轻开平台的直接好处是: 加快开发进程:计算机诞生以来,软件开发一直是一项高深莫测的工作,被冠以“高科技”、“新技术”,导致信息化的门坎太高,IT技术不能普遍服务于大众,很难转化为生产力。Easy do it 正在突破这一障碍,让提出应用需求的用户直接参与互联网系统开发。只需会html和SQL,就能够完成Web应用系统开发,只需会json和SQL,就能够完成移动App服务器系统开发。这对每一位其他的行业的业务精英来说,简直就是“小菜一碟”,学会html、json和SQL语法远比进一步提高在本行业的业务水平更容易,您的智慧很快被“翻译”成互联网应用系统软件。 降低开发成本:无需雇佣高水平高薪的程序员,简化了需求到开发的环节;部署成本低:无需复杂的调试和配置;集成成本低:支持任何关系数据库(如:Mysql、MSSQL、DB2、Oracle……),可同时支持多个不同数据库,从源头上解决“信息孤岛”问题;资源成本低:PIII450/64M/10G以上PC即可高效地运行,基于轻开平台的应用系统,系统本身不再为自身庞大的体积而付出大部分资源,而是把IT资源更有效的服务于应用。 轻开平台干了些啥: 高夫数据分析App服务器:移动App服务器+大数据分析系统(Vertica); 通益车联网:移动App(及车载终端)服务器+大数据分析系统(Vertica); 达品客电子商务网:电子商务; 北京简单和家官网:电子商务; 汉邦一点通:实时视频监控服务网站; 企业网站:N个; 电子政务系统:N个; OA系统:N个(复杂的工作流程审批);如您需要请联系,免费提供 防汛抗旱指挥系统:3个,集成地理信息系统; MIS系统:N个; ERP:N个; 其他系统:就不一一列举了。 本次升级内容: 强化移动App服务器开发功能(直接书写json文件,直接书写xml文件,进一步优化HTML5支持); 强化JspEasy扩展开发功能; 进一步简化并扩展大数据数据源集成; 集成并强化Web编辑器; 其他功能优化。 详情请阅升级预告(http://blog.csdn.net/tx18/article/details/45521251)总之就是越来越Easy! 最后再次重申:终身免费使用!!!

    2015-05-13
    6
img
tx18

关注 私信