#
最近在學習oscache的相關(guān)內(nèi)容,寫點東西作為鞏固
如果在jsp中使用如下標簽
<cache:cache key="foobar" scope="session">
some jsp content
</cache:cache>
那么這中間的一段jsp代碼將會以key="foobar"緩存在session中,任何其他頁面中使用這個key
的cache標簽都能共享這段存在緩存中的執(zhí)行結(jié)果
考慮一個需求,一個頁面是有許多個不同的jsp文件拼出來的
可能在頁首有隨機的廣告,登錄用戶的信息,系統(tǒng)的即時信息,固定的目錄信息等等
這其中可以考慮將固定的目錄信息放入緩存中,而其他動態(tài)信息則即時刷新
再進一步考慮 有時候頁面之間的信息是關(guān)聯(lián)的,只有當其中一條信息的內(nèi)容變化了才需要去刷新
對于這種需求就可以考慮在<cache:cache/>標簽中配置group屬性,將不同的具有關(guān)聯(lián)關(guān)系的cache內(nèi)容
分組,這樣oscache會自動的幫你檢查該組緩存內(nèi)容的變化情況,如果有任何一子成員組的內(nèi)容變化了
則會執(zhí)行刷新,這樣就可以在頁面實現(xiàn)數(shù)據(jù)的動態(tài)同步
代碼如下:(來源oscache:groupTest.jsp )
<%@ page import="java.util.*" %>
<%@ taglib uri="http://www.opensymphony.com/oscache" prefix="cache" %>
<head>
<title>Test Page</title>
<style type="text/css">
body {font-family: Arial, Verdana, Geneva, Helvetica, sans-serif}
</style>
</head>
<body>
<a href="<%= request.getContextPath() %>/">Back to index</a><p>
<hr>Flushing 'group2'
<hr>
<cache:flush group='group2' scope='application'/>
<hr>
<cache:cache key='test1' groups='group1,group2' duration='5s'>
<b>Cache Time</b>: <%= (new Date()).getTime() %><br>
This is some cache content test1 that is in 'group1' and 'group2'. Normally it would refresh if it
was more than 5 seconds old, however the <cache:flush group='group2' scope='application'>
tag causes this entry to be flushed on every page refresh.<br>
</cache:cache>
<hr>
這里有兩個cache分組group1和group2,將group2設(shè)置為每次都執(zhí)行刷新,所以test1為key的cache每次刷新頁面內(nèi)容都是重新執(zhí)行過的
<cache:cache key='test2' groups='group1' duration='5s'>
<b>Cache Time</b>: <%= (new Date()).getTime() %><br>
This is some cache content test2 that is in 'group1' (refreshes if more than 5 seconds old)<br>
</cache:cache>
<hr>
而test2只有當間隔時間超過5秒才會更新內(nèi)容
<cache:cache key='test3' duration='20s'>
<b>Cache Time</b>: <%= (new Date()).getTime() %><br>
This is some cache content test3 that is in 'group1' and 'group2'. The groups are added using the <cache:addgroup /> tag.<br>
<cache:addgroup group='group1'/>
<cache:addgroup group='group2'/>
</cache:cache>
<hr>
<cache:cache key='test4' duration='20s'>
<b>Cache Time</b>: <%= (new Date()).getTime() %><br>
This is some cache content test4 that is in 'group1' and 'group2'. The groups are added using the <cache:addgroups /> tag.<br>
<cache:addgroups groups='group1,group2'/>
</cache:cache>
<hr>
</body>
</html>
<cache:addgroup group='{you_group}'/>可以將所在的cache加入存在的group中
摘要: 導言
在開發(fā)企業(yè)級業(yè)務應用(企業(yè)規(guī)模)時,客戶往往要求在不修改系統(tǒng)源代碼的情況下對應用對象模型的擴展性提供支持。利用可擴展域模型可以實現(xiàn)新功能的開發(fā),而不需要額外的精力和成本
應用的使用周期將被延長;
外部因素改變時,系統(tǒng)工作流也可以隨之被修改;
已經(jīng)被部署的應用可以被“設(shè)定”,使其符合企業(yè)的特定情況。
完成以上功能...
閱讀全文
摘要: STRUTS-MENU簡介:STRUTS-MENU支持靜態(tài)和動態(tài)菜單,數(shù)據(jù)來源和顯示方式分開,菜單文字國際化,權(quán)限。
<menu:useMenuDisplayer name="Velocity" config="/framework/res/menucomp/templates/xtree.html" bundle="org.apache.stru...
閱讀全文
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

