??xml version="1.0" encoding="utf-8" standalone="yes"?>国产女优一区,久久99久久久精品欧美,精品国产人成亚洲区http://www.aygfsteel.com/shaofan/category/7888.html关于JAVA与Y件工E?/description>zh-cnSat, 08 Sep 2007 14:30:01 GMTSat, 08 Sep 2007 14:30:01 GMT60关于三层架构的一些想?/title><link>http://www.aygfsteel.com/shaofan/archive/2007/09/08/143662.html</link><dc:creator>shaofan</dc:creator><author>shaofan</author><pubDate>Sat, 08 Sep 2007 11:45:00 GMT</pubDate><guid>http://www.aygfsteel.com/shaofan/archive/2007/09/08/143662.html</guid><wfw:comment>http://www.aygfsteel.com/shaofan/comments/143662.html</wfw:comment><comments>http://www.aygfsteel.com/shaofan/archive/2007/09/08/143662.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/shaofan/comments/commentRss/143662.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/shaofan/services/trackbacks/143662.html</trackback:ping><description><![CDATA[目前开发h员对pȝ开发的一个共识是使用三层架构Q分C层Q业务层Q和持久层。而这三层之间的依赖关pd何?比较常见的一U看法是<br /> <br /> <span style="color: #000dd6;">表示?--> 业务?--> 持久?/span><br /> <br /> q表明了层与层之间的调用关系Q表C层通过调用业务层来完成dQ而业务层则调用持久层。从另一个角度来看,一U依赖关pL<br /> <br /> <span style="color: #000dd6;">表示?--> 领域模型(Domain Model) <-- 持久?/span><br /> <br /> ?strong>表示层和持久层都应该理解(recognize)领域模型</strong>。而领域模型则是业务层的一部分。业务层正是pȝ的h值所在。虽说表C和持久也很重要Q在某些pȝ中可以说是很关键Q但?strong>它们的最l目的都是ؓ业务服务Q所以业务层应该是系l的核心</strong>?br /> <br /> Z以上的认识,在系l设计的时应首先分析需求得到领域模型,扑ևpȝ中的实体、对象(静态的一面)Qƈ明确大致的业务流E?动态的一??而另两层应尽最大努力ؓ业务层服务,且尽量减业务层受另两层的限制?br /> <br /> <br /> 各层的职责:<br /> <br /> 表示层:负责昄信息Q及从系l外部得到输入。表C层的设计决定系l界面的可用性,及信息输入和展示的可靠性。表C层只知道如何展CZ息,及收集用戯入,q不知道该如何对q些输入q行处理来完成业务?br /> <br /> 业务层:完成业务逻辑。业务层设计军_客户价值是否能够得到实现。这是系l的关键。外在的表现是功能性。业务层设计和实现的p表现在用L卛_能缺失,功能不可靠等。如果需要对业务层的业务规则q行解耦,则可以用规则引擎如DroolsQ把业务规则分离出来。但分离后的业务规则仍属于业务层。业务层知道如何对用戯入进行处理,能够应用业务规则完成用户所需的业务,但它不知道数据如何读取和保存?br /> <br /> 持久层:负责用户信息的持久化。持久层的失误表现在外即数据处理(储存Q展C等)不可靠。持久层完全不知道业务,只专注于数据存储和读取。所谓持久化q不一定是指数据库QQ何方式的持久?通过文gQ网l的持久化等)都应由持久层完成?br /> <br /> 各层的设计都会直接媄响系l性能?br /> <br /> 三层的体U大和复杂度在不同的系l中可能会有很大的不同。比如说GOOGLE的搜索引擎,它的界面很简单,可以惛_表示层是比较Ҏ实现的,而它的业务层Q关pd处理关键字,分析搜烦l果Q决定排名等Q而持久层则要负责处理大量的数据。业务层和持久层则相当复杂。而有的系l持久层会很,比如杀毒YӞ媒体播放软g{。业务层而另两层大的例子暂时q没有想?)<br /> <br /> <br /> <img src ="http://www.aygfsteel.com/shaofan/aggbug/143662.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/shaofan/" target="_blank">shaofan</a> 2007-09-08 19:45 <a href="http://www.aygfsteel.com/shaofan/archive/2007/09/08/143662.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2客户端验证的一个bughttp://www.aygfsteel.com/shaofan/archive/2007/06/03/121663.htmlshaofanshaofanSun, 03 Jun 2007 09:56:00 GMThttp://www.aygfsteel.com/shaofan/archive/2007/06/03/121663.htmlhttp://www.aygfsteel.com/shaofan/comments/121663.htmlhttp://www.aygfsteel.com/shaofan/archive/2007/06/03/121663.html#Feedback0http://www.aygfsteel.com/shaofan/comments/commentRss/121663.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/121663.html
它的客户端验证的程大概是这P用户提交表单Ӟ对各个控件的输入按预先设|的规则q行验证Q如果有问题Q则清除表单里原有的出错提示信息Qƈ写入新的提示。其设计的功能是把出错信息写表格里出错控件的上方Q以便用L得更加清楚。问题就出在其用来清除原出错信息的函敎ͼ其代码是q样?在struts.jar的template/xhtml目录下可以找?Q?br>
 1 function clearErrorMessages(form) {
 2 
 3     var table = form.childNodes[1];
 4     iftypeof table == "undefined" ) {
 5         table = form.childNodes[0];
 6     }
 7 
 8     // clear out any rows with an "errorFor" attribute
 9     var rows = table.rows;
