3月13日——培訓第78天

之所以現在週一休息,是因爲週一有北大的學生要用這間教室,昨天就是週一,我的機器自然也提供給了這些人
中的其中一個……那幫傢伙,看看他們乾的好事,給別人添了多大的麻煩!!!桌子上的東西被他們到處亂扔,
楊老師的杯子竟然跑到我的桌子上來了,丟杯子的更是大有人在,虧了我沒有把書本留在桌子上,要不那幫高材生
還指不定給我扔到哪裏去呢!開機後發現explorer沒有了,虧了有人幫忙才讓我重新進到桌面裏。而且
甚至連資源管理器的設置都給我亂改,人能無恥到這種地步也是很不容易的……真是天下烏鴉一般黑啊,其實這種
事情我好像也幹過……

=======================================================================================
徐猛,是中科院軟件所的研究生畢業,同時也是國家認證的系統分析員 [email protected],1999年和其他人
組合了一個系統分析員協會,網址是www.csai.cn,據說網站內容不錯。

網聯熱線電子票務平臺

投資建設方:
投資建設方是北京網聯熱線網絡有限公司,簡稱網聯熱線,網聯。英文簡稱是E4ticketing,坐落在上地信息
產業基地的中關村軟件園

中韓合資成立的專門從事大型文化演出組織、票務代理以及相關的電子上午活動的高科技企業。
中方:北京歌華集團(市委宣傳部下屬的大型企業)
韓方:韓國太極網(韓國最大的門戶網站之一)
項目投資額:雙方一共投資三千萬人民幣。

票務平臺支撐的大型活動

---------------------------------------------------------------------------

Web應用系統開發方法論(1)

原型化方法:
Web開發組設計、製作用戶界面的原型:
 輸出製品:界面效果圖、HTML網頁
 要求:功能佈局合理、界面元素完整(文字、編輯框、列表框等)
 參與者:美工、界面設計師、網頁工程師(Web網頁製作)

用戶界面原型的意義:
 用最直觀的方式與用戶面對面的交流
 是軟件開發組構建真實系統的基礎

應用原型與業務邏輯相分離
開發組分工
 Web開發組負責用戶界面原型
 軟件開發組負責實現業務邏輯和構建真實的系統。


功能模塊:
權限管理:資源、菜單、角色、用戶、票品權限等等,所有的操作都需要考慮用戶角色和數據權限的結合
會員管理:會員信息管理、積分管理、獎勵管理、統計分析、訂閱等等,需要和呼叫中心協商明確需求,
  可以進行會員卡驗票
網站內容管理:商品管理、票品管理、場館管理、庫存管理、基礎信息管理、單位管理、公告欄、論壇、
   焦點、票品推薦、媒體管理等等,根據網站的設計完善後臺管理功能
網站交易:網站在線交易、交易訂單管理、出票,實現網站數碼票銷售
財務管理:財務報表功能,根據財務部需求確定,可以進行財務數據的導出
查詢、統計分析

 

 

詳細學習了jsp+servlet+javabean和struts+hibernate模式開發網絡應用(使用Tomcat服務器),
oracle基礎知識,java的一些特性,如深淺拷貝、反射、代理和自省機制,集合類的應用。Spring的
基礎知識和應用,XML編程和UML設計,Ajax基礎知識,SQLServer和mysql的應用,數據庫設計知識,
Linux下開發javaWeb程序,恩信ERP項目中權限管理模塊的開發


===============================================================================

下午課程開始:

……事情有點失控,本來是爭取正當權益,爲什麼我會感覺有些做的有點過火了呢……
不過還算順利,大家一起提了想法之後,田老師明天就會回來把剩下的課程帶完,嗯……我們這個
班已經太習慣聽田老師講東西了,以至於對其他的老師不知怎麼的都有一種排斥的感覺,就目前來說,
田老師,講Linux講了5天的那個老師,還有講ajax的那個小夥子,都是很乾練的講師,也是很
稱職的,要是以後能有機會聽他們的課那就很好了。

[email protected]

DOM解析XML:

對XML編程到底是什麼意思?其實就是把標籤中的信息提取出來,如此而已。

如何創建DOM對象模型??

DOM對象的實現類可以由很多的廠商去實現,怎麼樣去創建這個類的對象是Sun公司定義的標準,
叫做JAXP,它可以創建DOM和SAX對象!

XML的節點和子節點之間的關係就是種組合模式,其實和Junit中的TestCase和TestSuite之間
的關係是一樣的。

