Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
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小時內與您取得聯系。