10     var rowsToDelete = new Array();
11     if (rows == null){
12         return;
13     }
14 
15     for(var i = 0; i < rows.length; i++) {
16         var r = rows[i];
17         if (r.getAttribute("errorFor")) {
18             rowsToDelete.push(r);
19         }
20     }
21 
22     // now delete the rows
23     for (var i = 0; i < rowsToDelete.length; i++) {
24         var r = rowsToDelete[i];
25         table.deleteRow(r.rowIndex);
26         //table.removeChild(rowsToDelete[i]);
27     }
28 }


看这个函数的前三行,它试囑֏得form的第1个或W?个子节点Qƈ把它作ؓtable来处?看接下来的几?。要x除表格里的错误信息,首先要取得表格本w,q没错,但是如果W?个或W?个子节点不是table的话Q脚本就会出错,造成原出错信息无法清除,q样每次提交后的提示信息׃累积在屏q上?br>
要解册个问题有两个办法Q?br>
  • 写代码时要小心,保证form的第1?个子节点是tableQ不要在生成table前加其他代码?/li>
  • 或,修改xhtml的validation.jsQ它总能获得正确的table元素Q重新打包到struts.jar?/li>
刚看了一下Struts的JIRAQ已l有人报告了q个问题(id WW-1802)Q而且q个bug?.1版本中已l解决了?br>

