湖北工業(yè)大學(xué) 丁 娜
JSP是JavaServerPages的簡寫。JSP技術(shù)能讓W(xué)eb開發(fā)員和網(wǎng)頁設(shè)計(jì)員快速地開發(fā)容易維護(hù)的動(dòng)態(tài)Web主頁。用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其它操作系統(tǒng)上運(yùn)行。JSP技術(shù)使用Java編程語言編寫類XML的Tags和Scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過Tags和Scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè) 計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。
國際化主要考慮的問題就是如何使得程序中與用戶交互的部分,采用哪一種方式使得程序在經(jīng)過少量的修改甚至不需要修改源代碼的情況下,適用于任何一種國家或者地區(qū)的用戶來使用。因此國際化的程序有以下幾個(gè)特征:
(1)可以迅速的本地化。
(2)用戶界面的顯示文字、狀態(tài)消息的顯示文字以及錯(cuò)誤信息、提示信息的文字等,在程序中不進(jìn)行硬編碼。他們存儲(chǔ)在源代碼處,可自動(dòng)進(jìn)行動(dòng)態(tài)檢索。
(3)與用戶文化有關(guān)的數(shù)據(jù),如日期和貨幣,其顯示格式根據(jù)最終用戶的地區(qū)和語言而定。
(4)國際化和本地化同時(shí)存在,相輔相成,一個(gè)是過程,一個(gè)是結(jié)果。
如果開發(fā)的Web應(yīng)用只供中文用戶使用的話,就無須考慮國際化問題,但是實(shí)踐證明,在Web應(yīng)用的中文應(yīng)用上經(jīng)常遇到亂碼的情況。
處理Struts應(yīng)用國際化處理的一般步驟如下:
(1)將所有的JSP頁面的自負(fù)編碼統(tǒng)一為”GBK”,即charset=”GBK”。
(2)對(duì)文本,標(biāo)簽國際化.如:text中
(3)對(duì)按鈕國際化.如:submit中
(4)對(duì)連接國際化.如:link中使用
(5)創(chuàng)建不同語言的資源文件,即ApplicationResources _en.properties和 ApplicationResources_zh_CN.properties.可使用eclipse的propedit插件來進(jìn)行中文資源文件的編輯,它將自動(dòng)轉(zhuǎn)換為Unicode編碼。
(6)最后再編寫一個(gè)處理頁面數(shù)據(jù)傳輸字符編碼格式的過濾器,采用Servlet過濾器編程,在web.xml中映像到程序中的過濾器,
Log4j是Apache的一個(gè)開放源代碼項(xiàng)目,通過使用Log4j,我們可以控制日志信息輸送;也可以控制每一條日志的輸出格式;通過定義每一條日志信息的級(jí)別,我們能夠更加細(xì)致地控制日志的生成過程。最令人感興趣的就是,這些可以通過一個(gè)配置文件來靈活地進(jìn)行配置,而不需要修改應(yīng)用的代碼。
Log4j的好處在于:
(1)通過修改配置文件,就可以決定log信息的目的地——控制臺(tái)、文件、GUI組件、甚至是套接口服務(wù)器、NT的事件記錄器、UNIXSyslog守護(hù)進(jìn)程等。
(2)通過修改配置文件,可以定義每一條日志信息的級(jí)別,從而控制是否輸出。在系統(tǒng)開發(fā)階段可以打印詳細(xì)的log信息以及跟蹤系統(tǒng)運(yùn)行情況,而在系統(tǒng)穩(wěn)定后可以關(guān)閉log輸出,從而在能跟蹤系統(tǒng)運(yùn)行情況的同時(shí),又減少了垃圾代碼。
(3)使用log4j,需要整個(gè)系統(tǒng)有一個(gè)統(tǒng)一的log機(jī)制,有利于系統(tǒng)的規(guī)劃。
通常在Web應(yīng)用中,可通過web.xml配置在應(yīng)用啟動(dòng)時(shí)就載入Log4j的配置文件以簡化工作。以下是全面優(yōu)化的配置步驟:
(1)創(chuàng)建一個(gè)載入Log4j配置文件的HttpServlet。
(2)將該HttpServlet配置到web.xml中。
(3)編寫HttpServlet載入Log4j的配置文件的代碼。
(4)在其它的JSP或者Servlet正常使用Log4j輸出日志記錄。
首先簡要介紹系統(tǒng)登錄的流程:
用戶打開IE或者Firefox,在其中輸入http://< server>/LogCheck,便進(jìn)入登錄界面。
隨后輸入姓名和密碼,進(jìn)行登錄。
(1)如果輸入的姓名或者密碼不對(duì) ,或是沒有輸入,那么都不會(huì)跳轉(zhuǎn)到下一個(gè)頁面;只有當(dāng)輸入正確的情況才會(huì)進(jìn)入操作頁面。
(2)在輸入的用戶名和密碼正確的情況下,系統(tǒng)會(huì)自行判斷用戶所屬的類型,本系統(tǒng)將所有用戶分為了3個(gè)等級(jí):員工、項(xiàng)目組長和系統(tǒng)管理員。它們分別對(duì)應(yīng)不同的操作。
由于日志考勤管理系統(tǒng)的概念比較新穎,并從未接觸過此類系統(tǒng)的設(shè)計(jì),通過這段時(shí)間對(duì)這個(gè)系統(tǒng)的設(shè)計(jì),明白了要實(shí)現(xiàn)整個(gè)系統(tǒng)需求分析的過程是最重要的過程。由于尚未出現(xiàn)此類系統(tǒng)的相關(guān)資料,在前期寫需求分析是困擾我們的一大難題,投入了大量的時(shí)間和精力在需求分析這一塊,力求更完善的系統(tǒng)功能。在此過程當(dāng)中,使得對(duì)建模工具的使用和數(shù)據(jù)庫的設(shè)計(jì)有更深刻的理解,每一次的更改都是一個(gè)進(jìn)步的過程,就像迭代式的軟件開發(fā)一樣,自身也在成長,深刻理解做軟件就如同做人這句話。
[1][美]BrettSpell著.《ProfessionalJava》.清華大學(xué)出版社,2006-11.
[2][美]SharonZakhour著.《JavaGuider》.人民郵電出版社,2008-04-16.
[3]閻宏著.《Java與模式》.電子工業(yè)出版社,2002-11-23.