建立一個數(shù)據(jù)源
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name="url">
<value>jdbc:microsoft:sqlserver://192.168.0.6:1433</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value></value>
</property>
</bean>

建立會話工廠類,這個類使用spring專門為hibernate3提供LocalSessionFactoryBean
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" /> --引用上面的數(shù)據(jù)源
</property>
<property name="mappingResources"> --調(diào)入映射文檔
<list>
<value>com/yourcompany/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties"> --相關(guān)設(shè)置
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>

定義事務管理器,這個也是 spring專門為hibernate3提供的HibernateTransactionManager 事務管理器
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" /> --引用會話工廠類
</property>
</bean>


定義實體DAO
<bean id="userDAO" class="com.yourcompany.UserDAOImp">
<property name="sessionFactory">
<ref local="sessionFactory" />--引用會話工廠類
</property>
</bean>

為上面的實體DAO定義一個代理(proxy)類,這是spring為解決事務問題而提供TransactionProxyFactoryBean動態(tài)事務代理類
<bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" /> --指定事務管理器(需要是spring專用的)
</property>
<property name="target"> --目標實體DAO類
<ref local="userDAO" />
</property>
<property name="transactionAttributes"> --定義要使用事務的方法
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop> --所有insert開頭的方法都使用事務,出錯要回滾
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> --所有g(shù)et開頭的方法都使用只讀事務
<prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>--所有ist開頭的方法都使用只讀事務
</props>
</property>
</bean>