shaofan 2007-06-03 17:56 发表评论
]]>
单对比一下Python/Django和Java/Struts/JSP的请求处理结?/title><link>http://www.aygfsteel.com/shaofan/archive/2007/04/06/109007.html</link><dc:creator>shaofan</dc:creator><author>shaofan</author><pubDate>Fri, 06 Apr 2007 11:11:00 GMT</pubDate><guid>http://www.aygfsteel.com/shaofan/archive/2007/04/06/109007.html</guid><wfw:comment>http://www.aygfsteel.com/shaofan/comments/109007.html</wfw:comment><comments>http://www.aygfsteel.com/shaofan/archive/2007/04/06/109007.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/shaofan/comments/commentRss/109007.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/shaofan/services/trackbacks/109007.html</trackback:ping><description><![CDATA[假设Q用两者写一个最的WEBE序?br>q程可以参照Q?br>1.struts的就太多?随便哪个都可?br>2.python/django可以看limodou写的<a target="_blank" >Django step by step</a><br><br>  <table style="width: 874px; height: 274px;" bgcolor="#ffffff" border="1"> <tbody> <tr bgcolor="#dde6ff"> <td><br></td> <td style="font-weight: bold;">Java/Struts/JSP</td> <td align="left" valign="middle"> <span style="font-weight: bold;">Python/Django</span></td> </tr> <tr bgcolor="#dde6ff"> <td style="font-weight: bold;">开发步?/td> <td>1.在web.xml里配|struts的servlet<br>2.在struts-config.xml里配|URL和action的映?br>3.写action<br>4.写JSP</td> <td align="left" valign="middle">1.在urls.py里配|URL到方法的映射<br>2.写相应的Ҏ<br>3.写HTML模板</td> </tr> <tr bgcolor="#dde6ff"> <td style="font-weight: bold;" align="left" valign="middle">调用q程</td> <td align="left" valign="middle">1.Ҏweb.xml的映调用struts的servlet controller<br>2.servlet controllerҎstruts-config.xml的映调用相应的action<br>3.action处理h<br>4.JSP渲染昄</td> <td align="left" valign="middle">1.Ҏurls.py的映调用相应的Ҏ<br>2.Ҏ处理h<br>3.HTML渲染昄</td> </tr> </tbody> </table> <br><br>相比之下前者用了两层才把一个HTTPh映射到实际处理的ҎQ第一ơ是servlet的映,W二ơ是struts action的映?br>而django则一ơ就从URL映射到相应的Ҏ了?br><br>另外一个比较显著的区别Q也是基于java和python的语a上的区别吧,java的所有方法必需包含在一个类中,因此action mapping配置时是映射到类Q而action在实现类则应实现事先U定的方?通过l承或实现接?。而django则直接得多,可以直接在配|里写明处理h的方法名?br><br><br><img src ="http://www.aygfsteel.com/shaofan/aggbug/109007.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/shaofan/" target="_blank">shaofan</a> 2007-04-06 19:11 <a href="http://www.aygfsteel.com/shaofan/archive/2007/04/06/109007.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于DOM的另一?/title><link>http://www.aygfsteel.com/shaofan/archive/2007/04/01/107803.html</link><dc:creator>shaofan</dc:creator><author>shaofan</author><pubDate>Sun, 01 Apr 2007 10:45:00 GMT</pubDate><guid>http://www.aygfsteel.com/shaofan/archive/2007/04/01/107803.html</guid><wfw:comment>http://www.aygfsteel.com/shaofan/comments/107803.html</wfw:comment><comments>http://www.aygfsteel.com/shaofan/archive/2007/04/01/107803.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/shaofan/comments/commentRss/107803.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/shaofan/services/trackbacks/107803.html</trackback:ping><description><![CDATA[ <p>DOM (Document Object Model)是一套语a无关的XML解析的接口定义。它定义了在XML解析中需要的cdQ方法,以及属性,比如如何获得一个XML标签Q如何改变标{内容Q如何改变它的属性,{等?/p> <p>DOM只是一个定义,q不是具体的实现Q它的目的就是ؓ了让大家在各个^C都能用相同的方式来处理XMLQ这样一来,我只要了解DOMQ基本上在各个^C都可以方便的处理XMLQ而不用重新学习了。比如说QJava, JavaScript, Python都有DOM的实玎ͼ用它们来处理XMLQ方式基本上都是一LQ当然也有非DOM的XML解析方式Q。在Java下,实现DOM的类库就有很多,比如JDom,XercesQ?用GOOGLE一搜就一大把。现在Java 5.0内置的就是Xerces。而JavaScript本n内|了DOM的实现。Python也默认安装了DOM的库?/p> <p>正因为DOM致力于实现各个^C对XML一致的处理方式Q它定义了一堆自q接口。因此在用DOM的时候,会有很多非NATIVE的东东。比如说Q返回节点的子节点的ҎQchildNodesQ返回的cd是NodeList。我W一ơ在Java上用Q就以ؓ是返回一个ListQ然后用get(n)Ҏ来取得某元素。而实际上NodeList是用item(n)的方法来取得某元素的。这p我觉得很怪。而DOM正是用这U方式来获得“语a无关”的能力的?/p> <p>DOM是用IDL(Interface Definition Language)来定义的。完整的定义可以在这里找?<a >http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html</a>。IDL也很Ҏ看懂。定义的1.1节列Z所有的接口?/p> <p>q些接口里,最重要而且常用的是Node,NodeList,Document,Element,Text,Attrq几个。DOM把XML文档看作一|Q树上的每个元素都是Node。每个Node都属于某个类型,比如Element,attribute,text{。这些类型就表明q个节点在XML文档里的cd了?/p> <p>比如Node里有个属性:</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">  readonly attribute unsigned </span> <span style="COLOR: #0000ff">short</span> <span style="COLOR: #000000">  nodeType;<img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span> </div> <p>Ҏq个定义Q对于取得的节点Q我们就可以通过dnodeTypeq个属性来判断q个节点的类型。在Java里,所有的属性都是用getter来取得的Q因此对某节点nQ就可以用n.getNodeType()取得它的cd。Node接口里也定义了类型常量:</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">  const unsigned short      ELEMENT_NODE                   = 1;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      ATTRIBUTE_NODE                 = 2;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      TEXT_NODE                      = 3;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      CDATA_SECTION_NODE             = 4;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      ENTITY_REFERENCE_NODE          = 5;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      ENTITY_NODE                    = 6;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      PROCESSING_INSTRUCTION_NODE    = 7;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      COMMENT_NODE                   = 8;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      DOCUMENT_NODE                  = 9;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      DOCUMENT_TYPE_NODE             = 10;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      DOCUMENT_FRAGMENT_NODE         = 11;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      NOTATION_NODE                  = 12;</span> </div> <p>用这些常量和和n.getNodeType()的结果比较,可以知道它是不是某U类型?/p> <p>Node接口中也定义了一些方法,比如Q?/p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000"> Node     appendChild(in Node newChild)    raises(DOMException);</span> </div> <p>表明appendChildҎ需要一个Nodecd的参敎ͼq回一个Node?具体的说明可以点文档上的链接q去Q也很容易看懂?/p> <p>Node接口里定义了操纵节点的方法,比如增加子节点,q回父节点,插入新节点,q回节点cdQ等{。Document,Element{接口都l承Node接口Q因此在它们上面都可以用操U节点的Ҏ?/p> <p> <strong>Document</strong>:代表整个XML文档。所有DOM元素都不能用cMJava里new的方式来生成Q而是要通过调用Document里的相应Ҏ来生成。因此它提供了生成诸如Element, Attr, Text的方法。比如createElement, createTextNode, createComment{。它也提供了名ؓgetElementsByTagName的方法,用来通过标签名称来取得其对象。比如getElementByTagName("ul")可以获得所有ul标签。它也提供一些文档的属性,比如xmlEncoding,inputEncoding{。它的一个属?documentElement代表文档的根节点。所有对XML元素的操作,基本上都是从Document开始的?/p> <p> <strong>Element</strong>:代表一个XML标签。它可以有属性,子标{,{。比?lt;ul id="booklist"><li>hello</li></ul>。标{ul是一个Element,它有一个属性叫idQ属性的值是booklist。它有一个子l点li。li也是一个标{,它也有个子节点helloQ是一个Textcd的节炏V这个接口提供操U其标签属性的ҎQ比如getAttribute,setAttribute,removeAttribute{。它也提供了和Document中一LgetElementsByTagName的方法,用来获得在这个节点下的元素?/p> <p> <strong>Attr</strong>:代表标签中的属性。比如上面的id。它也是一个Node。它有名字,|也可以获得它的所属标{?/p> <p> <strong>Text</strong>:代表一D|字,比如上面的helloQ它也一个NodeQ但比较ҎQ它不是直接l承NodeQ而是l承CharacterData接口Q后者承了Node。但是它不能有子节点?/p> <p>用JavaScriptl一个例子。假设有一个HTML文档Q?/p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">html</span> <span style="COLOR: #0000ff">><</span> <span style="COLOR: #800000">head</span> <span style="COLOR: #0000ff">><</span> <span style="COLOR: #800000">title</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">Try DOM</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">title</span> <span style="COLOR: #0000ff">></</span> <span style="COLOR: #800000">head</span> <span style="COLOR: #0000ff">><</span> <span style="COLOR: #800000">body</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">ul</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">li</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">hello</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">li</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">li</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">world</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">li</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">ul</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">body</span> <span style="COLOR: #0000ff">></</span> <span style="COLOR: #800000">html</span> <span style="COLOR: #0000ff">></span> </div> <p>下面是增加一个li的JavaScriptҎQ?/p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">ulList </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> document.getElementsByTagName(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">ul</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />ul     </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> ulList.item(</span> <span style="COLOR: #000000">0</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />txt    </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> document.createTextNode(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">I am new li</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />li     </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> document.createElement(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">li</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />li.appendChild(txt);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />ul.appendChild(li);</span> </div> <p>用Java来写Q是q样Q?/p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">NodeList ulList </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> document.getElementsByTagName(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">ul</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />Node        ul       </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> ulList.item(</span> <span style="COLOR: #000000">0</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />Text          txt      </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> document.createTextNode(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">I am new li</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />Element    li        </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> document.createElement(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">li</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />li.appendChild(txt);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />ul.appendChild(li);</span> </div> <p>可以看到处理方式和数据类型都是一L。如果要了解更多Q可以看看DOM的定义,都是IDL?/p> <img src ="http://www.aygfsteel.com/shaofan/aggbug/107803.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/shaofan/" target="_blank">shaofan</a> 2007-04-01 18:45 <a href="http://www.aygfsteel.com/shaofan/archive/2007/04/01/107803.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用javascript直接调用javaE序http://www.aygfsteel.com/shaofan/archive/2006/09/08/68407.htmlshaofanshaofanThu, 07 Sep 2006 19:59:00 GMThttp://www.aygfsteel.com/shaofan/archive/2006/09/08/68407.htmlhttp://www.aygfsteel.com/shaofan/comments/68407.htmlhttp://www.aygfsteel.com/shaofan/archive/2006/09/08/68407.html#Feedback5http://www.aygfsteel.com/shaofan/comments/commentRss/68407.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/68407.html
buffalo.remoteCall("userService.listAll",[],function(reply){
 // 不用担心Qreply.getResult会从聪明的判断服务器端远E调用的l果cd?/span>
 var userList = reply.getResult(); 
 var firstUserFamilyName = userList[0].name.familyName;
});

