3月13日——培训第78天

之所以现在周一休息,是因为周一有北大的学生要用这间教室,昨天就是周一,我的机器自然也提供给了这些人
中的其中一个……那帮家伙,看看他们干的好事,给别人添了多大的麻烦!!!桌子上的东西被他们到处乱扔,
杨老师的杯子竟然跑到我的桌子上来了,丢杯子的更是大有人在,亏了我没有把书本留在桌子上,要不那帮高材生
还指不定给我扔到哪里去呢!开机后发现explorer没有了,亏了有人帮忙才让我重新进到桌面里。而且
甚至连资源管理器的设置都给我乱改,人能无耻到这种地步也是很不容易的……真是天下乌鸦一般黑啊,其实这种
事情我好像也干过……

=======================================================================================
徐猛,是中科院软件所的研究生毕业,同时也是国家认证的系统分析员 solomonxu@163.com,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的那个小伙子,都是很干练的讲师,也是很
称职的,要是以后能有机会听他们的课那就很好了。

it315@vip.sina.com

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>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值