為 path="/login" 的struts action 定義實際的action類,該action 已經(jīng)進行 type="org.springframework.web.struts.DelegatingActionProxy"設(shè)置
<bean name="/login" class="com.yourcompany.struts.action.LoginAction" singleton="false">
<property name="userDAO">
<ref bean="userDAOProxy" /> --注意,這里指定的userDAO是上面定義的代理類
</property>
</bean>
</beans>
小心「RFID 智能型陳列貨架」就在你身邊!
還有什么比自己的一舉一動受人監(jiān)控還要恐怖的事呢?現(xiàn)在,日本的 DNP、Tana-X 和SEARS(不是美國的那個Sears喔!)正在研發(fā)一種智能型陳列貨架,可以追蹤掛著RFID 標簽的商品,進而分析消費者的行為模式,像是:商品的「訪客率」及購買率,消費者的「平均考慮時間」及「同次購買物品」(比方說消費者可能會同時購買 PSP和UMD光盤),當消費者拿起商品掃進店內(nèi)的 POP 系統(tǒng),查詢產(chǎn)品的相關(guān)信息時,系統(tǒng)背后的營銷人員也在悄悄收集相關(guān)信息,進而獲得所需的營銷信息。
目前我們還不太確定今年十二月圣誕節(jié)采購旺季時,哪里的消費者會被「試用」,不過建議大家在逛街的同時,還是多回頭看看,小心「RFID 智能型陳列貨架」就在你身邊。
IBM 發(fā)布標簽箝技術(shù),讓 RFID 可靠一點點...RFID 無線辨識系統(tǒng)的數(shù)據(jù)安全,實在是讓人冷汗直流。特別是在護照及信用卡方面,已經(jīng)傳出了相當多的問題之后,讓人必須快點找到應對的方法。而咱們的藍色巨人,不玩筆電很久的 IBM 公司,近來則是在不改變 RFID 運作的方法之下,改進了其安全性上的問題。
利用這個叫做標簽箝的方式(clipped tag),將天線的接收訊號的范圍縮小到只有短短的幾吋之內(nèi),將 RFID 的讀取限制在一個很小的范圍,迫使有心人必須非常接近相關(guān)的卡片、卷標,才能有效的讀取并竊取數(shù)據(jù),試想,如果有人故意貼在你身上拿個掃描裝置來探測你,你會不反擊嗎?
那這項技術(shù)廣泛應用要等多久呢?一年?不用!一個月?不用!根據(jù) InfoWorld,再過幾天,他就會開始在市面上使用(特定區(qū)域、對象),而該雜志也專訪了加拿大一位專家 Ann Cavoukian 博士,請教她對于這項技術(shù)的看法,她則表示,這項技術(shù)解決了相當多讓人頭痛的問題,進而讓 RFID 技術(shù)能讓消費者隱私的安全,多上了點保護。
雖然這目前只是個折沖的辦法,但是只要消費者小心點,重要證件、檔案不要落到有心人手里,我們就可以不用擔心,沒事走在路上,私人資料就被掃走的問題。
IBM 將利用 RFID 技術(shù)來防止假藥流入市面RFID 無線辨識技術(shù)上的應用,算是越來越廣泛了,雖然也曾經(jīng)出了不少問題,但經(jīng)過一番努力,這項技術(shù),相信還是能為全體民眾帶來更多的便利及保障。
近來 IBM 則是要將 RFID 應用在藥品運送的管控上,讓有心人無機可乘。利用瓶身上的 RFID 標簽,在經(jīng)由各個轉(zhuǎn)運站時,工作人員透過相對應的接收裝置,將 RFID 里頭的信息讀入電腦,并上傳到藥廠,讓藥廠能夠追蹤藥品在通路期間的轉(zhuǎn)運地點,并且實時更新相關(guān)數(shù)據(jù),到了中游的通路商、下游的藥局手中時,也能利用藥廠提供的數(shù)據(jù),來作比對,確保沒有被掉包之疑慮。
飛利浦推出使用 RFID 技術(shù)的植物標本箱?
飛利浦公司又將觸角伸向另一項前無古人的新科技-植物標本箱-運用RFID(無線射頻辨識技術(shù))的植物溫室。這個植物溫室能夠偵測你種植在它貼了標簽的花盆里植物的品種,然后針對該品種制造完美的成長環(huán)境,這樣你就可以很簡便地在家栽種新鮮荷蘭芹、鼠尾草、迷迭香和百里香等調(diào)味植物,免除了出門去市集或是有機食物專賣超市購物的麻煩。
將行李置入 RFID 標簽,從此時無走失之慮我們想有一天,這個世界應該會布滿 RFID 標簽, 正要出門旅行的您,手上的行李相當不能例外。位在拉斯維加司的馬卡倫國際機場(McCarran International Airport),在他們?nèi)龡l航線中,設(shè)立了一個系統(tǒng),為您家的行李裝上 RFID 標簽,透過單音道的掃射,可以追蹤標簽自動地將您的行李送到正確的目的地,停留在原地等待進一步的掃射。官方聲稱這套系統(tǒng)將有99.5%的準確性,所以朋友們,賭上一把的時候,別忘了順別跟上帝禱告一下,您的行李不在0.5%的誤差范圍內(nèi)。
RFID 幫消費者選擇化妝用品日本 Seijo 藥妝店貼心的為消費者推出了一項化妝品試用服務,今后消費者就不用將擺在架上不知幾個人試用過的化妝品抹在臉上試用,可以改用一款由 NTT 設(shè)計的 RFID 仿真化妝軟件來看看心儀的化妝品是否適合自己。
消費者只需要坐在電腦屏幕前,由網(wǎng)絡(luò)攝影機幫他拍張臉部正面照,照片出現(xiàn)在屏幕后,消費者就可以開始把自己想要試用的化妝品用電腦內(nèi)置的 RFID 掃描儀讀取,然后軟件會根據(jù)掃描進來的化妝品項目自動判斷應該涂抹在臉部的哪個部位,消費者便可由屏幕上出現(xiàn)的照片來判斷此化妝品的顏色或質(zhì)感是否適合自己或符合自己所需。
此軟件還會根據(jù)消費者選用的產(chǎn)品再推薦其它能夠相互搭配的色彩,所有配色和試用的動作完成后,消費者還可以把屏幕上完妝后的照片印出來,做為日后購物的參考。
這個所有程序都由電腦完成的化妝品試用軟件,保證比傳統(tǒng)專柜一對一試用來得迅速方便,造福的除了女性外,應該還有常需要陪另一半逛公司,并在一旁苦等的男性朋友吧。
確保清酒瓷具組安全的 RFID 標簽像這樣頂級清酒瓷器組,如果不能在恒溫底下保存,可能本身的質(zhì)量會受影響,尤其是在長途運送的過程,更是苦煞制造商。
于是NTT和數(shù)家瓷器公司一同合作,利用監(jiān)測程序來偵測貼在瓷器上具溫度傳感器的RFID卷標,并讓運送的卡車上裝載感應器,實時將標簽的感應值藉由3G來傳送至總部,如果有任何異狀,可以實時反應(如果司機想趁機開箱行竊,是逃不過感應器法眼的!)。
當運送到買家手上,就可以調(diào)閱其溫度記錄,看看是否被動手腳。看來這對于其它的高檔貨而言,可能會是的不錯的防盜措施!
美國將在八月正式對一般民眾發(fā)行 RFID 護照經(jīng)過了各方角力爭議,最終美國還是會在八月對一般民眾發(fā)行 RFID 護照 ePassport(先前已經(jīng)讓外交人員使用。)。而新的帶有 RFID 標簽的護照,里頭將會包含姓名、地址、國籍、相片、數(shù)字化的指紋文件等個人相關(guān)資料。
而先前所擔心的防偽、資料外泄等問題,美國政府仍然十分自信,表示他們已經(jīng)做好萬全的準備。不過自從荷蘭發(fā)行的 RFID 護照遭破解、竊取數(shù)據(jù)后,人們就開始對 RFID 護照的可靠與否感到懷疑。而這項科技,最終將是會便利機場的安檢、節(jié)省大家的時間,或是讓科技罪犯更容易的侵犯他人隱私,大家可以好好觀察后續(xù)的發(fā)展。
VoIP 和 RFID High 翻日本試衣間愛逛街的女生要注意啰,日本三越百貨最近引進一個新系統(tǒng),讓消費者在試衣間時,可透過無線辨識系統(tǒng) (RFID) 先將衣服上的吊牌掃入,然后使用網(wǎng)絡(luò)語音電話 (VoIP) 查看目前店內(nèi)的庫存,并通知店員展示其它所需商品。
這個系統(tǒng)利用三越百貨本身的銷售端管理系統(tǒng) (Point of Sale System),可實時掌控店內(nèi)的庫存,配合使用 Cisco 的網(wǎng)絡(luò)電話,整個安裝成本只需美金 700~800元,相較之下,成本高達美金 20,000~25,000 的觸碰式銀幕型導覽器 (touchscreen kiosk),實在貴多了。
當衣服被掃入辨識系統(tǒng)之后,可供選擇的尺寸、顏色及其它類似款式的服飾會顯示在電話上的觸碰式銀幕,消費者拿起話機就可與店員通話,這可比在試衣間扯著嗓子喊著自己所需的尺寸低調(diào)多了。
系統(tǒng)供貨商 Litescape 宣稱,目前已向許多美國零售商(Abercrombie、HomeDepot、Gap、Virgin Mega…等)推銷這個系統(tǒng),不知何時才輪到中國?
韓國公司 Rocket 發(fā)展「紙電池」,主要應用在 RFID 等方面雖然韓國公司 Rocket 開發(fā)的這個產(chǎn)品被自稱為「紙電池」,但似乎應該只是指它和紙一樣薄(像 NEC 一年前的產(chǎn)品一樣),而不是真的用紙做的。在技術(shù)的部份我們是一個字兒也看不懂,不過大致上就是「電池科技」+「薄膜科技」產(chǎn)生一個像紙一樣薄、無毒、而且不會著火也不會爆炸(重要!)的新電池之類的吧。
Rocket 估計主要的應用應該是在 RFID、智能卡和「化妝品、藥品輸送系統(tǒng)」等需要迷你電池的地方。奇怪的是,Rocket 還提出了「牙齒美白、抗老化、去皺紋」的應用,我們實在猜不出電擊牙齒是怎么能讓它變白?總之,讓我們期待看看它是如何神奇吧!
http://cn.engadget.com/search/?q=rfid
摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->
/*
?表格?
*/
.ResizedColTable
{
????border-bottom
:
...
閱讀全文
1.需求調(diào)研
2.需求分析
3.數(shù)據(jù)庫設(shè)計(數(shù)據(jù)字典)
4.系統(tǒng)概要分析
5.詳細設(shè)計
6.集成測試方案設(shè)計,確認指導開發(fā)工程師工作 其它要求:
1、做詳細或部分概要(核心)設(shè)計;
2、按時提供提交件(UML格式設(shè)計文檔或數(shù)據(jù)模型文檔);
3、按設(shè)計提交件編碼;
4、指導程序員做詳細設(shè)計或編碼;
5、確保核心代碼質(zhì)量保證。