lWebE序加上Buffalo也相当容易。只要下载几个jar文g攑ֈlib目录下,外加几个JS文gQ然后在web.xml里加一个Servlet卛_。用的时候是需要有个properties文g来定义哪些JAVAҎ可以被JS调用。而服务器端的JAVA代码不需要做M改动?br />
暂时手头上还想不h哪些地方会用Q但是这个东东可是我很久以前曄惌的,现在有h实现了,q是很激动h心的啊。Buffalo的主| http://www.amowa.net/buffalo/zh/index.html ?br />



shaofan 2006-09-08 03:59 发表评论
]]>
自私的NetBeanshttp://www.aygfsteel.com/shaofan/archive/2006/06/13/52569.htmlshaofanshaofanTue, 13 Jun 2006 12:37:00 GMThttp://www.aygfsteel.com/shaofan/archive/2006/06/13/52569.htmlhttp://www.aygfsteel.com/shaofan/comments/52569.htmlhttp://www.aygfsteel.com/shaofan/archive/2006/06/13/52569.html#Feedback0http://www.aygfsteel.com/shaofan/comments/commentRss/52569.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/52569.html
NotifyUtil::java.net.ConnectException: Connection refused: connect
  at java.net.PlainSocketImpl.socketConnect(Native Method)
  at java.net.PlainSocketImpl.doConnect(Unknown Source)
  at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
  at java.net.PlainSocketImpl.connect(Unknown Source)
  at java.net.Socket.connect(Unknown Source)
  at java.net.Socket.connect(Unknown Source)
  at sun.net.NetworkClient.doConnect(Unknown Source)
  at sun.net.www.http.HttpClient.openServer(Unknown Source)
  at sun.net.www.http.HttpClient.openServer(Unknown Source)
  at sun.net.www.http.HttpClient.(Unknown Source)
  at sun.net.www.http.HttpClient.(Unknown Source)
  at sun.net.www.http.HttpClient.New(Unknown Source)
  at sun.net.www.http.HttpClient.New(Unknown Source)
  at sun.net.www.http.HttpClient.New(Unknown Source)
  at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
  at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
  at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
  at org.netbeans.modules.web.monitor.server.NotifyUtil$RecordSender.run(NotifyUtil.java:237)



