XML在B/S架构开发中的应用

用STM32CubeMX和HAL库,5分钟搞定TB6612驱动直流电机(附完整代码) 本文详细介绍了如何使用STM32CubeMX和HAL库快速配置TB6612驱动直流电机,包括硬件连接、CubeMX工程配置、电机驱动逻辑实现及进阶优化技巧。通过图形化工具和代码示例,即使是新手也能在5分钟内完成电机调速系统的搭建,大幅提升开发效率。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> author: steeven from: youkuaiyun.com 传统上, 我们利用JSP Bean来开发用户界面, 这里介绍一种利用XML XSLT的方法来替代JSP 动机: 1. JSP构造页面太痛苦. 代码嵌入页面导致页面臃肿, 逻辑复杂, 不易编辑. 2. 程序员和美工的接口必须精确定义. 复杂的嵌套输出必须构造复杂的显示类作为接口. 3. 调试JSP必须等到前端程序结束才能看到效果. 3. 调试JSP效率极低, 一点点小的修改都会引起jsp的重新编译. 新的XML的解决方案: 1. 一个servlet做统一管理. 接受url请求, 映射到对应的程序bean. 2. 程序bean只产生XML, 由servlet统一用对应的XSL转换为html. 好处: 1. JDK1.4已经自带XML API和XSLT, 并且支持XSLT 1.0标准. IE6也支持同样标准. 2. 开发前先制作接口用的demo XML, 程序员的输出必须符合此格式. 美工根据此格式制作XSL. 接口可视化, 明确定义. 3. 只要定义好接口XML, 两边几乎不需要再联合调试. 美工利用接口XML和IE6就可以直接看到效果. 4. 程序员只要保证输出的XML的是否符合接口, 直观的做文字性对比. 5. 大量页面可重用的部分能方便的抽象出来, 在XSL文件中include/import进来. 高度重用, 标准化. 6. 写XSL可大量采用template, 结构清晰, 修改方便, 写页面变成搭积木, 不再有jsp的层层嵌套. 7. 对于不同的终端设备, 可以定制不同的XSL, 很方便的就能够支持手机, pda... 8. 在程序中利用支持XML的工具, 比如sql2000, 可以直接生成XML结果, 无需复杂编程. 坏处: 1. 因为要进行XSLT转换, 服务器工作量稍微增大. 以下是几个关键环节的简单示例: ==============servlet中的XML转换========== /** * XML是String * XSL从文件中读取 * 直接写入response */ //import javax.xml.transform.*; //import javax.xml.transform.stream.*; StreamSource xml = new StreamSource(new StringReader(xmlSource)); StreamSource xsl = new StreamSource(xslFileName); response.setContentType("text/html; charset=UTF-8"); StreamResult result = new StreamResult(response.getWriter()); Transformer trans = TransformerFactory.newInstance().newTransformer(xsl); trans.setOutputProperty("encoding","UTF-8"); trans.transform(xml, result); ==================接口XML文件样本============= <?xml version="1.0" encoding="UTF-8"?> <?xml:stylesheet type="text/xsl" href="xxx.xsl"?> <page> <output> <info>推广UNICODE, 解决多语言问题.</info> </output> </page> ==================XSL文件样本============= <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> </head> <body> <p align="center"> <xsl:value-of select="page/output/info"/> </p> </body> </html> </xsl:template> </xsl:stylesheet> 考虑: 1. 可以把XSLT转换放在IE进行, IE6以下版本要安装MSXML3, 对客户端限制太多. 2. 在客户端的XSLT转换必须完全读入XML XSL, 在网速不高或者内容很多的时候反应相当迟钝. 3. 手机, pda等设备不能进行XSLT转换, 所以XSLT转换还是放在服务器上比较合适. 4. 因为一般提交内容都比较简单, 所以没有采用XML处理, 在程序中也尽量少用XML, 避免影响速度. 5. 可以在servlet判断特定参数, 比如发现有xml-view参数时, 不做XSLT转换, 直接输出XML到浏览器, 供程序调试用. 说明: 1. 这里只是利用XSLT的功能来解决网站建设中最头痛的界面和逻辑分开问题, 不是基于XML的内容处理. 2. 如果你想赶时髦, 用XML来全副武装, 可以参考cocoon2, http://xml.apache.org/cocoon/. 但是请记住, cocoon 还不完善, 你将碰到乱码, 速度, 文档不足的问题, 但是它的思想的确值得学习. 3. 在tomcat, resin中有用filter实现的xslt转换,可参考。 4. 有什么好的建议请告诉我: phpme@citiz.net (谢绝垃圾邮件:) qq:7461522
【SAP ME 3】JAVA 调用SAP PO WebService Java调用SAP PO/PI WebService接口 阅读详情

相关推荐

电路仿真软件PSIM简介

PSIM的基本使用操作...

qq_55203246的博客 7185

xml都应用在哪些方面?

xml都应用在哪些方面? A:中间转换,用xsl解析比较方便,还有就是做配置也很方便 B:数据的交换 越大的系统越能体现出它的优越性 你想想 一个是用VB开发的系统 一个是用JAVA开发的系统 这两个系统之间怎么交换数据才是比较方便的呢? 很显然,XML这时候就体...

weixin_34148508的博客 375

华为C语言笔试题(附答案)

华为C语言笔试题(附答案)     1、局部变量能否和全局变量重名?   答:能,局部会屏蔽全局。要用全局变量,需要使用 ":: "   局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。  

峰云四起 3037

B/S初探之XML学习小结

XML 可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。         近年来,随着 Web的应用越来越广泛和深入,人们渐渐觉得HTML不够用了,HTML过于简单的语法严重地阻碍了用它来表现复杂的形式。尽管HTML推出了一个又一个新版本,已经有了脚本、表格、帧等表达功能,但始终满足不了不断增长的需求。   有人建议直接使用SGML 作为Web语言,这

