自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (20)
  • 收藏
  • 关注

原创 轻开商贸企业入门级电子商务 B2C网站公共版

1.2 轻开商贸企业基础级电子商务B2C网站公共版的“零”成本解决方案,您只需:下载轻开电子商务系统购买一台云主机或支持java+mysql的虚拟主机空间发布轻开电子商务系统设置管理一下相关后台(让系统变成您自己的东西)发布商品和信息同时开通一个网店(淘宝、京东或拍拍等)恭喜恭喜,您的企业已经进入电子商务时代。

2015-06-18 14:48:28 16175 11

原创 移动(android、IOS)App服务器开发入门:第一个json

新建一个扩展名json的文件,如one.json(下图) 然后录入如下内容 “` {“item”:{ 土豆 1.24 KG T恤 68 件 可乐 2.20 瓶 书 51.24 本 @{item:name}

2015-05-28 01:03:47 4767 12

原创 fastjson-1.2.7.jar集成扩展,通用json文本解析源码

源文件webeasy/WEB-INF/classes/JSONEasy.javapackage htok.apps;import htok.Path;import htok.tools.*;import htok.we.html.*;import htok.we.*;import javax.servlet.http.*;import java.util.*;import com.

2015-12-30 10:07:34 1345 4

原创 轻开纯HTML5的公司网站介绍

网站组件公司Logo全文搜索网站菜单主题宣传图主页重点信息包括:公司介绍、公司重要公告、公司主推产品、服务与支持及招聘公告最新信息在线留言联系方式包括:地址、电话、传真、邮箱、QQ(群)及备案号等信息列表信息详情信息相关文章

2015-11-01 00:20:26 6330

原创 轻松访问多种类型数据库,database.xml文件的配置方法

轻开平台理论上支持所有能通过JDBC或ODBC访问的数据库,如:MySQLMS SQLServerOracleSyBaseDB2InfomixTeradata...及MPP架构的Vertica而且只需要简单地配置即可访问上述数据库,配置文件为database.xml,具体用法及配置方法如下:ESql标签:SQL语句module:连接数据库

2015-09-13 00:10:29 9276 1

原创 换静态图片---轻开电子商务系统(企业入门级B2C网站)

一共3个文件:显示及上传文件:site/links/img_one.html保存图片文件:site/links/img_one_up1.chtml导航菜单文件:site/links/menu.html在轻开电子商务系统(企业入门级B2C网站)的site/links/目录下显示图片信息且上传表单:site/links/img_one.html显示标题(从menu.html文件传过来的标题)

2015-07-01 01:57:03 9808 12

原创 换网站Logo图片---轻开电子商务系统(企业入门级B2C网站)

一共2个文件:显示及上传文件:site/links/img_logo.html保存图片文件:site/links/img_logo_up1.chtml在轻开电子商务系统(企业入门级B2C网站)的site/links/目录下保存上传的Logo图片(就一行代码,相当Easy)<file value="@{pPage:IMAGE}" islast>images/menu/logo.jpg</file>

2015-06-29 00:57:46 4325 15

原创 换今日特价图片---轻开电子商务系统(企业入门级B2C网站)

跟换主页轮播图片一样,一共4个文件:列表显示文件:site/links/img2.html添加图片文件:site/links/img2_add.html添加保存图片文件:site/links/img2_add_up1.chtml删除图片文件(跟删除主页轮播图片共用一个文件,用记录we_id识别):site/links/img0_del.chtml在轻开电子商务系统(企业入门级B2C网站)的site/links/目录下

2015-06-27 00:15:07 3541 11

原创 换主页轮播的主题图片(4、删除)---轻开电子商务系统(企业入门级B2C网站)

判断权限(安全第一)查询图片URI删除图片删除表中的记录成功后提示并返回

2015-06-23 00:21:00 3843 11

原创 换主页轮播的主题图片(3、保存添加)---轻开电子商务系统(企业入门级B2C网站)

整理完整的文件名把名称、链接地址、文件URI插入数据库保存文件如果操作者没有权限,则提示并返回添加成功后返回

2015-06-22 00:22:09 4274 10

原创 换主页轮播的主题图片(2、添加)---轻开电子商务系统(企业入门级B2C网站)

接上一博文件:site/links/img0.html中的添加按钮(第14行)[添加]效果点“[添加]”跳转到文件:site/links/img0_add.html(在轻开电子商务系统(企业入门级B2C网站)的site/links/目录下)表单...名称字段名    称链接地址字段链接地址图片字段(注意图片的宽和高)图    片(730x486)保存后返

2015-06-21 02:21:53 4737 17

原创 换主页轮播的主题图片(1)---轻开电子商务系统(企业入门级B2C网站)

一共4个文件:列表显示文件:site/links/img0.html添加图片文件:site/links/img0_add.html添加保存图片文件:site/links/img0_add_up1.chtml删除图片文件:site/links/img0_del.chtml在轻开电子商务系统(企业入门级B2C网站)的site/links/目录下轻松实现图片替换1、列表显示文件代码介绍查询最新的主题图片

2015-06-20 07:24:45 4140 14

原创 轻松修改网站名---轻开电子商务系统(企业入门级B2C网站)

通过修改网站名能把系统定制给任何用户,满足用户占有的感觉,是非常巧妙而有用的小功能。程序如下:引入权限判断(管理员才有修改网站名的权限)<chtml><Bag id=sys><we name=NodeID>a0</we></Bag><!-- 栏目节点 --></chtml><chtml file="base/ac/checkAcl.htm"/><!-- 引入权限检查文件 -->读网站名文件<file id=site act=read method=str name=title>site/res/

2015-06-19 01:54:15 3602 19

原创 reTextarea("content")函数---FCKEditor编辑器使用例子

引入fckeditor编辑器入口文件<chtml file="editors/fckeditor/fckeditor.htm" />如果会话中用户ID(user_id)为空(未登录),则临时设一个ID,方便上传文件(图片等)<if x="@{session:user_id}"> <session><we name=user_id>0</we></session></if>要替换的文本域(T

2015-06-06 00:19:27 3655 17

原创 if判断标签用法说明更新

原博文说明(http://blog.csdn.net/tx18/article/details/43850295)有同学在理解上出现歧义,特更新说明如下:功能: • 判断标签,根据参数决定解释执行符合条件的子标签用法:<if x=条件值 [else=子标签序号]> <子标签 x=[条件值]>......</ 子标签> ...</if>• x:条件值,与子标签中的x比较,如果相等则解释

2015-06-05 00:37:10 2705 13

原创 输出无名称的空值数组---精通android、IOS App应用服务程序开发

直接输出[]例子文件_samples/app/array_null.json在轻开平台的_samples/app/目录下太Easy,无法写出更多的内容,大家还是自己试试吧!!!相关资源下载: 移动App应用服务器开发从入门到精通:http://download.csdn.net/detail/tx18/8741611 快速搭建移动App服务器 :http://download.csdn.ne

2015-06-04 04:50:34 5654 26

原创 输出Bag中的所有记录为一个只有值的json数组---精通android、IOS App应用服务程序开发

闭合的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

2015-06-03 00:02:58 4420 17

原创 nokey属性(输出没有名称的数组)---精通android、IOS App应用服务程序开发

输出没有名称的数组闭合的json格式内容 不需要初始化Bag中的记录 同上一博(也可见下边完整代码相关部分)输出Bag中的所有记录,不输出数组名称<for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}" nokey> <!-- list属性参数表示输

2015-06-02 00:23:13 4278 11

原创 nolast属性---精通android、IOS App应用服务程序开发

闭合的json格式内容 同上一博(也可见下边完整代码相关部分)初始化Bag中的记录 同上一博(也可见下边完整代码相关部分)输出Bag中的所有记录,并在数组后边输出一个逗号<for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}" nolast> <!-

2015-06-01 00:42:41 3142 15

原创 输出Bag中的所有记录为一个json数组---精通android、IOS App应用服务程序开发

书写闭合的json格式内容{“item”: {<chtml>… …</chtml> } ,"tatol":@{item:getLength}}与内层的标签运行结果共同组织一个完整的json格式文本输出到Android(IOS) App"tatol":@{item:getLength}为统计记录数初始化Bag中的记录 同上一博 (您也可以从数据库中查询,如)<esql mo

2015-05-31 03:23:30 2800 15

原创 输出Bag中的一条记录--精通android、IOS App应用服务程序开发

闭合的json格式内容{“item”: {<chtml>… …</chtml> },"sort":@{int:@{item:getSuffix}+1}}与内层的标签运行结果共同组织一个完整的json格式文本输出到App初始化Bag中的记录(您也可以从数据库中查询)<bag id=item suffix=0> <we name=name>土豆</we> <we

2015-05-30 00:24:25 2983 24

原创 提高到精通移动(android、IOS)App应用服务程序开发

6.2 开发提高 请学习同一下载包中的开发手册中的基本标签语言及表达式6.3 精通移动App应用服务程序开发 熟悉轻开平台针对移动App(json格式)的规则及开发例子 除了基本开发标签语言及表达式(参见同一下载包中的开发手册)外,轻开平台特别针对移动App最常用的json文本格式开发的对应规则:  文件扩展名须为json(如:one.json)或用JspEasy扩展的jsp文

2015-05-29 05:09:13 4069 21

原创 rTextarea函数,FCKEditor编辑器在轻开平台中的使用例子三

引入fckeditor编辑器入口文件(跟前边的例子一样)<chtml file="editors/fckeditor/fckeditor.htm" />用户会话临时设置<if x="@{session:user_id}"> <session><we name=user_id>0</we></session></if>表单部分<form id="Edoit_Form" method="pos

2015-05-24 08:59:40 2106 2

原创 createFCK函数,FCKEditor编辑器在轻开平台中的使用例子二

引入fckeditor编辑器入口文件<chtml file="editors/fckeditor/fckeditor.htm" />如果会话中用户ID(user_id)为空(未登录),则临时设一个ID,方便上传文件(图片等)<if x="@{session:user_id}"> <session><we name=user_id>0</we></session></if>表单部分的代码<f

2015-05-23 00:29:09 1806 6

原创 一行代码保存fckeditor编辑器提交的内容到文件(接上一博)

接上一博,在轻开平台中,只需要一行代码就能把fckeditor编辑器提交的内容保存到文件<file value="@{pPage:content}">@{sys:curPath}editor_fck_new_content.htm</file>或<file bag=pPage key=content>@{sys:curPath}editor_fck_new_content.htm</file>解释一

2015-05-22 11:21:02 3468 9

原创 newFCK函数,FCKEditor编辑器在轻开平台中的使用例子

引入fckeditor编辑器入口文件<chtml file="editors/fckeditor/fckeditor.htm" />如果会话中用户ID(user_id)为空(未登录),则临时设一个ID,方便上传文件(图片等)<chtml><if x="@{session:user_id}"> <session><we name=user_id>0</we></session></if>

2015-05-21 01:36:43 3786 8

原创 Markdown编辑器尝鲜

fckeditor编辑器上传文件的两个小问题补充解决 1、只能上传2M大小的文件。 请修改editors/fckeditor/editor/filemanager/connectors/xml/config.htm文件47行,把<we name=max>2*1024*1024</we><!-- 2M -->改为<we name=max>1024*1024*1024</we><!-- 1G -->

2015-05-19 12:47:06 884 3

原创 Easy do it,轻松互联网开发平台(原WebEasy,简称轻开平台)升级公告补充

轻开平台的最大优势就是Easy,基本上解决了传统开发的不能克服的由于应用需求变更而导致开发无法继续进行和前边提到的“信息孤岛”问题,基于轻开平台的直接好处是......

2015-05-17 01:13:00 2563 8

原创 Easy do it,轻松互联网开发平台(原WebEasy,简称轻开平台)升级公告

Easy do it,轻松互联网开发平台(原WebEasy,简称轻开平台)是一个运行于JVM+HTTP(及HTTPS协议)的应用服务器开发平台。轻开平台基于汉语的思维方式并巧妙地结合中英文思维方式的优点设计了一套轻松Easy的开发规则,用java语言开发实现为一个强大的开发平台,为开发者提供了一个直接轻松面向应用的开发环境。

2015-05-13 01:59:30 1548 6

原创 生成系列数(1、2、3 ... N)应用实例

取系列数@{sn:favorite},放到书包doc中;如果系列数@{doc:we_id}为空,则查询favorite_base表的主键we_id字段的最大值初始化@{sn:favorite=@{pk:favorite_id}}系列数;把系统数及相关内容分别插入favorite_base、favorite_user表中

2015-05-09 00:37:38 1147 19

原创 半行代码实现生成系列数(1、2、3 ... N)

用法@{sn:键名[=int]}功能:每个键名将生成1、2、3 …… n的系列数值,[=int]可选,用于初始化系列数,未初始化时返回空

2015-05-07 00:54:37 973 27

原创 轻松互联网开发平台(Easy Do IT,原WebEasy)升级预告

强化移动App服务器开发功能直接书写json文件直接书写xml文件进一步优化HTML5支持强化JspEasy扩展开发功能进一步简化并扩展大数据数据源集成集成并强化Web编辑器

2015-05-06 05:13:44 1563 21

原创 输出标签---轻开平台(原WebEasy)字符串计算7

功能:将标签内容输出到页面指定位置,在输出复杂的表格时可用来输出单个标签

2015-04-23 03:38:30 5321 8

原创 替换字符串,裁掉字符串两端的空格---轻开平台(原WebEasy)字符串计算6

字符串计算6:替换字符串中的内容;裁掉字符串两端的空格

2015-04-22 00:28:41 3334 7

原创 比较两个XML节点编号---轻开平台(原WebEasy)字符串计算5

轻松准确在判断两个xml节点的上下层关系

2015-04-21 00:55:30 19085 8

原创 index与lastIndex---轻开平台(原WebEasy)字符串计算4

返回子串在父字符串中的位置,跟java中的index和lastIndex用法类似

2015-04-20 01:04:27 23800 14

原创 轻开平台(原WebEasy)字符串计算3---字符串裁剪

按关键字返回字符串左边或右边的子字符串;按关键字返回字符串中间的子字符串

2015-04-19 00:17:28 13928 6

原创 轻开平台(原WebEasy)字符串计算2---字符串组的比较

member:判断子串是否被包含在字符串组(用/隔开)中,是则返回true,否则返回false,字符串组为空时返回true,(主要是用于权限判断,字符串组表示有权限的部门、角色或用户名,为空时表示不设限制);cover:判断字符串组(用/隔开)是否包含了子串,是则返回true,否则返回false

2015-04-18 07:52:54 10710 5

原创 轻开平台(原WebEasy)字符串计算

轻开平台(WebEasy)提供了简便的字符串操作功能,写法类似于(计算表达式)书包取值表达式

2015-04-17 00:11:37 11347 10

原创 算术运算2(逻辑计算和复合运算)

轻开算术运算2(逻辑计算和复合运算)

2015-04-15 18:02:24 12549 8

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

京东商城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": "" } } } 找出店铺信息书包名的方法如下 @{j0:jingdong_vender_shop_query_responce} @{@{pPage:bag}:shop_jos_result} 这时候的@{pPage:bag}即为需要的店铺信息书包名 具体用法请阅读下载包中的《京东卖家如何快速开发网店工具软件》

2015-11-21

轻开纯HTML5的动态公司网站

网站组件 公司Logo 全文搜索 网站菜单 主题宣传图 主页重点信息,包括:公司介绍、公司重要公告、公司主推产品、服务与支持及招聘公告 最新信息 在线留言 联系方式,包括:地址、电话、传真、邮箱、QQ(群)及备案号等 信息列表 信息详情 信息相关文章 登录管理 确认能访问后,您可登录管理系统 用户名:[email protected],密码: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给我:[email protected]

2015-11-02

轻开平台(轻松互联网开发平台,原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

轻开电子商务系统(企业入门级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

移动App应用服务器开发从入门到精通

6.1 开发入门:第一个json 新建一个扩展名json的文件,如one.json(下图) 然后录入如下内容 {"item":{ 土豆 1.24 KG T恤 68 件 可乐 2.20 瓶 书 51.24 本 @{item:name} @{item:price} @{item:unit} },"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”: { … … },”other”:”other value” }  value属性参数表示输出不带引号的值,如: @{item:price} 输出:"price":51.24  list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等) @{item:name} @{item:price} @{item:unit}  nolast属性参数表示数组后边输出一个逗号 @{item:name} @{item:price} @{item:unit} @{item:getLength}  nokey属性参数表示不输出数组名称 <item list="@{item:getSuffix}" end="@{item:getLength}" n

2015-05-26

快速搭建移动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”标签: 保存退出并启动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":{ 土豆 1.24 KG T恤 68 件 可乐 2.20 瓶 书 51.24 本 @{item:name} @{item:price} @{item:unit} },"sort":@{int:@{item:getSuffix}+1} } 6.2 针对移动App(json格式)的规则及开发例子 除了基本开发标签语言及表达式(参见同一下载包中的开发手册)外,轻开平台特别针对移动App最常用的json文本格式开发的对应规则:  文件扩展名须为json(如:one.json)或用JspEasy扩展  文件内容须为闭合的json格式,静态内容则可直接书写json格式,如: {“item”: { … … },”other”:”other value” }  value属性参数表示输出不带引号的值,如: @{item:price} 输出:"pri

2015-05-25

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.co

2015-05-20

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

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

轻松互联网开发平台(Easy do it,原来WebEasy)20150301更新

简化了动态网页缓存为静态编程,实现缓存更轻松。终身免费使用,能开发:大型手机App服务端系统 大型功能性网站开发(如:电子商务网站、社区、门户等) 大数据系统应用开发(与vertica无缝集成) 应用解决方案,如电子政务系统、管理系统、协作系统、企业ERP/DRP/MRP等

2015-03-01

轻开平台(轻松互联网开发平台,原WebEasy)开发手册 20150130更新

从基础知识、环境需求、系统安装、开发工具、开发规则到开发实例,由浅入深全面介绍轻开平台的Web开发过程,非职业程序员一周即能上手开发,有基础的程序员只需一天

2015-01-30

轻松互联网开发平台(Easy do it,原来WebEasy)20150120更新

集成IKAnalyzer,简化了中文分词。终身免费使用,能开发:大型手机App服务端系统 大型功能性网站开发(如:电子商务网站、社区、门户等) 大数据系统应用开发(与vertica无缝集成) 应用解决方案,如电子政务系统、管理系统、协作系统、企业ERP/DRP/MRP等

2015-01-21

轻开B2C电子商务网站(20141231版)发布手册

教您从零开始快速搭建一个漂亮的B2C电子商务网站,后台为WebEasy平台(纯Java的系统),MySQL数据库,支持跨平台(linux、windows、unix等),支持中文全文检索,提供强大而轻松的扩展开发标签标签(非专业程序员也能轻松开发)

2015-01-04

轻开电子商务网站系统2014 12 31 B2C平台

轻开电子商务网站系统2014 12 31 B2C平台 让您零开发就能迅速搭建一个企业级的B2C网站

2015-01-01

WebEasy开发手册

从基础知识、环境需求、系统安装、开发工具、开发规则到开发实例,由浅入深全面介绍WebEasy的开发过程,一周即能上手开发

2014-12-05

WebEasy开发平台

开发: 大型手机App服务端系统 大型功能性网站开发(如:电子商务网站、社区、门户等) 大数据系统应用开发(与vertica无缝集成) 应用解决方案,如电子政务系统、管理系统、协作系统、企业ERP/DRP/MRP等

2014-12-04

XML高级编程

前 言可扩展标记语言(Extensible Markup Language, XML)作为一种计算技术出现不过是短短几年前的事情。它是一种概念,以其简便性而颇得人心,它驱动了Internet应用程序编写方式的动态改变。本书的覆盖范围本书解释和演示了设计、使用、显示XML文档所必需的技术。首先也是最重要的,本书覆盖了万维网协会(W3C)整理编撰的XML的全部基础内容。W3C是以正统方式发明XML的标准主体并在不断开发XML的规范。虽然有越来越多的XML社团在不断涌现并提出崭新的超出W3C控制之外的与XML相关的想法,但W3C对于XML的开发来说,仍然是非常重要并处于中心地位的。本书的焦点集中在如何使XML与现实生活中的应用结合在一起。它展示了很好的设计技术,演示了如何在支持XML的应用程序与Web应用程序和数据库系统之间提供接口。它研究了XML的尖端部分并预览了一些新兴技术。不管你的需要是针对数据交换还是显示样式化,本书都会覆盖XML领域的所有相关技术。本书中的每一章都包含一个实践范例。由于XML是一种独立于平台的技术,所有这些例子覆盖了各种语言、解析器和服务器。所有的技术都与所有的平台有着某种关系,所以即便它们不是在你最习惯的平台上实现的,你仍然可以从这些例子中得到许多有益的知识。本书的读者群本书适用于任何希望使用XML构建应用程序和系统的读者。Web站点的开发者能够学到把自己的站点提高一个层次的技术,而编程者和软件系统程序员能够学到XML如何和他们的系统相配合,以及如何使用它来解决应用程序集成中的问题。 XML应用程序天生就具备分布性而且通常是面向Web的。本书并不是一本专注于分布式系统或Web开发的著作,所以你不必深入了解这些领域的内容。大概了解Web中的多层结构和网络互联就已经足够了。本书中的样例使用了各种各样的编程语言和技术。XML之所以吸引人,很重要的一点就在于它是独立于平台和语言的。如果你做过一些Web开发,肯定会发现其中的某些例子你曾经用自己偏爱的语言编写过。如果你没有发现针对自己的平台的任何例子,也不要担心。用于XML的工具已经有了Perl、C++、Java、JavaScript和任何支持COM的语言版本。Microsoft Internet Explorer(主要是5.0或更新的版本)拥有很强的XML内置功能,而Mozilla浏览器也有类似的支持。XML工具还深入到了主要的关系型数据库管理系统,以及Web和应用程序服务器当中。如果本书没有涉及到你的平台,学习XML的基础并掌握例子中所包含的技术,就能够把学到的经验应用到任何普通的计算平台上。本书的组织结构本书的每一章都有一个关于XML的单独主题。第1章提供了XML主要特点的概念性介绍。第2章和第3章关系非常密切,因为它们都涉及XML的基础。第2章涉及XML的基本语法和规则。第3章提供了正式定义针对自己特定问题的XML词汇表的工具。但是,此后的章节因本身介绍的技术和技巧的不同相对非常独立。本书的主要章节是和一个统一的例子紧密相关的。这个例子假设一个出版商希望用XML表单显示自己的数据目录。开始时,我们设计出目录中书籍的描述规则,然后构建那些规则逐个演示每种技术是如何帮助我们构建XML应用程序的。你将看到书籍目录如何转变成文档,每个文档如何用代码操作和访问,它们的内容如何样式化以便于人们阅读。既然从实践来说,这类应用程序不可能凭空存在,所以我们将看到XML应用程序如何与数据库接口。这些是贯穿全书的、在此后的章节中将重点突出的几个主线。这使得你能够在通读全书时把注意力集中在那些对于你非常重要的问题上,而跳过其他章节。学习主线 XML是从一种简单的文档标记语言逐步发展成为涉及范围广泛的标记技术的。这种成长也正是XML应用程序的强大所在。但是,随着这种成长也出现了分歧。不同的读者可能会抱着不同的期待来阅读本书。XML对于不同的人来说是完全不同的事情。虽然我们希望大家能够逐章地阅读全书,但这并不是必须的。实际上,对于任何接触本书的人来说这都不是最好的方式。本书是由从一个核心辐射出去的三个主线组成的。读者当然可以从第1章开始,然后按顺序逐章阅读到最后一章,但读者也可以根据自己的需要找到一个更为直接的途径。每个人应该阅读本书的核心章节以理解XML包含的基本内容。以此作为开始,你可以从数据的角度或者从内容的可视化和样式化这个角度来了解XML。 1. 核心第2章(XML)和第3章(DTD)覆盖了XML 1.0的基础内容。第2章给了我们基本语法概念,第3章告诉我们如何以一种每个XML编程者都能够理解的方式正规地定义XML词汇表。这些章节提供了理解和使用XML所必需的最基本内容。第4章(关于数据建模)在创建良好的XML结构方面为读者提供了有效的指导和经验。从一个不佳的XML词汇表中恢复过来是非常困难的,而好的结构将免除许多编程错误。第5章向大家讲解了文档对象模型(DOM),W3C用于XML文档的API,以及其他诸多事物。这将引导大家走出文档的范畴进入应用程序的世界。这四章对于读者开始XML应用程序的编程来说已经足够了。当你读完它们之后,你将理解XML是什么,如何筹划它的结构,如何用代码操作XML文档。虽然XML技巧资源已经相当丰富,但你仍需要首先打好坚实的基础。所以关键的主线包括: ?第2章:格式正规的XML ?第3章:文档类型定义 ?第4章:数据建模 ?第5章:文档对象模型 2. 作为数据的XML 正如你在核心章节中看到的,XML和HTML不同,它清晰划分出文档内容和可视化显示两个部分。实际上,从许多应用程序的目的出发,XML文档的可视化显示并不重要。这些应用程序把XML看作是数据。它的意思就是把XML当作程序和系统之间的接口使用。这可能是现在XML最令人振奋的特征—特别是XML能够使电子商务成为从事商务交易处理的Web应用程序的一种技术。第6章将从这一线索开始。它讨论了一种用于操作XML文档的由事件驱动的API(被称作SAX)。这种API对于处理大容量的XML、XML流或者你在解析器中留下最少的痕迹的时候特别有用。第7章介绍了命名空间和模式,这两个领域使我们能够以比DTD更有效和更富有创造性的方式来表达概念。它们是XML中描述数据的核心。第8章向大家演示了如何链接文档和在文档中针对特定元素进行查询。在本书样例中使用的查询技术实际起源于XML的样式化,所以本章还承当了显示主线的双重重任。它在这条主线中对于展示查询如何快速找到所需元素,以及如何将不同XML文档关联起来非常有用。第9章(操作XML)也涵盖了出于各类目的转换XML文档的种种技术。从数据的角度讲这非常有趣,因为它展示了一些在词汇表之间转化的非常强大的技术。我们将证明,对于数据交换,特别是在电子商务和B2B的环境下,它是非常有用的。此外,本章也会涉及到显示主线,因为它介绍了将XML文档转换为其他语言的思想,这是有助于向用户显示XML内容的。第10章(XML和数据库)全是关于数据的。关系型数据库和XML是获取数据用于计算的两种途径,但是它们所扮演的角色不同。本章将教会大家如何在传统方法和数据存储之间提供接口以便于XML的使用。第11章(服务器到服务器)将介绍当我们无法从本地得到数据时如何到达另外一个服务器。这种新奇的技巧将变得越来越普通,因为Web应用程序正逐渐走向计算技术的前台。接下来,第12章会利用前两章的信息来讨论XML如何作为电子商务的信息媒介来使用。在这个例子中,另一台服务器属于一个商业合作伙伴。他们会根据具体情况利用XML解决数据交换的问题并说明具体细节。这条主线的一个题外话就是对无线应用协议(Wireless Application Protocol, WAP)的讨论,它与第14章中XML在无线标记语言(Wireless Markup Language, WAL)中的使用有着关系。WAP所关心的大部分内容是如何把XML的冗长形式变形为简练的二进制表示,在不失去以往优势的同时也适合移动设备使用。考虑这个问题并了解WAP的解决方案会使我们更加感叹XML作为数据交换介质的优势。此外,如果XML用来存储和传输数据,我们可能希望把自己数据放到所有的普通数据设备上,而越来越多的无线设备(例如蜂窝电话和专用Web设备)会成为我们的选择。所以XML作为数据的这条主线包括:第6章:SAX:XML的简单API 第7章:命名空间和模式第8章:链接和查询第9章:操作XML 第10章:XML和数据库第11章:服务器到服务器第12章:电子商务第14章:WAP和WML 3. XML的可视化显示 XML的数据处理对于在机器之间移动数据来说是再好不过了,但是如果你要把XML传递给人的话,就会对它的样式处理比较感兴趣。和大多数注重于数据的传统计算领域(例如关系型数据库)不同,XML的研究者们在如何显示数据方面花费的心思相当地少。XML的解决方案都是数据驱动型的。不管我们使用的是CSS还是XSL,我们将样式单中的数据应用到XML文档中的数据上,以产生适合人们阅读的可视化显示。第8章(链接和查询)将以此为线索开始。这是因为查询技术的一个子集允许编程者指定一个标准集,用来选择文档中必须样式化的部分。样式化要精确到能够指定如何根据特定元素所处位置的上下文关系来实现。相同类型的元素可能因为它们父元素的不同,或者周边显示的不同而以不同的面貌出现在大家面前。第9章将告诉编程者根据适当的环境,在需要时把XML转换成适合显示的某些其他格式的技术。这正是数据驱动的样式化的核心所在。第13章(样式化)在第8章和第9章的基础上告诉读者如何对XML样式化。我们的样式单将成为强大的规则集合,能够应用于XML文档的数据以产生可视化的显示。从一个数据集,你可以快速而有效地产生用于显示的多种视图。这就是把数据与显示实现分离开来的好处。第14章(WAP)也包含在显示主线当中,因为样式化对于小型设备来说是一种很重要的选择,而小型设备是无线通信的主要用户。它帮助设计者解决如何压缩可视化内容以适应非常小的显示区域。这就将数据副本的考虑和数据压缩结合在了一起,以适合低带宽的网络使用。因为我们的样式是由样式单驱动而不是嵌入在数据当中的,所以我们能够专门针对无线设备创建一种有效的显示格式。总而言之,我们的显示主线包括:第8章:链接和查询第9章:操作XML 第13章:样式化第14章:WAP 阅读本书前的准备本书假设你已经掌握了一些关于HTML、JavaScript、Java和ASP的知识。如果你不熟悉Java或ASP,它并不会妨碍你了解隐含在主题后面的概念,它们的影响会限制在一个较小的范围内。但是,为了能够使用本书中提到的所有样例,你必须得有一个浏览器,一个兼容ASP的Web服务器(例如Microsoft的Personal Web Server)并(作为运行Java程序的最小环境)安装Sun Java运行时环境(JRE)。 Personal Web Server(用于Windows 9x机器)可以作为NT4 Option Pack的一部分免费下载: http://www.microsoft.com/ntserver/nts/downloads/recommended/NT4OptPk/default.asp 在同样的地址你可以下载IIS for Windows NT 4。Windows 2000 Professional预装了支持ASP的Web服务器,但是你需要从定制安装中进行选择,而不能采用典型安装。 JRE能够从以下地址免费得到: http://www.java.sun.com/products/jdk/1.2/jre/index.html 本书涉及代码的全部内容都可以从http://www.wrox.com下载。约定为了帮助大家熟悉结构,理解全文,我们使用许多贯穿全书的约定。书中的程序带底纹的是一些新的、重要的,而不带底纹的是相对而言不太重要,或前面遇到过的。在正文当中,当我们介绍到重要词汇时,会突出显示。当我们介绍键盘组合时,会采用这种形式:Ctrl-A。保持联络如果大家能够对本书提出宝贵的意见和建议,我们将不胜感激。我们的电子邮件地址是: [email protected] 大家也可以通过反馈链接和我们联络: http://www.wrox.com 本书原书书号为ISBN 1-861003-11-0。

2007-08-25

XML高级编程

前 言可扩展标记语言(Extensible Markup Language, XML)作为一种计算技术出现不过是短短几年前的事情。它是一种概念,以其简便性而颇得人心,它驱动了Internet应用程序编写方式的动态改变。本书的覆盖范围本书解释和演示了设计、使用、显示XML文档所必需的技术。首先也是最重要的,本书覆盖了万维网协会(W3C)整理编撰的XML的全部基础内容。W3C是以正统方式发明XML的标准主体并在不断开发XML的规范。虽然有越来越多的XML社团在不断涌现并提出崭新的超出W3C控制之外的与XML相关的想法,但W3C对于XML的开发来说,仍然是非常重要并处于中心地位的。本书的焦点集中在如何使XML与现实生活中的应用结合在一起。它展示了很好的设计技术,演示了如何在支持XML的应用程序与Web应用程序和数据库系统之间提供接口。它研究了XML的尖端部分并预览了一些新兴技术。不管你的需要是针对数据交换还是显示样式化,本书都会覆盖XML领域的所有相关技术。本书中的每一章都包含一个实践范例。由于XML是一种独立于平台的技术,所有这些例子覆盖了各种语言、解析器和服务器。所有的技术都与所有的平台有着某种关系,所以即便它们不是在你最习惯的平台上实现的,你仍然可以从这些例子中得到许多有益的知识。本书的读者群本书适用于任何希望使用XML构建应用程序和系统的读者。Web站点的开发者能够学到把自己的站点提高一个层次的技术,而编程者和软件系统程序员能够学到XML如何和他们的系统相配合,以及如何使用它来解决应用程序集成中的问题。 XML应用程序天生就具备分布性而且通常是面向Web的。本书并不是一本专注于分布式系统或Web开发的著作,所以你不必深入了解这些领域的内容。大概了解Web中的多层结构和网络互联就已经足够了。本书中的样例使用了各种各样的编程语言和技术。XML之所以吸引人,很重要的一点就在于它是独立于平台和语言的。如果你做过一些Web开发,肯定会发现其中的某些例子你曾经用自己偏爱的语言编写过。如果你没有发现针对自己的平台的任何例子,也不要担心。用于XML的工具已经有了Perl、C++、Java、JavaScript和任何支持COM的语言版本。Microsoft Internet Explorer(主要是5.0或更新的版本)拥有很强的XML内置功能,而Mozilla浏览器也有类似的支持。XML工具还深入到了主要的关系型数据库管理系统,以及Web和应用程序服务器当中。如果本书没有涉及到你的平台,学习XML的基础并掌握例子中所包含的技术,就能够把学到的经验应用到任何普通的计算平台上。本书的组织结构本书的每一章都有一个关于XML的单独主题。第1章提供了XML主要特点的概念性介绍。第2章和第3章关系非常密切,因为它们都涉及XML的基础。第2章涉及XML的基本语法和规则。第3章提供了正式定义针对自己特定问题的XML词汇表的工具。但是,此后的章节因本身介绍的技术和技巧的不同相对非常独立。本书的主要章节是和一个统一的例子紧密相关的。这个例子假设一个出版商希望用XML表单显示自己的数据目录。开始时,我们设计出目录中书籍的描述规则,然后构建那些规则逐个演示每种技术是如何帮助我们构建XML应用程序的。你将看到书籍目录如何转变成文档,每个文档如何用代码操作和访问,它们的内容如何样式化以便于人们阅读。既然从实践来说,这类应用程序不可能凭空存在,所以我们将看到XML应用程序如何与数据库接口。这些是贯穿全书的、在此后的章节中将重点突出的几个主线。这使得你能够在通读全书时把注意力集中在那些对于你非常重要的问题上,而跳过其他章节。学习主线 XML是从一种简单的文档标记语言逐步发展成为涉及范围广泛的标记技术的。这种成长也正是XML应用程序的强大所在。但是,随着这种成长也出现了分歧。不同的读者可能会抱着不同的期待来阅读本书。XML对于不同的人来说是完全不同的事情。虽然我们希望大家能够逐章地阅读全书,但这并不是必须的。实际上,对于任何接触本书的人来说这都不是最好的方式。本书是由从一个核心辐射出去的三个主线组成的。读者当然可以从第1章开始,然后按顺序逐章阅读到最后一章,但读者也可以根据自己的需要找到一个更为直接的途径。每个人应该阅读本书的核心章节以理解XML包含的基本内容。以此作为开始,你可以从数据的角度或者从内容的可视化和样式化这个角度来了解XML。 1. 核心第2章(XML)和第3章(DTD)覆盖了XML 1.0的基础内容。第2章给了我们基本语法概念,第3章告诉我们如何以一种每个XML编程者都能够理解的方式正规地定义XML词汇表。这些章节提供了理解和使用XML所必需的最基本内容。第4章(关于数据建模)在创建良好的XML结构方面为读者提供了有效的指导和经验。从一个不佳的XML词汇表中恢复过来是非常困难的,而好的结构将免除许多编程错误。第5章向大家讲解了文档对象模型(DOM),W3C用于XML文档的API,以及其他诸多事物。这将引导大家走出文档的范畴进入应用程序的世界。这四章对于读者开始XML应用程序的编程来说已经足够了。当你读完它们之后,你将理解XML是什么,如何筹划它的结构,如何用代码操作XML文档。虽然XML技巧资源已经相当丰富,但你仍需要首先打好坚实的基础。所以关键的主线包括: ?第2章:格式正规的XML ?第3章:文档类型定义 ?第4章:数据建模 ?第5章:文档对象模型 2. 作为数据的XML 正如你在核心章节中看到的,XML和HTML不同,它清晰划分出文档内容和可视化显示两个部分。实际上,从许多应用程序的目的出发,XML文档的可视化显示并不重要。这些应用程序把XML看作是数据。它的意思就是把XML当作程序和系统之间的接口使用。这可能是现在XML最令人振奋的特征—特别是XML能够使电子商务成为从事商务交易处理的Web应用程序的一种技术。第6章将从这一线索开始。它讨论了一种用于操作XML文档的由事件驱动的API(被称作SAX)。这种API对于处理大容量的XML、XML流或者你在解析器中留下最少的痕迹的时候特别有用。第7章介绍了命名空间和模式,这两个领域使我们能够以比DTD更有效和更富有创造性的方式来表达概念。它们是XML中描述数据的核心。第8章向大家演示了如何链接文档和在文档中针对特定元素进行查询。在本书样例中使用的查询技术实际起源于XML的样式化,所以本章还承当了显示主线的双重重任。它在这条主线中对于展示查询如何快速找到所需元素,以及如何将不同XML文档关联起来非常有用。第9章(操作XML)也涵盖了出于各类目的转换XML文档的种种技术。从数据的角度讲这非常有趣,因为它展示了一些在词汇表之间转化的非常强大的技术。我们将证明,对于数据交换,特别是在电子商务和B2B的环境下,它是非常有用的。此外,本章也会涉及到显示主线,因为它介绍了将XML文档转换为其他语言的思想,这是有助于向用户显示XML内容的。第10章(XML和数据库)全是关于数据的。关系型数据库和XML是获取数据用于计算的两种途径,但是它们所扮演的角色不同。本章将教会大家如何在传统方法和数据存储之间提供接口以便于XML的使用。第11章(服务器到服务器)将介绍当我们无法从本地得到数据时如何到达另外一个服务器。这种新奇的技巧将变得越来越普通,因为Web应用程序正逐渐走向计算技术的前台。接下来,第12章会利用前两章的信息来讨论XML如何作为电子商务的信息媒介来使用。在这个例子中,另一台服务器属于一个商业合作伙伴。他们会根据具体情况利用XML解决数据交换的问题并说明具体细节。这条主线的一个题外话就是对无线应用协议(Wireless Application Protocol, WAP)的讨论,它与第14章中XML在无线标记语言(Wireless Markup Language, WAL)中的使用有着关系。WAP所关心的大部分内容是如何把XML的冗长形式变形为简练的二进制表示,在不失去以往优势的同时也适合移动设备使用。考虑这个问题并了解WAP的解决方案会使我们更加感叹XML作为数据交换介质的优势。此外,如果XML用来存储和传输数据,我们可能希望把自己数据放到所有的普通数据设备上,而越来越多的无线设备(例如蜂窝电话和专用Web设备)会成为我们的选择。所以XML作为数据的这条主线包括:第6章:SAX:XML的简单API 第7章:命名空间和模式第8章:链接和查询第9章:操作XML 第10章:XML和数据库第11章:服务器到服务器第12章:电子商务第14章:WAP和WML 3. XML的可视化显示 XML的数据处理对于在机器之间移动数据来说是再好不过了,但是如果你要把XML传递给人的话,就会对它的样式处理比较感兴趣。和大多数注重于数据的传统计算领域(例如关系型数据库)不同,XML的研究者们在如何显示数据方面花费的心思相当地少。XML的解决方案都是数据驱动型的。不管我们使用的是CSS还是XSL,我们将样式单中的数据应用到XML文档中的数据上,以产生适合人们阅读的可视化显示。第8章(链接和查询)将以此为线索开始。这是因为查询技术的一个子集允许编程者指定一个标准集,用来选择文档中必须样式化的部分。样式化要精确到能够指定如何根据特定元素所处位置的上下文关系来实现。相同类型的元素可能因为它们父元素的不同,或者周边显示的不同而以不同的面貌出现在大家面前。第9章将告诉编程者根据适当的环境,在需要时把XML转换成适合显示的某些其他格式的技术。这正是数据驱动的样式化的核心所在。第13章(样式化)在第8章和第9章的基础上告诉读者如何对XML样式化。我们的样式单将成为强大的规则集合,能够应用于XML文档的数据以产生可视化的显示。从一个数据集,你可以快速而有效地产生用于显示的多种视图。这就是把数据与显示实现分离开来的好处。第14章(WAP)也包含在显示主线当中,因为样式化对于小型设备来说是一种很重要的选择,而小型设备是无线通信的主要用户。它帮助设计者解决如何压缩可视化内容以适应非常小的显示区域。这就将数据副本的考虑和数据压缩结合在了一起,以适合低带宽的网络使用。因为我们的样式是由样式单驱动而不是嵌入在数据当中的,所以我们能够专门针对无线设备创建一种有效的显示格式。总而言之,我们的显示主线包括:第8章:链接和查询第9章:操作XML 第13章:样式化第14章:WAP 阅读本书前的准备本书假设你已经掌握了一些关于HTML、JavaScript、Java和ASP的知识。如果你不熟悉Java或ASP,它并不会妨碍你了解隐含在主题后面的概念,它们的影响会限制在一个较小的范围内。但是,为了能够使用本书中提到的所有样例,你必须得有一个浏览器,一个兼容ASP的Web服务器(例如Microsoft的Personal Web Server)并(作为运行Java程序的最小环境)安装Sun Java运行时环境(JRE)。 Personal Web Server(用于Windows 9x机器)可以作为NT4 Option Pack的一部分免费下载: http://www.microsoft.com/ntserver/nts/downloads/recommended/NT4OptPk/default.asp 在同样的地址你可以下载IIS for Windows NT 4。Windows 2000 Professional预装了支持ASP的Web服务器,但是你需要从定制安装中进行选择,而不能采用典型安装。 JRE能够从以下地址免费得到: http://www.java.sun.com/products/jdk/1.2/jre/index.html 本书涉及代码的全部内容都可以从http://www.wrox.com下载。约定为了帮助大家熟悉结构,理解全文,我们使用许多贯穿全书的约定。书中的程序带底纹的是一些新的、重要的,而不带底纹的是相对而言不太重要,或前面遇到过的。在正文当中,当我们介绍到重要词汇时,会突出显示。当我们介绍键盘组合时,会采用这种形式:Ctrl-A。保持联络如果大家能够对本书提出宝贵的意见和建议,我们将不胜感激。我们的电子邮件地址是: [email protected] 大家也可以通过反馈链接和我们联络: http://www.wrox.com 本书原书书号为ISBN 1-861003-11-0。

2007-08-25

XML学习指南

前 言扩展标记语言(Extensible Markup Language,XML),是目前最有前途的在World Wide Web上保存和传递信息的语言。尽管超文本标记语言(Hypertext Markup Language,HTML)目前是创建Web页的最常用语言,但是它在保存信息方面的能力很有限。与之相反,XML却有着极其灵活的语法,允许真实地描述各种类型的信息,从简单的菜谱到复杂的数据库(所以才会使用术语“扩展”)。XML文档(与样式表或传统的HTML页一起)可以很容易地在浏览器中显示。因为XML文档能如此有效地构造和标识它所包含的信息,以致于浏览器可以以非常灵活的方式发现、抽取、排序、过滤、整理以及管理信息。总之,XML提供了一种理想的方法,使用它可以处理Web上数量和复杂性快速增长的信息。为什么不阅读另一本XML书籍 XML可能会让人感到混乱。XML应用程序以令人吃惊的速度不断出现,而且XML与用来格式化、显示、处理和增强XML文档的大量相关标准和技术紧密联系在一起。许多这样的相关标准和技术还处在“幼儿”阶段,正在快速地变化和发展。大部分我读过的XML书籍都试图全面地介绍这些技术,但是却让人有一种在迷宫中迷失的感觉。我认为,这种典型的XML书籍过于肤浅地讨论了过多的XML技术,没有把实用与非实用、现在和将来相区别。本书回答了大部分基本的XML问题—什么是XML,为什么需要它,以及怎样使用它—并且介绍了到目前为止最重要、最实用的XML技术。本书的主题均是经过精心筛选的,对每一种主题的介绍都很有深度,并且避免了不完整的解决方案。(例如,因为我在第二部分介绍了怎样定义XML属性,所以在第三部分接着介绍了在显示文档时怎样访问这些属性。)直到我亲自动手编写并显示XML文档时,才真正理解了XML。因此,我在本书中也采用了这种方法,包括了许多循序渐进的指导、实用的例子和教程式的练习;避免对XML这种难于理解的主题进行理论和抽象的讨论。本书及附带的光盘还提供了一个完整的XML学习软件包。这个软件包提供了学习创建和显示XML文档所需基础知识的所有信息、指导和软件。本书还包括了指向Web上大量XML信息的详尽链接集,如果你想要了解基础知识以外的信息,则可以利用这些链接。在本书中将学到什么本书的第一部分(第1章和第2章)提供了对XML的简要介绍,并为学习后续的详细信息做准备。第1章回答了我前面提到的基本问题—什么是XML,为什么需要它,以及怎样使用它来解决现实世界的问题。第2章提供了一个手把手的练习,使你对创建XML文档并在Web浏览器中显示的全过程有一个大致印象。第二部分(第3章到第6章)重点介绍创建XML文档的规则和技术。第3章和第4章介绍怎样创建格式正确的XML文档—符合最基本的XML需求的文档。第5章和第6章介绍怎样创建有效的XML文档—符合可选和更严格的规则集的文档。第二部分中的章节基于W3C(World Wide Web协会)的正式XML规范。第三部分(第7章到第10章)介绍目前最重要的在Web浏览器中显示XML文档的技术。第7章和第10章解释怎样通过附加一个为浏览器提供格式指令的样式表来显示XML文档。第7章讨论级联样式表(cascading style sheet)—最简单,但是最受限的样式表类型—而第10章介绍使用XSL(扩展样式表语言,Extensible Stylesheet Language),一种用XML编写的更高级、更灵活的样式表类型。第8章和第9章介绍怎样通过把文档链接到包括访问、处理和表示XML数据的HTML Web页来显示XML文档。第8章介绍怎样使用数据绑定(data binding,一种只适用于某种XML文档的简单技术)来做到这一点。第9章介绍怎样通过可用于任意XML文档类型且高度灵活的编程对象,即众所周知的XML文档对象模型(XML Document Object Model),编写脚本来在HTML页中显示XML文档。注意 在本书中,使用术语“页面(page)”来表示HTML源文件,使用术语“文档(document)”来表示XML源文件,以便清楚地区别这两种经常一起使用的标记语言。第三部分重点讨论使用Microsoft Internet Explorer 5 Web浏览器显示XML文档。最后,附录提供了一些Web站点的地址,这些站点包含了大量有关本书中所讨论主题的更深入信息。我还在各章节中包括了这些地址,每一个地址都适用于各章节讨论的内容。在本书附带光盘的“Resource Links”文件夹中名为Appendix.htm的文件中,会找到附录的拷贝。(要了解在计算机上安装Appendix.htm的信息,参见光盘上的Readme文件。)你可以通过在Web浏览器中打开Appendix.htm文件并单击链接来访问任意一个Web站点,而不必在浏览器中输入地址。提示 你可能想要在Web上访问下列XML信息站点以便补充从本书中学到的内容。W3C在www.w3.org/中为Web创作人员提供了各种信息、标准和服务。Microsoft Developer Network(微软开发商网络,MSDN)在http://msdn.microsoft.com/xml/ default.asp中提供了Microsoft产品所支持的、有关XML的大量信息。http://www.oasis-open.org/cover/中的在线参考书《The XML Cover Page》包括了有关XML和其他标记语言的综合信息。循序渐进学习XML和Internet Explorer 尽管本书中提供的大部分技术都基于公开的标准,并且能够与大量浏览器一起协同工作,但是本书是专门为Microsoft Internet Explorer 5.0~5.5编写的。本书附带的光盘包括Internet Explorer 5.01。因此,你可以使用这张光盘上提供的浏览器软件显示本书中使用这些技术创建的任意XML文档。提示 可以从http://www.microsoft.com/windows/ie下载最新的Internet Explorer 5.5。在整本书中,Internet Explorer 5指的是Microsoft Internet Explorer 5.0~5.5。当某些信息只适用于某个Internet Explorer版本时,会及时指出,例如Internet Explorer 5.01或Internet Explorer 5.5。本书中介绍的所有特性和技术都可以用于Internet Explorer 5.5。少数几种特性是第一次出现在版本5.5中,因此无法用于以前的版本。我将清楚地标出只适用于Internet Explorer 5.5的那些特性。环境需求下面是使用本书及其附带光盘的基本硬件和软件需求: ?要访问本书附带的光盘,并安装包括在光盘中的Internet Explorer软件,需要一台运行Microsoft Windows并安装有一台CD-ROM驱动器的计算机。可以使用Windows 95、Windows 98、Windows NT 4.0(带有Service Pack3或更高版本)、Windows 2000,或者任意更高版本的Windows。 ?选择“Install Example Code And Resource Links”安装选项大约需要1MB硬盘空间。 ?要查看本书中引用的Web站点,需要连接到Internet。不过,成功地使用本书不需要查看这些站点,因此Internet连接是可选的。本书的目的是介绍XML,因此不需要事先对XML本身有所了解。不过,本书中介绍的几种有关显示XML文档的技术需要使用下列一种或多种Web创作语言:HTML、动态HTML(DHTML)和Microsoft JScript(普通JavaScript脚本语言的Microsoft版本)。尽管本书在例子中介绍了这些语言的特性,但是了解这些语言的一些基本知识仍然有用。提示 要了解在Internet Explorer 5中使用HTML和DHML的信息,请访问MSDN提供的Web站点:http://msdn.microsoft.com/workshop/author/default.asp。要阅读正式的HTML规范,参见W3C提供的Web站点:http://www.w3.org/TR/REC-html40/。在也是由MSDN提供的站点http://msdn.microsoft.com/workshop/c-frame.htm#/workshop/languages/jscript/ handling.asp和http://msdn.microsoft.com /scripting/default.htm?/scripting/jscript/default.htm中,包括完整的JScript信息,也包括初学者的教程。使用附带的光盘附带的光盘提供了下列有价值的资源,以便对本书的信息进行补充: ?本书中带有编号的程序清单的源文件拷贝。这些程序清单(例如,第2章中的程序清单2-1)提供了XML文档、样式表,和用来显示XML文档的HTML页的例子。在引入带有编号的程序清单时,也会同时给出它在光盘中对应文件的名称。(例如,程序清单2-1在文件Inventory.xml中。)所有这些文件都在附带光盘的“Example Code”文件夹中。 ?所有在XML文档示例中显示的图形文件。这些文件包含在与程序清单文件相同的光盘文件夹(Example Code)中。 ?Web页文件Appendix.htm中附录的拷贝。该文件在光盘上的“Resource Link”文件夹中。 ?Internet Explorer 5.01版。当把CD-ROM插入驱动器时,附带的光盘会自动启动安装。如果计算机不支持自动启动,就使用Windows资源管理器显示光盘的内容,并双击根文件夹中的StartCD.exe。这两种方法都可以打开欢迎屏幕。欢迎屏幕上显示了阅读Readme文件、安装示例代码和资源链接,安装Microsoft Internet Explorer 5.0,浏览光盘内容,或链接到Microsoft Press支持的Web站点等选项。一旦选择了一个选项,只要按照屏幕上显示的指示操作即可。怎样与作者联系你可以访问我的Web站点:http://ourworld.compuserve.com/homepages/mjy。那里有对本书的更正、读者的问题以及答案,获取有关XML进一步帮助的资源及相关技术,我的一些其他书籍的介绍和附加的信息。你可以给我发e-mail,地址是[email protected]。欢迎你的意见和反馈信息。尽管我很少有时间回答那些需要深入研究的问题,但是如果你的问题我能够回答,那么我将会尽力回复。 Microsoft Press支持信息我尽了最大的努力保证本书和附带光盘中内容的准确性。Microsoft Perss通过万维网上的http://mspress.microsoft.com/support/提供了对书籍的更正。如果你对本书或者它所附带的光盘有意见、问题或想法,请通过e-mail把它们发送到Microsoft 出版社: [email protected] 或者把信邮寄到: Microsoft Press Attn: XML Step by Step Editor One Microsoft Way Redmond, WA 98052-6399 请注意,产品支持不是通过上述地址提供的。英文原书书号:ISNB0-7356-1020-7 英文原书名,XML Step by Step .

2007-08-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除