首先代表整個文檔的節點要獲取到,而不是去找所謂的根元素。節點和節點彼此還是有差異的。
Document接口(代表DOM節點樹的根節點,注意這個根節點不是xml文檔中的根元素!)

DocumentFragment接口(描述節點的片段)
比如
<book>
 <name></name>
 <author></author>
</book>

<person>
 <name></name>
 <author></author>
</person>
上述兩個就是一個節點的片段了……

<element>
aaaaaaa
<![CDATA[

 <script>
  if(x<3)
  {
  
  }
 </script>
]]>
bbbbbbb
</element>
上面這段xml文檔有四個對象,element是一個總的對象,
aaaa和bbbb也分別是一個對象,中間的CDATA區域還是一個對象,
都屬於Node接口

Document節點對應xml文件的整個文檔樹,必須先使用某個DOM解析器創建出
該文檔的Document對象。

創建DOM解析器用到了工廠模式。如果創建一個對象的時候過程過於煩瑣的話,甚至不知道這個
類的名字的時候;或者創建這個類的時候有很多的setter方法需要設置屬性,這兩種情況下
最好都由設計者提供的工廠模式來幫助用戶完成較好。

使用工廠模式是比較好的方法

工廠類去讀取系統屬性的值


javax.xml.parsers.DocumentBuilderFactory本身這個工廠類也是抽象的。這個工廠
可以由多家廠家實現,但是每個廠家都必須實現這個抽象工廠的功能!

裏面有個new Instance方法,在api中,有這個方法的注意細節。

java -Djavax.xml.parsers.DocumentBuilderFactory=
 org.apache.xerces.jaxp.DocumentBuilderFactoryImpl

運用這種方法來配置系統屬性

JAXP定義瞭如何創建解析器的規範,解析器是DOM或者SAX

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new File("book.xml")) ;

Element rootElement = doc.getDocumentElement();//得到根

ArrayList和vector,vector實現線程同步,arraylist沒有實現同步。

List有序,HashSet無序且元素不可重複。
=============================================================

DOM解析需要導入整個樹Document,但是呢,SAX是基於事件解析的,不需要這麼一次
全部導入,而是按照事件流的方式不停的報告事件。

 


通過DHTML和Javascript可以實現網頁顯示的局部更新,先用一個動態生成表格內容的Javascript來講解,兩種方式:
表格專用的數據模型來實現:
<Script   language=javaScript>  
  function   LianJie()  
  {  
  //selValue=mainTab.rows[0].cells[0].childNodes[0].innerText;  
  //selValue=window.sel.innerText  
  selValue=window.sel.options[window.sel.selectedIndex].text  
  texValue=window.text1.value;  
  innValue=selValue+texValue;  
  newRow=window.mainTab[1].insertRow()  
  alert(newRow);
  newCell=newRow.insertCell()  
  newCell.innerText=innValue;  
  }    
  </Script>  
  <Table   id="mainTab">  
  <TR>  
  <TD>  
  <select   style="width:200px;"   id="sel"   Name="sel">  
  <option>sdfsdfsdfdsfsdf</option>  
  <option>1111111111111</option>  
  <option>222222222222</option>  
  </select>  
  </TD>  
  <TD>  
  <input   type=text   Name="text1"   id="test1">  
  </TD>  
  <TR>  
  <input   type=button   value="連接"   onClick=LianJie()>  
  <Table>  
  <Table   border=1   id="mainTab">  
  </Table>

 

通過標準的DOM對象模型來實現:
<html>
  <head>
    <title>MyHtml.html</title>
   
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
   
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
  <SCRIPT type="text/javascript">
   function addRow()
   {
    alert("hehe");
    var tbody = document.createElement("tbody");
    var tr = document.createElement("tr");
    var td = document.createElement("td");
    var value = document.createTextNode("1111");
    td.appendChild(value);
    tr.appendChild(td);
    tbody.appendChild(tr);
    document.getElementById("t1").appendChild(tbody);
    //background="#FF0000";
    //.addChild(obj);
   }
 
  </SCRIPT> 
  </head>
 
 
  <body>
    This is my HTML page. <br>
    <TABLE id="t1">
    <tr><td>2222</td></tr>
    </TABLE>
    <a href="#" οnclick="addRow()">test</a>
  </body>
</html>


 

發佈了111 篇原創文章 · 獲贊 6 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章