周洲 (Julie) 2384

从零开始:使用英伟达nx开发板部署目标检测算法的全过程

英伟达nx开发板烧录、依赖安装、开发板联网

weixin_51192760的博客 3762

SpringBoot集成MinIO依赖冲突问题

场景一: 使用minio8.3.0版本的依赖,报下列异常: An attempt was made to call a method that does not exist. The attempt was made from the following location: io.minio.S3Base.<clinit>(S3Base.java:105) The following method did not exist: okhttp3.Requ...

qq_39974348的博客 1万+

XML在B/S架构开发中的XML应用

XML在B/S架构开发中的XML应用传统上, 我们利用JSP+Bean来开发用户界面, 这里介绍一种利用XML+XSLT的方法来替代JSP动机:1. JSP构造页面太痛苦. 代码嵌入页面导致页面臃肿, 逻辑复杂, 不易编辑.2. 程序员和美工的接口必须精确定义. 复杂的嵌套输出必须构造复杂的显示类作为接口.3. 调试JSP必须等到前端程序结束才能看到效果.3. 调试JSP效率极低, 一点点小的修改

cool_rain_man的专栏 837

Unity ProBuilder(自己创建斜面、拐角)

ProBuilder基础实例

weixin_56537692的博客 1551

7、XML加强/Web开发/Tomcat

1XML加强 XML加强 1)Dom4j修改XML文档 写出xml文档: XMLWriter writer = new XMLWriter() ...

weixin_30558305的博客 69

程序员实战:DINOv3 权重文件下载与本地化部署全流程指南

Meta开源的DINOv3视觉大模型凭借70亿参数和17亿图像训练,在语义分割、目标检测等任务表现优异。本文详解预训练权重的获取渠道、校验方法和加载实践。开发者可通过HuggingFace或GitHub获取不同版本权重,包括针对服务器端的ViT系列和边缘设备的ConvNeXt系列。文章提供MD5校验代码确保文件完整性,并给出PyTorch和Transformers两种加载方式。特别强调7B模型需16GB GPU内存,建议根据硬件条件选择合适版本,如边缘设备使用ConvNeXt-Tiny。最后指出DINOv3

xiugou3365的博客 5911

【自动驾驶轨迹规划之hybrid A*算法】

本文参考论文:https://ai.stanford.edu/~ddolgov/papers/dolgov_gpp_stair08.pdf 这篇文章是基于经典A*算法与reeds-shepp曲线的,不清楚的读者请参考【自动驾驶轨迹规划5之A*算法】_无意2121的博客-优快云博客【自动驾驶轨迹规划之dubins曲线与reeds-shepp曲线】_无意2121的博客-优快云博客 目录 1 hybrid A* 算法创新点 1.1 搜索方式 1.2 车辆运动学模型 1.3 reeds-shepp曲

weixin_65089713的博客 1万+

软件架构学习总结

软件架构设计系统总体架构,从需求到设计的每一个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发easy,维护方便,升级简单。本文从架构师职责、软件架构定义、设计架构、评估架构、架构管理等方面来描写叙述了解软件架构的含义和如何设计软件架构。   一、软件架构师的职责 架构师分为下面几大类:业务架构师、主题领域架构师、技术架构师、项目架构师(J2EE架构师、.NET架构师等)、系统...

weixin_34377919的博客 182

黏菌优化算法(SMA)详解:从生物智能到优化引擎

黏菌优化算法(SMA)是一种新型生物启发式优化算法,模拟多头绒泡菌的智能觅食行为。该算法包含接近食物、包围食物和抓取食物三个阶段,通过数学模型将生物行为转化为优化过程。SMA采用权重自适应机制和参数振荡模型实现探索与开发的平衡,具有参数简单、收敛性好等优势。算法可通过MATLAB/Python实现,并应用于函数优化、工程设计和神经网络训练等领域。研究表明SMA在求解复杂优化问题时表现优异,未来可通过混沌增强、混合策略等方式进一步提升性能。

qq_42212808的博客 661

web课程总结

Web开发是一个内容广阔的技术。何为web呢?百度百科是这样解释的:web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。

m0_74812260的博客 624

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

软件架构学习小结

软件架构设计系统总体架构,从需求到设计的每一个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发easy,维护方便,升级简单。本文从架构师职责、软件架构定义、设计架构、评估架构、架构管理等方面来描写叙述了解软件架构的含义和如何设计软件架构。   一、软件架构师的职责 架构师分为下面几大类:业务架构师、主题领域架构师、技术架构师、项目架构师(J2EE架构师、.NET架构师等)、系统...

weixin_34007020的博客 134

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

BS模式开发之Web编程

Browser/Server(浏览器/服务器结构),是随着Internet技术的兴起,是对C/S结构的一种变化或改进的结构。​  JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。​  PHP(外文名:PHP:Hypertext Preprocessor),中文名:“超文本预处理器”)是一种通用开源脚本语言,语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。

AAAA202012的博客 1323

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

accp6.0 s2《JSP/Servlet/Ajax技术》学习笔记

ch1-动态网页开发基础总结:动态网页是指在服务器端运行的程序或网页,它们会随不同客户、不同时间、返回不同的内容。 B/S架构是对C/S架构的一种变化或者改进的结构;在这种结构下,程序完全放在应用服务器上,通过应用服务器同数据库服务器进行通信。 URL,是Uniform Resource Locator的缩写,意为统一资源定位符,也称网页地址,是互联网标准的资源地址。 URL组成:协议、主机

张利龙的优快云博客 5706
上一篇: WEBLOGIC6.0的一些使用经验
下一篇: 架构分析设计在面向对象系统分析和设计中的作用
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值