- 浏览: 7340884 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
对于B/S结构的企业应用来说,Web前台编程占了70%以上的工作量,根本原因就是在于程序员受限于浏览器。我们知道,浏览器接受到的后台服务器传过来的数据能够呈现给程序员、并可以由程序员来操纵的从应用的层面上讲只有文本(当然浏览器也可以接受非文本的数据,浏览器会以自己的方式处理,我们就无能为力了),所以对于前台程序员来说,要做的就是把这些文本转换为用户可读的页面。
于是,我们就一直在做把数据和HTML标签拼接然后输出的工作。
后来我们使用某些复用技术,如JSP的自定义标签(这也有两个层次,
一是对流程控制、获取数据等基本操作的封装,如JSTL等;
二是对页面构件的封装,例如把List封装成Table输出等),我还是比较欣赏使用JSP标签方式的。
当然,随着Web2.0概念的提出,又出现了新的方式,那就是在前台(浏览器)里使用脚本(多数为JavaScript)来动态的渲染(render)页面。于是为了前台构件复用,我们需要的不仅仅是数据,可能还需要数据的结构、展现方式、动态效果等信息,也就是说我们需要一种方式把数据以及数据展现的相关信息以文本的方式传到前台来。其实感觉上好像回到了最原始的状态,因为这和我们直接把组织好的HTML输出到浏览器是一个理念。但是,基于对用户界面体验的考虑,也从技术流行的角度上(我认为很大程度上是大家对AJAX技术的迷信),我们不能再走老路。
现在就需要我们选择了,我们需要选择一种文本结构把数据以及数据展现的相关信息传到前台来,
首选的是XML(我觉着XML是软件技术的一次重大革新),好像没有比它更合适的了,配合XPATH、XSL等技术JS对XML的解析、操纵可以称得上简便易用,唯一差强人意的是性能略差(性能还可接受,但是确实有待提高)。
JSON不知道从什么时候起,也成为了前后台数据交互的一种数据格式,它的优点就是简单,从后台传过来文本如果格式正确,只要简单的调用一下JS的eval方法就可以把一个字符串转换成JS对象。这个JavaScript旧瓶好像是被装上了新酒,于是焕发出了惊人的活力,看看现在网络上流行的JS前台框架,ext、dojo、yui等等都或多或少或直接或间接的把JSON对象作为数据格式应用在自己的API、页面构件中。有了前台脚本的支持,我们所需要的就是后台对JSON格式的组织、操纵等行为的支持,于是就有了以各种语言(C#、Java、Perl等等,去http://www.json.org看吧)实现的类库,json-lib就是用Java语言实现的这样一套类库。我以前也使用过这个类库的几个基本的简单功能,现在这个开源项目的版本已经升级到2.3(我现在研究的是2.1),所以我觉着很有必要接触一下它的很多相对高级的功能。
运行所需要的类库:
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang-2.3.jar
commons-logging-1.1.jar
ezmorph-1.0.3.jar
json-lib-2.1.jar
这是我本机上的运行环境,我用的json-lib是2.1版本,其实官方网站上有明确的说明。
JSON对象格式的定义,我们就很容易的通过服务器端程序动态输出JSON字符串到客户端。
先看看下面的例子:
与之对应的XML格式: 通过上面,我们不难看出:
{items:[
{
id:1,
author:\"Achely\",
url:\"http://www.zhangyongjun.com\",
content:\"Welcome to Achely blog\"
},
{
id:2,
author:\"Achely2\",
url:\"http://www.zhangyongjun.com\",
content:\"Welcome to Achely blog\"
}
]};
<items>
<item>
<id>1</id>
<author>Achely</author>
<url>http://www.zhangyongjun.com</url>
<content>Welcome to Achely blog</content>
</item>
<item>
<id>2</id>
<author>Relkn</author>
<url>http://www.zhangyongjun.com</url>
<content>Welcome to Achely blog</content>
</item>
</items>
1、对象:
{name:"achely",email:"achely@gmail.com",homepage:"http://www.zhangyongjun.com"}
{ 属性 : 值 , 属性 : 值 , 属性 : 值 }
2、数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。
[
{name:"achely",email:"achely@gmail.com",homepage:"http://www.zhangyongjun.com"}, {name:"achely",email:"achely@gmail.com",homepage:"http://www.zhangyongjun.com"},
{name:"achely",email:"achely@gmail.com",homepage:"http://www.zhangyongjun.com"}
]
3、值可以是字符串、数字、true、false、null,也可以是对象或数组。这些结构都能嵌套。
那么,在客户端的JS中如何访问JSON对象呢?
js中这样的定义:
var obj='{name:"achely",email:"achely@gmail.com",homepage:"http://www.topmanopensource.iteye.com"} ';
属性访问:obj.name
数组访问:obj.array[i]
发表评论
-
【转】Django resources
2014-01-23 14:35 10828Django resources This page li ... -
使用国内镜像源来加速python pypi包的安装
2014-01-16 11:16 197845pipy国内镜像目前有: http://pypi.d ... -
[转 ]vagrant使用简介
2014-01-10 13:53 257541> 简介: vagrant提供了易于配置,重复性 ... -
[转]在Java中调用Python
2014-01-07 13:08 9222在执行之前都需要把jython对应的包加载进去,这个是必须的 ... -
[转]Eclipse配置PyDev插件
2014-01-02 14:25 2840安装python解释器 安装PyDev: 首 ... -
RestFuse的研究(五) Http请求的封装
2014-06-14 15:50 3649在RestFuse中封装了Http请 ... -
RestFuse的研究(四) Junit的Statement的分析
2013-12-06 11:46 1675在RestFuse提供了多种单 ... -
RestFuse的研究(三) Junit的Rule的使用和分析
2013-12-06 11:01 2241在junit中定义一些可以公用的规则(R ... -
RestFuse的研究(二) Junit的Runner的分类和模式
2013-12-06 10:40 1606在Junit4中的调用JunitCore可以采 ... -
RestFuse的研究(一) HttpJunitRunner的实现
2013-12-06 10:11 1748在RestFuse是一种针对Rest We ... -
[转]An open-source JUnit extension to test HTTP/REST APIs
2013-12-06 09:57 1102http://developer.eclipsesource ... -
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3357TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51592文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14205最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8697TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2717TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2815TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2458TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2789TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2704TestNG官方网站: http://testng.or ...
相关推荐
基于Php语言设计并实现了微信小程序的社区门诊管理系统。该小程序基于B/S即所谓浏览器/服务器模式,选择MySQL作为后台数据库去开发并实现一个以微信小程序的社区门诊为核心的系统以及对系统的简易介绍。 用户注册,在用户注册页面通过填写账号、密码、确认密码、姓名、性别、手机、等信息进行注册操作; 用户登录,用户通过登录页面输入账号和密码,并点击登录进行小程序登录操作。 用户登陆微信端后,可以对首页、门诊信息、我的等功能进行详细操作 门诊信息,在门诊信息页面可以查看科室名称、科室类型、医生编号、医生姓名、 职称、坐诊时间、科室图片、点击次数、科室介绍等信息进行预约挂号操作 检查信息,在检查信息页面可以查看检查项目、检查地点、检查时间、检查费用、账号、姓名、医生编号、医生姓名、是否支付、审核回复、审核状态等信息进行支付操作
白色大气风格的设计师作品模板下载.zip
工程经济学自考必备软件下载
UML课程设计报告.doc
白色大气风格响应式彩绘精品水果网站模板.zip
白色简洁风格的别墅整站网站模板.zip
白色简洁风格的APP展示动态源码下载.zip
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于计算机科学与技术等相关专业,更为适合;
白色大气风格的雪山旅游景区CSS3网站模板.zip
介绍 基于python开发的大模型调用基础框架(源码) 使用说明 修改配置文件 cd config vim __init__.py # 在配置文件中添加大模型调用地址,模型名称,API_KEY等配置 启动应用 应用启动分为两种模式,命令行模式和web模式 命令行模式 python main.py cli web模式 python main.py api
基于JavaWeb的小区物业管理系统源代码+数据库 负责数据库的设计和界面的设计和实现; 界面使用 BootStrap 框架,页面自适应效果,修改页面后实现各个功能模块的布局; 负责实现用户登录注册,查看小区活动公告、水电费查询、车费查询信息; 采用的技术:采用 MVC 架构,数据库用 MySql;
白色简单风格的商务企业网站模板下载.zip
1. 平台在家电和电子产品方面的营运情况如何? 2. 哪些品牌和类别销量最高? 3. 用户消费规律 4. 哪些是我们的重点用户? 5. 平台有哪些优势和不足,需要如何改进?
全平台数据库管理工具, 支持 ClickHouse, Presto, Trino, MySQL, PostgreSQL, Apache Druid, ElasticSearch...
白色大气风格的旅游整站网站模板.zip
1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用KEIL 标准库开发,当前在STM32F030C8T6运行,如果是STM32F030其他型号芯片,依然适用,请自行更改KEIL芯片型号以及FLASH容量即可。 3、软件下载时,请注意keil选择项是jlink还是stlink。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、编译时请注意提示,请选择合适的编译器版本。
Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
白色大气风格的红唇少女女性类网站模板.zip
白色简洁风格的UIDesign设计公司企业网站模板.rar
Linux期末考试试题.doc