之所以现在周一休息,是因为周一有北大的学生要用这间教室,昨天就是周一,我的机器自然也提供给了这些人
中的其中一个……那帮家伙,看看他们干的好事,给别人添了多大的麻烦!!!桌子上的东西被他们到处乱扔,
杨老师的杯子竟然跑到我的桌子上来了,丢杯子的更是大有人在,亏了我没有把书本留在桌子上,要不那帮高材生
还指不定给我扔到哪里去呢!开机后发现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的那个小伙子,都是很干练的讲师,也是很
称职的,要是以后能有机会听他们的课那就很好了。
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>