解决Ҏ?/b>Q?br />
W一? 删除 Tomcat目录中common\lib下的两个和netbeans有关的jar文g(以org-netbeans开头的)

W二? 修改tomcat目录下的conf\web.xmlQ删除相关Filter的定义,是q一D:

    <filter>
        
<filter-name>HTTPMonitorFilter</filter-name>
        
<filter-class>
            org.netbeans.modules.web.monitor.server.MonitorFilter
        
</filter-class>
        
<init-param>
            
<param-name>netbeans.monitor.ide</param-name>
            
<param-value>127.0.0.1:8082</param-value>
        
</init-param>
    
</filter>
    
<filter-mapping>
        
<filter-name>HTTPMonitorFilter</filter-name>
        
<url-pattern>/*</url-pattern>
        
<dispatcher>REQUEST</dispatcher>
        
<dispatcher>FORWARD</dispatcher>
        
<dispatcher>INCLUDE</dispatcher>
        
<dispatcher>ERROR</dispatcher>
    
</filter-mapping>



shaofan 2006-06-13 20:37 发表评论
]]>
建立一个最单的Webwork应用E序http://www.aygfsteel.com/shaofan/archive/2006/06/04/50211.htmlshaofanshaofanSun, 04 Jun 2006 01:13:00 GMThttp://www.aygfsteel.com/shaofan/archive/2006/06/04/50211.htmlhttp://www.aygfsteel.com/shaofan/comments/50211.htmlhttp://www.aygfsteel.com/shaofan/archive/2006/06/04/50211.html#Feedback5http://www.aygfsteel.com/shaofan/comments/commentRss/50211.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/50211.htmlHello.rar

一׃步:

1.建立web应用E序的目录结?br />2.拯库文Ӟww安装目录下的lib\default中的所有jarQ以及webwork-2.2.2.jarQ复制到WEB-INF\lib下?br />3.生成配置文gQweb.xml在WEB-INF? xwork.xml在WEB-INF\classes?br />
web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

    
<display-name>My First Hello Webwork</display-name>

    
<filter>
        
<filter-name>webwork</filter-name>
        
<filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
    
</filter>

    
<filter-mapping>
        
<filter-name>webwork</filter-name>
        
<url-pattern>/*</url-pattern>
    
</filter-mapping>

    
<welcome-file-list>
        
<welcome-file>index.jsp</welcome-file>
    
</welcome-file-list>

    
<taglib>
        
<taglib-uri>/webwork</taglib-uri>
        
<taglib-location>/WEB-INF/lib/webwork-2.2.2.jar</taglib-location>
    
</taglib>
</web-app>


xwork.xml:
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">

<xwork>
    
<!-- Include webwork defaults (from WebWork JAR). -->
    
<include file="webwork-default.xml" />

    
<!-- Configuration for the default package. -->
    
<package name="default" extends="webwork-default">
    
</package>
</xwork>


4. ~写action和jsp
5. 在xwork.xml中添加相应配|,如在package之间加入Q?br />
        <default-interceptor-ref name="completeStack"/>
        
<action name="helloww" class="net.blogjava.shaofan.helloww.Hello">
            
<result name="success">greetings.jsp</result>
        
</action>


下步计划Q?br />* 了解package
* ww的taglibs
* 在action和jsp间传递数据的机制(struts中用formbean,利用session,request{?



shaofan 2006-06-04 09:13 发表评论
]]>
转换HTML内容为PDF格式(2)http://www.aygfsteel.com/shaofan/archive/2006/06/01/49390.htmlshaofanshaofanWed, 31 May 2006 23:56:00 GMThttp://www.aygfsteel.com/shaofan/archive/2006/06/01/49390.htmlhttp://www.aygfsteel.com/shaofan/comments/49390.htmlhttp://www.aygfsteel.com/shaofan/archive/2006/06/01/49390.html#Feedback8http://www.aygfsteel.com/shaofan/comments/commentRss/49390.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/49390.html阅读全文

shaofan 2006-06-01 07:56 发表评论
]]>
转换HTML内容为PDF格式(1)http://www.aygfsteel.com/shaofan/archive/2006/05/30/48866.htmlshaofanshaofanMon, 29 May 2006 22:15:00 GMThttp://www.aygfsteel.com/shaofan/archive/2006/05/30/48866.htmlhttp://www.aygfsteel.com/shaofan/comments/48866.htmlhttp://www.aygfsteel.com/shaofan/archive/2006/05/30/48866.html#Feedback6http://www.aygfsteel.com/shaofan/comments/commentRss/48866.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/48866.html  阅读全文

shaofan 2006-05-30 06:15 发表评论
]]>
差点栽在JAVA路径讄的问题上http://www.aygfsteel.com/shaofan/archive/2006/05/29/48654.htmlshaofanshaofanSun, 28 May 2006 23:28:00 GMThttp://www.aygfsteel.com/shaofan/archive/2006/05/29/48654.htmlhttp://www.aygfsteel.com/shaofan/comments/48654.htmlhttp://www.aygfsteel.com/shaofan/archive/2006/05/29/48654.html#Feedback3http://www.aygfsteel.com/shaofan/comments/commentRss/48654.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/48654.html ?/font>
天差Ҏ在JAVA路径讄上?br />
本来是想用ANT的。但是在命o行输入antQ得Cq样的提C:

Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)

       ......
       ......

奇怪。想来是刚重装了pȝQJAVA_HOME没有讑֥。于是检查了一遍。问题依旧。那是不是虚拟机的问题?虚拟机D掉重装。折腾了半天Q问题还是没有解冟?br />
逼得我只能静下心来仔l想想问题所在了。ant的命令执行的是一个批处理文gQ在q个批处理中它会调用java.exe来运行ant。出现这L问题Q必定是java.exe的用法格式不对了。于是打开ant.batQ发现它的执行有几个分支。在每个分支上加上一句echo b1, echo b2Q再ơ运行,定是哪个分支被执行。被q行的语句分支就是这个了Q?br />
:runAntWithClasspath
"%_JAVACMD%" %ANT_OPTS% -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" org.apache.tools.ant.launch.Launcher %ANT_ARGS% -cp "%CLASSPATH%" %ANT_CMD_LINE_ARGS%
goto end

OK。现在几乎可以肯定是那一?%的变量里Z问题。拿出我们程序员百试不爽的绝招的时候了Q打印每个变量。哈哈,问题出来了:

"D:\lib\apache-ant-1.6.5\\lib\ant-launcher.jar"

看到了吗Q?lib"前面居然是两个反斜杠杠。OK。发C问题所在,现在是解决的时候了。打开pȝ变量ANT_HOMEQ果Ӟ它被讄?D:\lib\apache-ant-1.6.5\"。把最后的反斜杠去掉。再试运行antQ得刎ͼ

Buildfile: build.xml does not exist!
Build failed

ant可以正常q行Q问题解决了?br />
q个小的问题前后用了我快一个小时的旉。但是最后真正发现ƈ解决问题的时间也不过十分钟而已。看来还是太躁了。如果一开始就用心LQ也不会有这么多的浪贏V想惻IZ么那后面会多一个\Q其实也很简单,从WINDOWS的地址栏直接拷贝的咯。Windows?.....我知道不能怪WindowsQ但总要找个出气Ӟ对不对?

自以为用了几qJAVA已经挺熟了,没想到差Ҏ到最低的失误里了。反省反省。。。。。?img src ="http://www.aygfsteel.com/shaofan/aggbug/48654.html" width = "1" height = "1" />

shaofan 2006-05-29 07:28 发表评论
]]>
Java EE 5 发布?!http://www.aygfsteel.com/shaofan/archive/2006/05/17/46529.htmlshaofanshaofanWed, 17 May 2006 00:04:00 GMThttp://www.aygfsteel.com/shaofan/archive/2006/05/17/46529.htmlhttp://www.aygfsteel.com/shaofan/comments/46529.htmlhttp://www.aygfsteel.com/shaofan/archive/2006/05/17/46529.html#Feedback0http://www.aygfsteel.com/shaofan/comments/commentRss/46529.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/46529.html Sun 的Java EE 5l于发布了(上一版本UCJ2EEQ!q一版本可说是万众瞩目了Q目前在SUN的站点上已经提供下蝲。值得x的特ҎQ?/font>

"W一个商业的,比较完善的Java EE 5 实现
化开?-对编E模式的重新l织
支持EJB3.0--POJO
支持Java Persistence API , ORM更简?br />JAX-WS 2.0 以及 JAXB 2.0 使得开发web services 以及SOA应用更加便捷
JavaServer Faces 1.2--更简易开发AJAX
效率更高, 同时理和部|功能更强大
启动速度提高30%, 占用内存减少30%.
web services 效率提高臛_5?
web services 理更强?br />整合了NetBeans以及支持Eclipse plug-in
提供了整合NetBeans的可视化的SOA 开发以及部|?br />
Sun's Java System Application Server PE 9.0是完全开源的"

                                                 ----摘自www.Matrix.org.cn

它的l构如下图:


Matrix上的相关文章Qhttp://www.matrix.org.cn/resource/news/728_SUN+JavaEE5+SDK.html
SUN|站上的下蝲地址Qhttp://java.sun.com/javaee/downloads/index.jsp



shaofan 2006-05-17 08:04 发表评论
]]>
2005 Java 盘点& 2006 Java 展望[转]http://www.aygfsteel.com/shaofan/archive/2006/03/07/33994.htmlshaofanshaofanTue, 07 Mar 2006 01:56:00 GMThttp://www.aygfsteel.com/shaofan/archive/2006/03/07/33994.htmlhttp://www.aygfsteel.com/shaofan/comments/33994.htmlhttp://www.aygfsteel.com/shaofan/archive/2006/03/07/33994.html#Feedback0http://www.aygfsteel.com/shaofan/comments/commentRss/33994.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/33994.html或许我们会说Q过ȝ2005QJava界缺乏成l,但是却毫无疑问,Java遥遥领先于其他语a。从11月的语言排行榜Java遥遥领先Q到今年的Java图书销售统计上QJava图书销售L是C#?倍,PHP?.5倍,Perl?倍,Ruby/Python??
q以让我们?006充满惌?
不过Q还是让我们先回下2005?...  阅读全文

shaofan 2006-03-07 09:56 发表评论
]]>
被遗忘的一U提高Y件质量的Ҏ -- 契约式设?(Design by Contract)http://www.aygfsteel.com/shaofan/archive/2006/03/02/33103.htmlshaofanshaofanWed, 01 Mar 2006 16:55:00 GMThttp://www.aygfsteel.com/shaofan/archive/2006/03/02/33103.htmlhttp://www.aygfsteel.com/shaofan/comments/33103.htmlhttp://www.aygfsteel.com/shaofan/archive/2006/03/02/33103.html#Feedback4http://www.aygfsteel.com/shaofan/comments/commentRss/33103.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/33103.html阅读全文

shaofan 2006-03-02 00:55 发表评论
]]>
Cannot find action mapping??http://www.aygfsteel.com/shaofan/archive/2006/03/01/32974.htmlshaofanshaofanWed, 01 Mar 2006 02:44:00 GMThttp://www.aygfsteel.com/shaofan/archive/2006/03/01/32974.htmlhttp://www.aygfsteel.com/shaofan/comments/32974.htmlhttp://www.aygfsteel.com/shaofan/archive/2006/03/01/32974.html#Feedback4http://www.aygfsteel.com/shaofan/comments/commentRss/32974.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/32974.html        今天试着把大虑ֆ的系l登录模块加到我们现有的模块里来Q他写的时候因为有些试验的成分Q所以没有按照我们项目的配置来写Q也没有按照我们的模块来划分配置Q加q来以后重新配置了模块信息,l果居然无法正常q行。显C错误:“cannot retrieve action mapping  。废了九牛二虎之力,都无法解冟뀂web.xml、struts-config、模块配|,一切看h都无比的正常Q但是q行不了。真搞不清楚是哪里出了问题。还以ؓ搞不定,晚上要加班了Q谁知道Q踏破铁鞋无觅处Q柳暗花明又一村,在google上搜索关键字"action mapping 找不?Q第一个链接居然就是问题的{案Q(q从来没有只点一ơ就可以扑ֈ问题{案的经验,所以兴奋无比^O^Q?/P>

        ȝ来说Q问题的原因在于,struts是在W一ơ收到对action的请求(注意Q不包括jsp的请求)Ӟ提取q个h的url的\径信息,把相应模块的mapping信息讄到请求中?/STRONG>。如果在q入一个模块时Q第一ơ访问的是一个jsp面Q而在q个jsp面中提交到该模块的一个actionQ就会出现找不到action mapping的情c这是因ؓQ在q到q个模块Ӟ讉K的是jspQ这个模块的M一个action都没有被讉K刎ͼ所以struts的ActionServletq没有来得及把这个模块的mapping讄到请求中Q自然找不到该模块的action?/P>

        因此Q这引Z个约定,是pȝ中尽量避免对Jsp的直接访问,如果要访问也要通过action来forward。虽然看hȝ一点,但是安全性、健壮性都会有所提高?/P>

        关于以上提到的模块mapping的设|原理,具体的文章在q里Q不长)Q值得收藏Q?/P>

        原文链接Q?A >http://202.100.72.44/news/itschool/pro/pro44134.htm



shaofan 2006-03-01 10:44 发表评论
]]>
用Javascript和JSP标签在页面动态生成树http://www.aygfsteel.com/shaofan/archive/2006/02/26/32509.htmlshaofanshaofanSun, 26 Feb 2006 10:47:00 GMThttp://www.aygfsteel.com/shaofan/archive/2006/02/26/32509.htmlhttp://www.aygfsteel.com/shaofan/comments/32509.htmlhttp://www.aygfsteel.com/shaofan/archive/2006/02/26/32509.html#Feedback4http://www.aygfsteel.com/shaofan/comments/commentRss/32509.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/32509.html阅读全文

shaofan 2006-02-26 18:47 发表评论
]]>
用Tomcat插g在Eclipse上搭建可跟踪调试的J2EE WEB开发环?/title><link>http://www.aygfsteel.com/shaofan/archive/2006/02/26/32508.html</link><dc:creator>shaofan</dc:creator><author>shaofan</author><pubDate>Sun, 26 Feb 2006 10:39:00 GMT</pubDate><guid>http://www.aygfsteel.com/shaofan/archive/2006/02/26/32508.html</guid><wfw:comment>http://www.aygfsteel.com/shaofan/comments/32508.html</wfw:comment><comments>http://www.aygfsteel.com/shaofan/archive/2006/02/26/32508.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/shaofan/comments/commentRss/32508.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/shaofan/services/trackbacks/32508.html</trackback:ping><description><![CDATA[     摘要: 1.理J2EE工程:发布WEBE序,启动/关闭服务器等 <br>2.~辑JSP/HTML/XML:有代码提C?语法着?错误提示{功?<br>3.跟踪调试JSP/SERVLET:可设|断?单步执行,变量/?U程跟踪{?nbsp; <a href='http://www.aygfsteel.com/shaofan/archive/2006/02/26/32508.html'>阅读全文</a><img src ="http://www.aygfsteel.com/shaofan/aggbug/32508.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/shaofan/" target="_blank">shaofan</a> 2006-02-26 18:39 <a href="http://www.aygfsteel.com/shaofan/archive/2006/02/26/32508.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">ͭϿ</a>| <a href="http://" target="_blank">㽭ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ǿ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ǩ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˷</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">пǰ</a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ұ</a>| <a href="http://" target="_blank">߰</a>| <a href="http://" target="_blank">ګ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ԫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ԭ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank">β</a>| <a href="http://" target="_blank">˷</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨ʡ</a>| <a href="http://" target="_blank">ݳ</a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">˷</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>