B-GC39 工厂供电综合自动化实训装置
(参考图)
一、概 述
工厂供电综合自动化实训装置是根据机械工业职业技能鉴定指导中心编写的《高级电工技术》、《电工基础(高级工适用)》、《电工技师培训教材》结合《工厂供电》和《供配电技术》课程研制生产的。主要对教材中的35kV总降压变电所、10kV高压变电所及车间用电负荷的供配电线路中涉及的微机继电保护装置、备用电源自动投入装置、无功自动补偿装置、智能采集模块以及工业人机界面等电气一次、二次、控制、保护等重点教学内容进行设计开发的,通过在本实训装置中的技能训练能在深入理解专业知识的同时,培养学生的实践技能。并且本套实训装置还有利于学生对变压器、电动机组、电流互感器、电压互感器、数字电秒表及开关元器件工作特性和接线原理的理解和掌握。
二、 特 点
1、实用性强
工厂供电综合自动化实训装置根据典型教学内容设计,在开发中征求了专业教师的建议、吸收了工程应用中的实际经验。比较系统地实现了工厂供电系统的受电、输送、分配、控制、保护等实践技能训练要求。学生在实训中,还能够掌握正确的电路投切操作,倒闸操作,运行控制以及各种运行方式的调整操作规程。本装置结构清晰,运行灵活,操作方便,安全可靠。为学生提高实践技能建立了一个良好的实训平台。
2、综合性强
工厂供电综合自动化实训装置综合了与工厂供电相关的微机线路保护,备自投和无功补偿等功能。采用的是工业现场产品,线路模型和电动机模型都能较典型的模拟工厂的现场状况,有利于进行理论分析和数值分析。
3、先进性
工厂供电综合自动化实训装置综合微机继电保护、工业触摸屏和PLC等微机职能检测控制的相关技术,采用分层分布式控制方式,组建成集控制,保护,测量和信号为一体的综合自动化实训平台。体现了当前自动化技术和通信技术在供配电网的深刻变革。
三、技术性能
1、输入电源:三相四线~380V±10% 50Hz±2%
2、整机容量:≤3kVA
3、实训台采用铁质亚光密纹喷塑,铝质面板
4、RS-485通讯接口;标准MODBUS通讯协议
5、微机保护装置测量元件精度:刻度误差:不大于1%;测量电流:0.2级;母线电压:0.2级;输出精度:0.2级;频率:0.01HZ;P、Q、COSΦ;0.5级;通讯分辨率:不大于1ms
四、设备构成
序号仪器设备名称规格型号及主要技术参数1主接线模拟屏高:1900mm宽:1640mm深:750mm
采用控制屏钣金结构,一次主接线印于面板上。由35 kV,10kV,两个不同的电压等级构成 ,整个系统有两路35kV进线,其中一路正常供电,另一路作为备用,通过备自投自动切换;35kV母线出线有两路分支,一路送其他分厂,一路经总降变降压为10kV母线的进线电源1供本地使用;为了保证供电可靠性,另加一路电源作为10kV母线的进线电源2。进线电源1和进线电源2互为暗备用,分别给10kVⅠ段母线和10kVⅡ段母线供电,两者也可通过备自投自动切换。为了保证一次线路供电的可靠性,配置了微机备自投,微机线路和微机变压器保护;为了保证高压电动机的稳定运行,配置了高压电动机保护;为了提高用电质量,配置了无功补偿装置;为了实现自动化控制,配置了PC机和PLC控制器,实现了整个系统的“四遥”功能
包含如下电气元件:
7触摸屏TPC7062TI 1套
PLC三菱FX3U-128M 1套
断路器 DZ47-3P/16A 1只
断路器 DZ47-2P/16A 1只
指示灯 AD16-22D AC220V 10只
带灯方形按钮SA16-LAMP24V红色 12只
带灯方形按钮SA16-LAMP24V绿色 12只
电压测量换向开关 LW12D-16L/3 4只
电压表 6L2 10KV /100V 2只
电压表 6L2 35KV/ 100V 2只
电力电容器 BSMJ0.4-0.5-3 4只
无功补偿器 JKL5C-4 1只
负载电阻 7组
管阻1欧/50W(含安装支架) 5只
主变压器 AC380V/(90%,95%100%,105%,110%) 1台
电压互感器 AC380V三相三线进/AC110V三相四线出 3台
电压互感器 AC380V三相三线进/AC110V三相三线出 4台
电流互感器 BH-0.66 5A/5A 12只
电感 6只
中间继电器 MY2N-J DC24V 20只
交流接触器 CJX2-0910 20只
保险座 RT18-32(X)-3P 7个
航空插座 Y36M-36TK 1个
航空插座 Y36M-50TK 1个
接线端子 若干
航空插座 Y36M-4TK 1个2系统控制柜 高:1900mm 宽:830mm 深:750mm采用钣金结构
控制柜包括:三只指针式交流电压表(精度1.0级,量程:0~500V);三只指针式交流电流表(精度1.0级,量程:0~5A);数字式电秒表(1只):测量范围0.0001S-9999.9S,测量误差≤±5×10-5×量程±1个尾数字,有连续和触动两种功能。适应空触点或5V-250V正极性电信号。连续性手动复零,触动性即可手动复零,也可随测量信号自动复零。微机线路保护装置(1只):具有三段式过流保护,低压闭锁电流保护,单相接地保护,反时限过流保护,过电流前加速,过电流后加速,重合闸等功能;微机备自投装置(1只):有进线备投和母联备投方式可选 ,当主进线电源模拟故障失电后,备自投装置能自动地将备用进线电源投到工作母线上,以此保证连接在工作母线上的负荷仍能正常工作,提高供电的可靠性和稳定性。
微机保护功能要求:
上位机后台监控软件,监控主机与现场智能设备采用RS485总线,Modbus-RTU协议构建底层监控网络。主要实现以下功能:
4、监视各断路器位置、保护动作出口状态;能够控制输电线路断路器的跳/合闸;5、根据采集的母线电量实现对电压、无功的自动调整。
包含如下电器元件
变频器三菱 D720 0.4KW 1套
微机线路保护 1台
微机备自投 1台
点动按键 Φ22红色 6只
点动按键 Φ22绿色 3只
漏电开关 4P带漏电/20A 1只
三相鼠笼电机0.18KW/380V 1台
三相同步电机0.18KW/380V 1台
电流表 5A面板指针表 6只
智能电秒表 HP404Z-A 1台
换向开关 LW12D-16L/3 1只4变电站监控软件1、概述
电力综合自动化监控系统支持基于多种通讯方式的分布式体系结构,采用对象化的设备描述方法,系统的描述由传统的面向远动的数据列表方式变为层次方式,对象层次可以任意嵌套,能够更直观更方便地反映电力系统的构成。
采用跨平台设计,支持多种操作系统:
采用 Mysql 为主数据库, 按画面管理、数据管理与在线运行的模块设计:
2、 功能特性
1) 多国语言
◆ 支持多国语言显示,中文简体、 中文繁体与英文
◆ 支持多国语言动态切换, 多数模块在切换语言后无须重启软件即可生效
2) 语音报警
◆ 支持媒体文件提示
◆ 支持 TTS 文字转语音, 支持事件提示与五防操作提示
3) 图元展示
◆ 支持多种显示方式,饼状图、 柱状图、 仪表盘、 温度计、 图片与动画等
◆ 支持一键将图元数据推送显示到曲线
◆ 支持所有类型图元实现操作属性配置
◆ 支持显示公式计算值
◆ 支持智能关联,数据库增加删除数据后不影响已关联图元
◆ 支持通过设备管理显示所有设备所有数据
4) 曲线展示
◆ 支持显示实时曲线,显示时段范围 5 分钟到 60 分钟可选
◆ 支持显示历史曲线,显示数据类型日月年最大最小平均值累计值等统计类可选
◆ 支持显示大量数据,支持同一数据多个不同时段值同时对比显示
◆ 支持将历史曲线所显示的数据导出到 excel 中
◆ 支持曲线坐标范围根据数据数值自适应
◆ 支持用户新增与编辑收藏曲线, 支持一键显示用户收藏曲线
5)报表展示
◆ 支持根据数据生成报表和通过图元自定义报表
◆ 支持将报表数据导出到 excel 中
◆ 支持将报表数据显示到曲线
6) 事件查询
◆ 支持按设备查询事件
◆ 支持用关键字搜索事件
◆ 支持以事件类型检索事件
◆ 支持将事件导出到 excel 中
◆ 支持事件逐条确认与全部确认
◆ 支持事件标注高亮显示
7) 五防闭锁
◆ 支持自定义五防逻辑,支持遥信遥测及公式作为逻辑闭锁条件
◆ 支持多种运行模式,支持禁用五防闭锁或严格五防闭锁
◆ 支持五防开票与预演
◆ 支持五防操作语音提示
8) 定值操作
◆ 支持定值的读取与修改
◆ 支持压板读取与修改
◆ 支持运行区号的读取与修改
9) 设备接入
◆ 支持多种协议接入,南自 103、 标准 104、 自定义 Modbus、 GPS 对时规约等
◆ 支持自定义 Modbus 的配置
◆ 支持通过公式实现遥信合并与遥测数据统计
◆ 采用规约系数与变比分离设计
◆ 支持导入南思监控系统格式设备模板
◆ 支持与系统剪切板多行复制粘贴交互
10) 数据转发
◆ 支持多种转发协议
◆ 支持转发协议遥控遥调
5★供配电倒闸操作仿真训练教学软件(正版软件,投标文件中提供著作权证书和逐条演示一下内容)
软件分为两大部分,分别是送电操作和停电操作。送电操作和停电操作中各包括5个实训项目,依次是主变送电与停电、厂变送电与停电、机组送电与停电、直流屏送电与停电、冬用变送电与停电,每个项目中又包括若干个项目进程。软件采用三维可视化控制技术而制作,具有很强的情景性、过程性与互动性。
送电操作
一级二 级 模 块三级模块主变送电接受指令接受送电操作命令填操作票操作人填写操作票操作准备个人防护、准备五防钥匙投运检查 主变操作进入五防系统、1#主变投入运行汇报完成操作填写操作终了时间、给操作票盖章、向发令人汇报操作完毕厂变送电接受指令接受送电操作命令填操作票操作人填写操作票操作准备个人防护、准备五防钥匙投运检查 厂变操作进入五防系统、1#厂变投入运行汇报完成操作填写操作终了时间、给操作票盖章、向发令人汇报操作完毕机组送电接受指令接受送电操作命令填操作票操作人填写操作票操作准备个人防护、准备五防钥匙投运检查外部条件检查、机组设备检查、电气设备检查、仪器仪表检查机组操作进入五防系统、1#机组投入运行汇报完成操作填写操作终了时间、给操作票盖章、向发令人汇报操作完毕直流屏送电直流屏送电操作冬用变送电冬用变送电操作
停电操作
一级二 级 模 块三级模块主变停电接受指令接受停电操作命令填操作票操作人填写操作票操作准备个人防护、准备五防钥匙主变操作进入五防系统、1#主变退出运行汇报完成操作填写操作终了时间、给操作票盖章、向发令人汇报操作完毕厂变停电接受指令接受停电操作命令填操作票操作人填写操作票操作准备个人防护、准备五防钥匙厂变操作进入五防系统、1#厂变退出运行汇报完成操作填写操作终了时间、给操作票盖章、向发令人汇报操作完毕机组停电接受指令接受停电操作命令填操作票操作人填写操作票操作准备个人防护、准备五防钥匙机组操作进入五防系统、1#机组退出运行汇报完成操作填写操作终了时间、给操作票盖章、向发令人汇报操作完毕直流屏停电直流屏停电操作冬用变停电冬用变停电操作
6供配电系统综合教学仿真软件(正版软件,投标文件中提供著作权证书和逐条演示一下内容)一、系统设计依据
系统依据《电力安全生产模拟培训系列教材》《国家电网输变电工程工艺标准》标准,采用现代的可视技术和3D仿真技术而研制,以直观、生动的仿真形式对变电、供配电工程工艺进行说明讲解,以实现对工艺标准的深刻理解和掌握。
二、系统内容模块
单元名称教学模块教学任务与内容一、主变压器系统设备安装变压器主体安装1.开箱清点及附件检查2.变压器本体就位3.吊罩前准备4.钟罩起吊5.器身检查6.钟罩复位变压器附件安装
变压器接地引线安装接地母线制作与安装变压器附属设备安装
箱柜安装及接线
抽真空注油
一二次接线
二、配电装置及母线安装断路器安装
隔离开关安装
互感器安装
避雷器安装
软母线安装
硬母线安装
三、母线停送电66kV东母线停电退出66kV备用电源自动投入66kV东母线恢复送电退出66kV备用电源自动投入四、供配电作业前准备
作业过程1.更换跌落式熔断器作业过程
2.更换耐张绝缘子作业过程
3.更换柱上隔离开关作业过程
4.带负荷更换柱上负荷开关作业过程
5.更换跌落式熔断器上引线作业过程五、违章操作及纠正开工准备
作业过程
工作终结
三、系统技术路线要求
在教学设计上,每个单元精心设计了认知、应用过程、纠错等内容,在媒体设计上,以三维可视化编程技术为主,3ds Max制作动画素材,以更好地实现情境性与过程性。以便操作者循序渐进地得到训练。
本系统做到了认识与实践相结合,实验与实训相结合,操作与指导相结合的方针,采用三维动画技术,具有很强的职业性、情景性、过程性、智能性。
来源: https://www.aiav.com.cn/gcsy/6725.html
习对于美本申请的小科普
1. 实习的重要性及其在申请中的作用:在美国大学申请过程中,学生的综合素质是被高度重视的。实习是一种展现学生综合能力和个性的重要途径,它能够展示学生的兴趣、追求和努力,为招生官提供一个更为立体的申请者形象。
2. 如何生动呈现实习成果:在申请中,实习经历通常会以活动列表和文书的形式呈现。在活动列表中,简要描述实习的内容,而文书则提供更为具体而深入的阐述。申请者可以描述为何对特定实习感兴趣,以及在实习中付出的努力和所获成果。这样的呈现方式能够为招生官呈现一个更为生动的形象,使其更好地了解申请者。
3.实习的影响力不仅在于成功:实习的影响力并非只取决于是否取得了成功。即使实习并未达到预期目标,学生依然可以从中获得成长。在文书中,可以强调学生的勇气尝试、持续努力和对失败的坦然处理,这些品质同样能够吸引招生官的关注。实习是一个为自己的目标持续努力的过程,而成功与否并不是唯一衡量标准。
4. 推荐信的作用及重要性:推荐信是申请过程中的另一个重要环节,通过他人的视角更客观地评估学生。学生不仅需要进行自我观察和反思,还需要他人的观察和评价,从而呈现更为全面的形象。推荐信是确保学生形象阐述更客观的关键环节。
实习项目推荐
之前我们为同学们推荐了一系列优质的暑期学校项目,旨在协助大家在大学申请前做出更为明智的选校和选专业决策。针对那些更加关注职业发展的同学,我们建议在暑假期间考虑参与一些实习项目,这些实习机会有助于更深入地了解实际工作环境和当前行业现状。
在今天的分享中,我们将向大家介绍9个高质量的暑期实习机会。
博伊斯汤普森学院高中实习
项目介绍:
该项目由BTI、康奈尔大学和美国农业部联合举办,邀请高中生们参加为期7周的植物基因组研究、生物信息学和科学传播领域的实习。入选的学生将在为期7周的课程中获得 4000美元的教育津贴。住宿和膳食津贴不包括在计划中。
适合年龄:
学生不能是应届毕业生,并且在6月底之前必须年满16岁才有资格申请。
居住地要求:
纽约州伊萨卡地区或周边县
报名截止时间:
暂未公布
网址:
https://btiscience.org/education-outreach/high-school-research-internships/
塔夫茨大学生物医学工程研究学者(TUBERS)
项目介绍:
塔夫茨大学生物医学工程研究学者 (TUBERS) 计划为高中生提供在塔夫茨大学独特的研究体验。学生将参与尖端生物医学研究,调查生物医学问题并开发研究细胞、组织和器官的新方法。
学生将在塔夫茨大学的生物医学工程实验室工作约6周,深入学习研究技术和特定研究领域,同时学习实验方案、做出预测和检验假设。TUBERS为免费项目,学生需要自行前往塔夫茨大学梅德福校区,并且该计划不为外地学生提供住宿。
适合年龄:
学生在项目开始前满16岁。
居住地要求:
波士顿地区
报名截止时间:
暂未公布
网址:
https://www.tuftstubers.com/
LEAH Knox数据科学和生物医学研究暑期实习
项目介绍:
NIH-SEPA 资助的 LEAH Knox 学者生物医学研究项目通过吸引和支持来自大波士顿地区学校系统(包括波士顿、剑桥和埃弗雷特高中)的多元化顶尖理科学生群体来解决劳动力问题。通过为期两年的多行业合作伙伴关系,提供高水平的科学体验式学习机会,这些学生将得到参与、支持和鼓励,以提高他们对科学的兴趣。LEAH Knox的总体目标是为对科学研究职业感兴趣的STEM领域代表性不足的学生提供支持,为他们提供成功所需的知识、技能、经验和指导。
LEAH KNOX 学者组成部分:
? 第一个夏天:麻省理工学院的强化实验室经验
? 第二个夏天:在外部大学或行业实验室实习
*所有LEAH Knox计划活动均通过津贴支付。
居住地要求:
大波士顿地区学校系统
报名截止时间:
暂未公布,通常从每年一月至三月开放
网址:
https://www.mfa.org/programs/teen-programs
BU-GROW(大波士顿地区年轻女性研究机会)
项目介绍:
GROW是一个针对年轻女性的研究机会, 为即将12年级的高中生提供在BU实验室进行为期6周研究的机会。完成所有项目要求后,学生可获得高达1500美元的津贴;并有机会在协作小组环境中参与前沿研究,聆听嘉宾演讲者讨论他们在STEM领域的研究和职业。
适合年龄:
学生在项目开始前满16岁。
居住地要求:
目前必须是就读于马萨诸塞州任意一所学校的11年级学生,并且居住在波士顿30英里半径范围内。
经验要求:
正在修读或已经完成至少一门您感兴趣的研究领域的AP课程。
报名截止时间:
4月15日
网址:
https://www.bu.edu/lernet/grow/index.html
MFA 波士顿青少年项目
项目介绍:
MFA为青少年提供了一个充满活力、引人入胜的环境!在这里,青少年通过参与青少年艺术委员会,培养领导技能,了解博物馆的专业知识。他们可以担任游客助理和项目助理,为博物馆的参观者提供宝贵的支持。此外,通过工作室艺术课程和研讨会,他们能够探索自己的创造力,还有机会为波士顿地区的同龄人提供以青少年为中心的活动,欣赏和参与博物馆的全球收藏品。
适合年龄:
学生在项目开始前满16岁。
居住地要求:
波士顿地区
报名截止时间:
暂未公布
网址:
https://www.mfa.org/programs/teen-programs
大都会艺术博物馆暑期高中实习
项目介绍:
该项目让学生在发展专业技能、建立人际网络并获得工作经验的过程中与艺术、博物馆和创意专业人士建立联系,提供给学生与博物馆专业人士进行一对一和小规模交流的机会,包括编辑、营销、社交媒体、教育、科学研究、保护等。在大都会艺术博物馆期间,同学们有机会从同行和专业人士那里获得专业见解,并找到自己的兴趣。
适合年龄:
10年级和11年级/获得高中同等学位。
居住地要求:
在报名截止日前,学生需要就读于纽约、新泽西或康涅狄格州的高中或家庭学校。
报名截止时间:
暂未公布(2023年参考时间:3月10日)
网址:
https://www.metmuseum.org/about-the-met/internships/high-school/summer-high-school-internships
人类青少年工作艺术家
项目介绍:
该项目招募波士顿14-18岁的青少年,并提供在六个创意工作室(绘画、3D设计、平面设计、创意技术、视频制作和摄影)工作的机会!学生们可在创意工作室中使用各种美术和设计媒介进行创作,与专业艺术家和设计师合作,获得和学习新技能,同时为AFH的客户提供创意服务。经验不是必需的,但在工作中的创造力和学习以及赚钱的热情才是!
适合年龄:
高中生或年满14岁。所有青少年必须注册并定期就读波士顿公立学校或波士顿居民(这包括参加夜间学校、日间学校、家庭学校或 GED课程)。
居住地要求:
波士顿地区
工作时间:
·秋季学期的每周二、周三和周四下午3:00至下午6:00
·暑假期间周一至周四中午11:00至下午6:00
报名截止时间:
滚动录取,只要有空缺职位,符合标准并成功面试该职位的同学将按照“先到先得”的原则被聘用。
网址:
https://www.afhboston.org/teen-jobs
社会正义实习
项目介绍:
从2015年开始,城市使命(City Mention)组织为高中生或应届高中毕业生提供社会正义实习计划,该项目为致力于变革并有兴趣在小型非营利组织中获得工作经验的学生而设计。社会正义实习计划 (SJIP) 为大波士顿地区的高中生提供安全、多元化和以社会活动为导向的空间。实习生积极参与学术和行动主义材料,确保他们继续了解正在发生的事件,同时放大他们的声音并为社区创造变化。
适合年龄:
11年级和12年级的高中生。
居住地要求:
波士顿地区
工作时间:
暑期实习要求每周15小时,持续6周。秋季和春季课后项目都需要每周5小时,持续12周。
报名截止时间:
暂未公布,开启后滚动录取。
网址:
https://citymissionboston.org/social-justice-internships
阶梯实习项目
项目介绍:
Ladder Internship是一个时长为8周的在线实习项目。由哈佛企业家创立,Ladder Internships的使命是帮助最有才华的高中实习生与全球最雄心勃勃的初创企业合作。通过选择最优秀的实习生、进行培训,并将他们与世界一流的初创企业匹配来实现这一目标。Ladder Internship项目关心年轻专业人士,曾经的参与者们来自哈佛商学院等地方,从Y-Combinator等地方获得资金支持,并曾在麦肯锡、谷歌和微软等公司工作。
实习流程:
适合年龄:
无限制,本项目为对未来充满野心的高中学生开设。
居住地要求:
无限制,本项目为在线实习项目。
工作时间:
无限制,本项目要求参与者保证每周5-10个小时完成指定任务并与公司和合作公司管理层会面,一共8周的参与时长,并不严格限制每次参加时间。
报名截止时间:
·春季实习申请截止时间
2024/2/8
·夏季实习申请截止时间
2024/2/18(早申请)
2024/4/14(常规申请)
网址:
https://www.ladderinternships.com/
*美国暑期实习项目多不提供交通与住宿,所以对学生的居住地有限制
1、什么是Web页面静态化技术
(1)Web页面静态化技术
将JSP动态页面按照某种模板格式生成对应的*.html纯静态Web页面的过程,称之为Web页面静态化技术。
(2)何种场合需要应用Web页面静态化技术
当有些企业应用系统中的页面信息在一段时间内不发生变化时(比如内容管理系统、网上商城中的商品信息等),可以应用Web页面静态化技术,这样可以提高整个系统的响应效率——因为无须再访问后台数据库系统、也不需要再次编译处理JSP动态页面文件,因此能够减少对Web应用系统的消耗和性能影响。
2、为什么要应用Web页面静态化技术
目前基于B/S(Browser/Server,浏览器/服务器模式)体系架构的企业应用系统基本上都是由动态Web页面所构成的(比如由*.jsp、*.aspx、*.php等类型),正因为是动态化的Web页面才能满足不同的Web浏览者的个性化的访问需要、并且能够与访问者产生相互交互。
但为了能够产生出动态的应用效果,用户每一次对目标页面的HTTP请求都会在Web服务器端对这些动态Web页面进行编译或者动态处理,而这些操作都是很消耗Web服务器系统资源的。
如果目标页面文件(比如*.jsp)在一定的时间内,其动态显示的内容不会发生改变(比如新闻系统中的新闻信息显示、网点中的商品分类和某一商品信息的详情页等),那么就没有必要为每一次对它的HTTP请求访问,都进行一次"新"的编译或执行。此时可以在用户第一次对它访问后,就把它在这段没有发生改变的时间内的页面处理结果保存到一个纯静态的页面文件(*.html格式)或者有静态效果的其它格式页面文件(*.vm、*.ftl等形式)中,然后用户以后每次再访问这个动态Web页面时,后台Web服务器系统程序就直接采用转换后的静态页面内容进行响应。
因此,经过静态化技术转换处理后的结果Web页面能够快速地响应用户的HTTP请求,而且还能够大大地减少对Web服务器系统资源的消耗。当然,为了能够达到静态化的功能实现目标,软件应用系统的开发人员可以在Web应用系统的开发中应用各种模板技术——比如Velocity模板、FreeMarker模板技术等。当然,读者如果熟悉Web页面静态化技术的实现原理后,也可以自己编程实现。
在Web应用系统的表示层开发中如何通过应用Velocity模板技术以提高Web应用系统的响应性能,作者在以前的文章中的做了详细的介绍,有兴趣的读者可以翻看文章《软件项目实训及课程设计指导——如何在Web应用系统表示层开发实现中应用Velocity模板技术》。
作者在下文将为读者介绍如何在Web应用系统的表示层开发中应用FreeMarker模板技术以提高Web应用系统的响应性能。
3、在Web应用系统的表示层开发中应用FreeMarker模板技术
(1)FreeMarker模板是什么、怎么理解"模板引擎"的概念
FreeMarker 和Velocity都属于"模板引擎"(作者注:"模板引擎"在J2EE平台中一般为框架形式的系统程序和相关的系统库),开发人员应用这些模板引擎所提供的模板语言处理相关的数据,模板引擎系统会按照开发人员的要求输出文本,这些文本的格式可以是HTML网页、电子邮件、配置文件以及源代码等形式。
如下代码示例为在标准的HTML页面中内嵌FreeMarker模板语言的语句(参看其中的黑体标识的语句)的示例。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <head> <title>showInfoTemplate.ftl</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
</head> <body>
<h2>采用标准的方式获得参数值: ${showResultInfo}</h2 > <br>
<h2>采用FreeMarker模板的内建变量的方式获得参数值: ${Request.showResultInfo }</h2 > <br>
</body></html>
(2)为什么要应用FreeMarker等类型的模板技术
谈到"模板"的概念,相信读者应该不会感觉到陌生感,在生活中大量地应用各种各样的"模板",应用的目的读者也应该都会理解。同样,在计算机软件应用系统中也大量地提高各种模板和应用各种模板来简化和加速某项"工作",比如Word中的文档格式模板、编程语言中的print("%各种格式符")语句中的替换模板等等。而在J2EE系统平台的应用系统开发中之所以应用FreeMarker模板技术:
首先,FreeMarker模板技术同样也能够实现Web应用系统中的表示逻辑和数据处理逻辑相互分离——这是通过在模板文件中包装HTML标签实现的。
FreeMarker模板采用标准的Web Servlet程序中所提供的模型数据动态地生成目标HTML页面文件。在Web应用系统开发中如果应用FreeMarker模板技术,界面开发人员只需要关注于界面(也就是FreeMarker的模板文件)的开发,而系统中的业务逻辑的开发人员也只需要负责将需要显示的数据填入到FreeMarker的模板文件的数据模型中。最终由FreeMarker模板引擎负责合并数据模型和模板文件,然后产生出完整的Web页面文件并输出到Web浏览器中。
其次,实现将基于动态化技术的各种Web页面(如*.jsp、*.aspx、*.php等)转换为静态的HTML格式或其它文本格式的Web页面,达到"动态页面静态化"的高效响应的应用效果。
因此,模板引擎不只是可以让开发人员实现代码级别的分离(如系统中的业务逻辑代码和用户界面展示控制代码的分离),也可以实现软件应用系统中的数据分离(如动态可变数据与静态固定数据相互分离),甚至还可以实现应用系统中的代码单元共享(代码重用)等效果。
4、Struts及Struts2应用框架都全面地支持FreeMarker模板技术
(1)FreeMarker模板特别适应于基于MVC体系架构模式的Web应用系统
Struts2应用框架默认采用FreeMarker作为其模板文件,并且Struts2应用框架中所有的主题模板文件都是采用FreeMarker模板技术编写的。
(2)Struts2应用框架全面提供对FreeMarker模板技术的支持
在基于Struts2应用框架的Web应用系统中,开发人员只需要将项目中的Action类的配置定义中的结果<result>标签中的type属行设置为:type="freemarker",就可以自动地由Struts2应用框架中内带的FreeMarker引擎完成模型数据和模板文件的总装配和输出(参看如下示例图所示)。
(3)Struts应用框架也同样提供对FreeMarker模板技术的支持
而在Struts应用框架中应用FreeMarker模板技术,开发人员只需要在Web应用系统的部署描述文件web.xml中配置出与FreeMarker模板相关的FreemarkerServlet组件(参看如下示例图所示),然后由该FreemarkerServlet组件将项目中的相关Action类中所保存的模型数据和模板文件相互集成组装成最终的HTML页面文件、并向Web浏览器输出。
作者将在下文及后续文章中为读者介绍在J2EE Web应用系统、J2EE Struts应用框架的应用系统及J2EE Struts2应用框架的应用系统等环境中如何应用FreeMarker模板技术实现Web页面静态化的应用效果。作者首先在下文为读者介绍在J2EE Web应用系统环境中如何应用FreeMarker模板技术。
5、在J2EE Web应用项目中添加一个JSP页面文件
(1)在Web项目的userManage目录下添加一个文件名称为fmtWebUserLogin.jsp的JSP页面文件,该页面主要功能是模拟用户系统登录,其中包含有一个标准的HTML表单,创建的过程参看如下示例图所示。
(2)fmtWebUserLogin.jsp页面文件的代码示例
<%@ page language="java" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>My JSP 'fmtUserLogin.jsp' starting page</title>
</head><body>
<form action="/Struts2Web/fmtServletAction" method="post" >
您的名称:<input type="text" name="userName" /> <br />
您的密码:<input type="password" name="userPassWord" /> <br />
<input type="submit" value="提交" name="submitButton" onclick="this.value='正在提交请求,请稍候'"/>
<input type="reset" value="取消" />
</form>
</body></html>
(3)fmtWebUserLogin.jsp页面静态预览的效果图如下图所示
6、在J2EE Web应用项目中添加一个Servlet组件
在J2EE Web应用系统中使用FreeMarker模板时,应该让J2EE Servlet组件来合并模板和数据。因此J2EE Servlet组件负责创建Configuration类型的对象实例,并负责合并模板和数据。
(1)程序包名称为com.px1987.struts2.servlet,类名称为FMTServletAction,创建的过程参看如下示例图所示。
(2)将J2EE Servlet组件的URL-Pattern设置为/fmtServletAction,创建的过程参看如下示例图所示。
(3)FMTServletAction程序类的代码示例
package com.px1987.struts2.servlet;
import java.io.IOException;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
public class FMTServletAction extends HttpServlet {
private Configuration oneConfiguration=null;
public FMTServletAction() {
super();
}
public void init() throws ServletException {
/** 初始化FreeMarker配置,并创建出一个Configuration的实例 */
oneConfiguration=new Configuration(); //设置FreeMarker的模版文件位置
oneConfiguration.setServletContextForTemplateLoading(getServletContext(),"userManage");
} //第一个参数是本web应用的 ServletContext,第二个参数是模板文件的路径
public void destroy() {
super.destroy();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String resultMessage=null;
String userName=request.getParameter("userName");
String userPassWord=request.getParameter("userPassWord");
boolean returnResult=userName.equals("yang") &&userPassWord.equals("1234");
if(returnResult){
resultMessage=userName+"您登录成功!";
}
else{
resultMessage=userName+"您的身份信息无效!";
}
Map oneHashMap=new HashMap();
oneHashMap.put("showResultInfo", resultMessage); //取得模版文件
Template oneTemplate=oneConfiguration.getTemplate("showInfoFMTTemplate.ftl");
response.setContentType("text/html; charset=gb2312");
Writer out=response.getWriter();
try{ //结果必须输出到HttpServletResponse中,才能被浏览器加载
oneTemplate.process(oneHashMap, out);
}
catch (TemplateException e){
throw new ServletException("加载FreeMarker的模板文件时出现了错误", e);
}
}
}
7、在J2EE Web应用项目中添加一个FreeMarker模板文件
(1)模板文件的名称为showInfoFMTTemplate.ftl,创建的过程参看如下示例图所示。
(2)模板文件showInfoFMTTemplate.ftl的代码示例如下,注意其中黑体标识的代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <head> <title>showInfoTemplate.ftl</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
</head> <body>
<h2>采用标准的方式获得参数值: ${showResultInfo}</h2 > <br>
</body></html>
8、部署本Web项目并启动测试页面以验证本示例的功能
(1)正确地部署完毕本Web项目后,在浏览器的URL地址栏中输入如下示图中的访问地址,启动测试页面 ,执行的结果参看如下示例图所示。
(2)在测试页面的表单中模拟用户登录系统的状态,输入相关的登录参数后的执行结果参看如下示例图所示。
从本示例的执行结果来看,在showInfoFMTTemplate.ftl页面中同样也可以获得在传统的J2EE Web应用环境中一般由动态JSP类型的Web页面才能获得的动态结果数据,但本示例中的*.ftl页面是静态效果的Web页面。因此,最终实现和达到了"动态页面静态化"的高效响应的应用效果。
作者为了能够让读者进一步地理解"动态页面静态化"的应用效果,可以通过浏览结果页面相关的源程序从而确认最终是否为一个HTML格式的纯静态页面。读者可以在Web浏览器中右键单击,然后在弹出的快捷菜单项目中选择"查看源文件"的功能子菜单项目(参看如下示例图所示)。
将在Web浏览器中显示出用户当前正在浏览的Web页面的源代码,熟悉HTML语言的读者应该能够看懂其中的代码含义——全部为HTML格式的纯静态页面标签。
如何应用XML+XSLT+AJAX组合技术实现无刷新数据查询
应用XML+XSLT技术分离Web应用表示层数据和样式的实例
如何应用“XML+XSLT”技术分离Web表示层数据和样式
课程设计指导——应用AJAX技术提高Web应用的整体响应性能
如何在Web应用系统表示层开发中应用Velocity模板技术
*请认真填写需求信息,我们会在24小时内与您取得联系。