??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美精品亚洲二区,亚洲一区二区不卡免费,国产精品视频二区三区http://www.aygfsteel.com/jialisoft/jquery教程http://www.software8.co/wzjs/jquery/zh-cnWed, 18 Jun 2025 09:31:28 GMTWed, 18 Jun 2025 09:31:28 GMT60Java开发:(x)jsp速度优化七种Ҏ(gu)http://www.aygfsteel.com/jialisoft/archive/2013/05/11/399136.html你爸是李?/dc:creator>你爸是李?/author>Sat, 11 May 2013 02:04:00 GMThttp://www.aygfsteel.com/jialisoft/archive/2013/05/11/399136.htmlhttp://www.aygfsteel.com/jialisoft/comments/399136.htmlhttp://www.aygfsteel.com/jialisoft/archive/2013/05/11/399136.html#Feedback0http://www.aygfsteel.com/jialisoft/comments/commentRss/399136.htmlhttp://www.aygfsteel.com/jialisoft/services/trackbacks/399136.htmljsp速度优化七种Ҏ(gu)
调整JSP和servlet的一些非常实用的Ҏ(gu)Q它可你的servlet和JSP面响应更快Q扩展性更强。而且在用h增加的情况下Q系l负载会(x)呈现出^滑上长的势。在本文中,我将通过一些实际例子和配置Ҏ(gu)使得你的应用E序的性能有出人意料的提升。其中,某些调优技术是在你的编E工作中实现的。而另一些技术是与应用服务器的配|相关的?        在本文中Q我们将详细地描q怎样通过调整servlet和JSP面Q来提高你的应用E序的M性能。在阅读本文之前Q假设你有基本的servlet和JSP的知识?br />Ҏ(gu)一Q在servlet的initQ)(j)Ҏ(gu)中缓存数?/strong>


当应用服务器初始化servlet实例之后Qؓ(f)客户端请求提供服务之前,它会(x)调用q个servlet的initQ)(j)Ҏ(gu)。在一个servlet的生命周期中QinitQ)(j)Ҏ(gu)只会(x)被调用一ơ。通过在initQ)(j)Ҏ(gu)中缓存一些静态的数据或完成一些只需要执行一ơ的、耗时的操作,可大大地提高系l性能?        例如Q通过在initQ)(j)Ҏ(gu)中徏立一个JDBCq接池是一个最佳例子,假设我们是用jdbc2.0的DataSource接口来取得数据库q接Q在通常的情况下Q我们需要通过JNDI来取得具体的数据源。我们可以想象在一个具体的应用中,如果每次SQLh都要执行一ơJNDI查询的话Q那pȝ性能会(x)急剧下降。解x法是如下代码Q它通过~存DataSourceQ得下一ơSQL调用时仍然可以l利用它Q?br />public class ControllerServlet extends HttpServlet { private javax.sql.DataSource testDS = null; public void initQServletConfig configQ?throws ServletException { super.initQconfigQ? Context ctx = null; try { ctx = new InitialContextQ)(j); testDS = Qjavax.sql.DataSourceQctx.lookupQ?#8220;jdbc/testDS”Q? } catchQNamingException neQ?{ ne.printStackTraceQ)(j); } catchQException eQ?{ e.printStackTraceQ)(j); } } public javax.sql.DataSource getTestDSQ)(j) { return testDS; }   ?.   ?. }QnextpageQ?br />Ҏ(gu) 2Q禁止servlet和JSP 自动重蝲Qauto-reloadingQ?/strong>


Servlet/JSP提供了一个实用的技术,卌动重载技术,它ؓ(f)开发h员提供了一个好的开发环境,当你改变servlet和JSP面后而不必重启应用服务器。然而,q种技术在产品q行阶段对系l的资源是一个极大的损耗,因ؓ(f)它会(x)lJSP引擎的类装蝲器(classloaderQ带来极大的负担。因此关闭自动重载功能对pȝ性能的提升是一个极大的帮助?br />Ҏ(gu) 3Q?不要滥用HttpSession


在很多应用中Q我们的E序需要保持客L(fng)的状态,以便面之间可以怺联系。但不幸的是׃HTTPh天生无状态性,从而无法保存客L(fng)的状态。因此一般的应用服务器都提供了session来保存客L(fng)状态。在JSP应用服务器中Q是通过HttpSession对像来实现session的功能的Q但在方便的同时Q它也给pȝ带来了不的负担。因为每当你获得或更新sessionӞpȝ者要对它q行Ҏ(gu)的序列化操作。你可以通过对HttpSession的以下几U处理方式来提升pȝ的性能Q?/p>

如果没有必要Q就应该关闭JSP面中对HttpSession的缺省设|:(x) 如果你没有明指定的话,每个JSP面都会(x)~省地创Z个HttpSession。如果你的JSP中不需要用session的话Q那可以通过如下的JSP面指示W来止它:(x) Q?@ page session=“false”%Q?/p>

不要在HttpSession中存攑֤的数据对像:(x)如果你在HttpSession中存攑֤的数据对像的话,每当对它q行dӞ应用服务器都对其进行序列化Q从而增加了pȝ的额外负担。你在HttpSession中存攄数据对像大Q那pȝ的性能׃降得快?         当你不需要HttpSessionӞ快地释攑֮Q当你不再需要sessionӞ你可以通过调用HttpSession.invalidateQ)(j)Ҏ(gu)来释攑֮?/p>

量session的超时时间设得短一点:(x)在JSP应用服务器中Q有一个缺省的session的超时时间。当客户在这个时间之后没有进行Q何操作的话,pȝ?x)将相关的session自动从内存中释放。超时时间设得越大,pȝ的性能׃(x)低Q因此最好的Ҏ(gu)是量使得它的g持在一个较低的水^?br />Ҏ(gu) 4Q?页面输行压~?/strong>


压羃是解x据冗余的一个好的方法,特别是在|络带宽不够发达的今天。有的浏览器支持gzipQGNU zipQ进行来对HTML文gq行压羃Q这U方法可以戏剧性地减少HTML文g的下载时间?        因此Q如果你servlet或JSP面生成的HTML面q行压羃的话Q那用户׃(x)觉得面览速度?x)非常快。但不幸的是Q不是所有的览器都支持gzip压羃Q但你可以通过在你的程序中(g)查客L(fng)览器是否支持它。下面就是关于这U方法实现的一个代码片D:(x) public void doGetQHttpServletRequest requestQ?HttpServletResponse responseQ?throws IOExceptionQ?ServletException { OutputStream out = null String encoding = request.getHeaderQ?#8220;Accept-Encoding”Q? if Qencoding Q? null && encoding.indexOfQ?#8220;gzip”Q?Q? -1Q?{ request.setHeaderQ?#8220;Content-Encoding” Q?“gzip”Q? out = new GZIPOutputStreamQrequest.getOutputStreamQ)(j)Q? } else if Qencoding Q? null && encoding.indexOfQ?#8220;compress”Q?Q? -1Q?{ request.setHeaderQ?#8220;Content-Encoding” Q?“compress”Q? out = new ZIPOutputStreamQrequest.getOutputStreamQ)(j)Q? } else { out = request.getOutputStreamQ)(j); } ?. ?. }QnextpageQ?br />Ҏ(gu) 5Q?使用U程?/strong>
应用服务器缺省地为每个不同的客户端请求创Z个线E进行处理,qؓ(f)它们分派serviceQ)(j)Ҏ(gu)Q当serviceQ)(j)Ҏ(gu)调用完成后,与之相应的线E也随之撤消。由于创建和撤消U程?x)耗费一定的pȝ资源Q这U缺省模式降低了pȝ的性能。但所q的是我们可以通过创徏一个线E池来改变这U状c(din)?        另外Q我们还要ؓ(f)q个U程池设|一个最线E数和一个最大线E数。在应用服务器启动时Q它?x)创建数量等于最线E数的一个线E池Q当客户有请求时Q相应地从池从取Z个线E来q行处理Q当处理完成后,再将U程重新攑օ到池中。如果池中的U程不够地话Q系l会(x)自动地增加池中线E的数量Q但总量不能过最大线E数。通过使用U程池,当客L(fng)h急剧增加Ӟpȝ的负载就?x)呈现的qx的上升曲U,从而提高的pȝ的可伸羃性?br />Ҏ(gu) 6Q?选择正确的页面包含机?/strong>


在JSP中有两种Ҏ(gu)可以用来包含另一个页?1、用include指示W(Q?@ includee file=”test.jsp” %Q)(j)?2、用jsp指示W(Qjsp:includee page=”test.jsp” flush=”true”/Q)(j)?在实际中我发玎ͼ如果使用W一U方法的话,可以使得pȝ性能更高?br />Ҏ(gu) 7Q正地定javabean的生命周?/strong>


JSP的一个强大的地方是对javabean的支持。通过在JSP面中用<jsp:useBeanQ标{,可以javabean直接插入C个JSP面中。它的用方法如下:(x)
Qjsp:useBean id=“name” scope=“page|request|session|application” class= “package.className” type=“typeName”Q</jsp:useBeanQ?其中scope属性指Zq个bean的生命周期。缺省的生命周期为page。如果你没有正确地选择bean的生命周期的话,它将影响pȝ的性能?br />举例来说Q如果你只想在一ơ请求中使用某个beanQ但你却这个bean的生命周期设|成了sessionQ那当这ơ请求结束后Q这个bean仍然保留在内存中,除非session时或用户关闭浏览器。这样会(x)耗费一定的内存Qƈ无谓的增加了JVM垃圾攉器的工作量。因此ؓ(f)bean讄正确的生命周期,q在bean的命结束后快地清理它们,?x)用系l性能有一个提高?        其它一些有用的Ҏ(gu) 在字W串q接操作中尽量不使用“Q?#8221;操作W:(x)在java~程中,我们常常使用“Q?#8221;操作W来几个字W串q接hQ但你或总来没有想到过它居然会(x)对系l性能造成影响吧?׃字符串是帔RQ因此JVM?x)生一些(f)时的对像。你使用?#8220;Q?#8221;多Q生成的临时对像p多,q样也会(x)l系l性能带来一些媄(jing)响。解决的Ҏ(gu)是用StringBuffer对像来代?#8220;Q?#8221;操作W?/p>

避免使用System.out.printlnQ)(j)Ҏ(gu)Q由于System.out.printlnQ)(j)是一U同步调用,卛_调用它时Q磁盘I(y)/O操作必须{待它的完成Q因此我们要量避免对它的调用。但我们在调试程序时它又是一个必不可的方便工具Qؓ(f)了解册个矛盾,我徏议你最好用Log4j工具Q?span style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-family: inherit; vertical-align: baseline; color: #ff0000;">http://Jakarta.apache.org; Q,它既可以方便调试Q而不?x)生System.out.printlnQ)(j)q样的方法?/p>

ServletOutputStream ?PrintWriter的权衡:(x)使用PrintWriter可能?x)带来一些小的开销Q因为它?yu)所有的原始输出都{换ؓ(f)字符来输出Q因此如果用它来作为页面输出的话,pȝ要负担一个{换过E。而用ServletOutputStream作ؓ(f)面输出的话׃存在一个问题,但它是以二进制进行输出的。因此在实际应用中要权衡两者的利弊?/p>

通过对servlet和JSP(Java开?/a>)的一些调优技术来极大地提高你的应用程序的性能Qƈ因此提升整个J2EE应用的性能。通过q些调优技术,你可以发现其实ƈ不是某种技术^収ͼ比如J2EE?NET之争Q决定了你的应用E序的性能Q重要是你要对这U^台有一个较为深入的了解Q这样你才能从根本上对自q应用E序做一个优化!



]]>
q没钱没工作没h友,我也要自己扛http://www.aygfsteel.com/jialisoft/archive/2013/05/07/398901.html你爸是李?/dc:creator>你爸是李?/author>Tue, 07 May 2013 01:03:00 GMThttp://www.aygfsteel.com/jialisoft/archive/2013/05/07/398901.htmlhttp://www.aygfsteel.com/jialisoft/comments/398901.htmlhttp://www.aygfsteel.com/jialisoft/archive/2013/05/07/398901.html#Feedback0http://www.aygfsteel.com/jialisoft/comments/commentRss/398901.htmlhttp://www.aygfsteel.com/jialisoft/services/trackbacks/398901.html如果(zhn)也是创业者或者对上面的谷歌广告感兴趣Q希望可以帮忙点下,谢谢了?/span>W一ơ来blogjavaQ是因ؓ(f)刚开始从事IDCq个行业。每天工作需要,不得不承认,在这里我认识了命q、笨W、晓明、小样儿q有很多的朋友?/span>

大学毕业刚开始工作,工资q不是很高。我不知道是谁给了大Z个概念,说是大学毕业以后p扑ֈ一分好的工作,有比较高的工资,q且能够光宗耀?/span>

W一ơ发工资Q上了二十七的班Q当时我们的工资?00元的底薪+提成。根据业l的总额不同Q提成点也不一栗?/span>

我非常清楚的记得当时发了636块钱。虽焉不多Q但是心里特别高兴。再到第二个月的时候,工资慢慢的开始向上涨Q发?89块钱。我记得更清楚,当时的提成本来才有一癑֤块钱。但是老板看我特别的努力,在同期进来的Ch里面是相当不错的了,奖励了我一癑օ。就是这么一癑օQ让我坚持了两年?/span>

刚走出社?x),很多的大学毕业生都处在一个特别盲目的状态,当时自己也是凭着初生牛犊不畏虎的_一直在拼命的向前进。每天都在不断的忙碌着Q刚参加工作的第三个月里Q甚臛_到n体出了问题。每天公怹(ji)点上班,八点半就到公司;五点半下班,C八点才下班回家。那一q体重从110直接掉到?5Q回学校拿毕业证的时候,同学见到p瘦了?/span>

辗{Q已l出来工作三q了。只是无论我再怎么努力Q得到老板的认可,但是父母q边是没有办法理解。L觉得我的工低特别的低Q经常说风凉话,而且N后炮?/span>

W一ơ工资发了以后给了父亲四癑օQ当时我都不知道自己怎么那么大的本命Q只l自q下二癑֤元的生活贏V那q刚出来工作的时候,父母q了我七百元钱Q当时要自己U房子,做饭吃,q需要一些其实的pQ我们条件确实不大好Q我也没有多做要求,非要父母l我多几癑֝钱,当时跟我住一L(fng)女生Q出来的时候,w上带了四千Q父母各l了2000。我从不去计较这些东西,想着父母送我上大学比较篏了,只希望以后工作了可以报答他们?/span>

那年弟弟上高中了Q他W一ơ问我多钱工资一个月Ӟ知道l果的那个表情,那不屑的态度Q超Z我的范围。当时我的工资,在我们班很多同学里面而言Q算是不错的了。很多同学当时的工资都只有几百一千多点儿Q而我那时的工资差不多每个月都是一千五C靠左叻I再到后面的那q_(d)工资也从最开始的六百多到了三千多。比同期我们班在深圳q州工作的同学的工资都要高,只是他们q是嫌弃我的工资低?/span>

d换了一份工作,是跟安的一位亲戚在q州做会(x)计文员类的工作,工资实不高。只?500Q但是管吃管住以后,q是有比较两千来块的l余的。^时自己在|上q能赚点零花钱,差不多加hQ也有三千多块吧。我家老ُ在广州做|站Q每个月工资差不多也是三千多点Q还得自己吃住R马费什么的。但是,在我父母眼里看来Q他们还是嫌弃我的工资低了?/span>

q年回家以后Q他们也不再说钱的问题,讲到谈婚论嫁的事情,也跟他们商量q今q工作发展的方向Q准备来Z城发展。当时他们也不发表什么意见,而且反复的问q,有没有什么意见可以提的,当时又不说。最q几ơ打?sh)话回家Q就天天在说我工资的问题Q我诚认我的工资现在是不高,可是重新开始是需要一个过E的Q我当时坚持的他们拼命的反对Q甚x健康说事Q现在却又来说什么我工资?/span>

他们老说Q只要我嫁了Z不在我。那我想Q是不是只要我嫁了,q的不再管我?

刚毕业的时候,天天催着我要钱,我刚开始工作,哪里来的钱。现在又在天天催着我结婚,天天问我来要钱。我是个什么命啊,工作三年Q也l了他们两万来块Q^时买了的衣服Q交话费Q给他们买项链习(fn)冰箱Q难道这些都不是钱吗Q你们可以不要只问我要钱吗?我现在生zdl够׃Q能不能不要每次都拖我的后腿Q每ơ都说风凉话Q每ơ都N后炮Q?/span>

我知道自己即跨入圣女的q龄Q我也知道没q隑֤。只是你们是我的亲hQ我希望在你们帮助不了我的情况下Q能够多理解一下我。我惻I如果哪一天,我变得无情了Q跟你们应该M了多关p~~~

哎,一上午q去了。回忆了q么多,发泄了这么多。心情好一点吧Q?/span>

发泄完了Q无论生z还是工作都需要坚持,我始l相信坚持下去都?x)有好的l果。就没钱没工作没男朋友Q我也要自己扛! 

需要正能量?/span>


愿我们的生活如花儿一L(fng)Q如蜜一L(fng)Q如阛_一般灿烂?/span>

]]>
Spring中@Autowired注解、@Resource注解的区?/title><link>http://www.aygfsteel.com/jialisoft/archive/2013/05/06/398830.html</link><dc:creator>你爸是李?/dc:creator><author>你爸是李?/author><pubDate>Mon, 06 May 2013 01:52:00 GMT</pubDate><guid>http://www.aygfsteel.com/jialisoft/archive/2013/05/06/398830.html</guid><wfw:comment>http://www.aygfsteel.com/jialisoft/comments/398830.html</wfw:comment><comments>http://www.aygfsteel.com/jialisoft/archive/2013/05/06/398830.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jialisoft/comments/commentRss/398830.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jialisoft/services/trackbacks/398830.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">    Spring不但支持自己定义的@Autowired注解Q还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及(qing)@PreDestroy?br style="margin: 0px; padding: 0px;" />  @Resource的作用相当于@AutowiredQ只不过@Autowired按byType自动注入Q而@Resource默认?byName自动注入|了。@Resource有两个属性是比较重要的,分是name和typeQSpring@Resource注解的name属性解析ؓ(f)bean的名字,而type属性则解析为bean的类型。所以如果用name属性,则用byName的自动注入策略,而用type属性时则用byType自动注入{略。如果既不指定name也不指定type属性,q时通过反射机制使用byName自动注入{略?br style="margin: 0px; padding: 0px;" />  <strong>@Resource装配序</strong><br style="margin: 0px; padding: 0px;" />  1. 如果同时指定了name和typeQ则从Spring上下文中扑ֈ唯一匚w的beanq行装配Q找不到则抛出异?br style="margin: 0px; padding: 0px;" />  2. 如果指定了nameQ则从上下文中查扑֐UͼidQ匹配的beanq行装配Q找不到则抛出异?br style="margin: 0px; padding: 0px;" />  3. 如果指定了typeQ则从上下文中找到类型匹配的唯一beanq行装配Q找不到或者找到多个,都会(x)抛出异常<br style="margin: 0px; padding: 0px;" />  4. 如果既没有指定nameQ又没有指定typeQ则自动按照byName方式q行装配Q如果没有匹配,则回退Z个原始类型进行匹配,如果匚w则自动装配;</p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;"><strong>@Autowired 与@Resource的区别:(x)</strong></p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;"><span style="margin: 0px; padding: 0px;">1?nbsp;<span style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px;">@Autowired</span></span>与@Resource都可以用来装配bean. 都可以写在字D上,或写在setterҎ(gu)上?/span></p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;"><span style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px;">2?nbsp;<span style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px;">@Autowired默认按类型装配(q个注解是属业spring的)(j)Q默认情况下必须要求依赖对象必须存在Q如果要允许null|可以讄它的required属性ؓ(f)falseQ如Q@Autowired(required=false) Q如果我们想使用名称装配可以l合@Qualifier注解q行使用Q如下:(x)</span></span></span></span></span></p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;"> </p><div class="wmqeeuq" id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java代码  <a href="" title="收藏q段代码" style="color: #108ac6;"><img src="http://agileshell.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #646464;">@Autowired</span>() <span style="color: #646464;">@Qualifier</span>("baseDao")  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">private</span> BaseDao baseDao;  </li></ol></div><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;"> </p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;"> </p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;"><span style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px;">3、@ResourceQ这个注解属于J2EE的)(j)Q默认安装名U进行装配,名称可以通过name属性进行指定,如果没有指定name属性,当注解写在字D上Ӟ默认取字D名q行安装名称查找Q如果注解写在setterҎ(gu)上默认取属性名q行装配。当找不C名称匚w的bean时才按照cdq行装配?span style="color: #ff0000;">但是需要注意的是,如果name属性一旦指定,只?x)按照名U进行装配?/span></span></span></span></span></span></p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;"> </p><div class="wmqeeuq" id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java代码  <a href="" title="收藏q段代码" style="color: #108ac6;"><img src="http://agileshell.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #646464;">@Resource</span>(name="baseDao")  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">private</span> BaseDao baseDao;  </li></ol></div><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;"> </p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;"><span style="color: #ff0000;"><span style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px;">推荐使用Q@Resource注解在字D上Q这样就不用写setterҎ(gu)了,q且q个注解是属于J2EE的,减少了与spring的耦合。这样代码看起就比较优雅?/span></span></span></span></span></span></p><img src ="http://www.aygfsteel.com/jialisoft/aggbug/398830.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jialisoft/" target="_blank">你爸是李?/a> 2013-05-06 09:52 <a href="http://www.aygfsteel.com/jialisoft/archive/2013/05/06/398830.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>E序员选择字体的标准是?http://www.aygfsteel.com/jialisoft/archive/2013/05/04/398784.html你爸是李?/dc:creator>你爸是李?/author>Sat, 04 May 2013 06:26:00 GMThttp://www.aygfsteel.com/jialisoft/archive/2013/05/04/398784.htmlhttp://www.aygfsteel.com/jialisoft/comments/398784.htmlhttp://www.aygfsteel.com/jialisoft/archive/2013/05/04/398784.html#Feedback0http://www.aygfsteel.com/jialisoft/comments/commentRss/398784.htmlhttp://www.aygfsteel.com/jialisoft/services/trackbacks/398784.html整理自我?SF 上的回答Q?/div>
 
本来?大家都用什么字体写代码的?中推荐了一Ƒ֭体,怿也是很多E序员的首选字体:(x)Consolas。正好又看到有h提问Q?#8220;E序员选择字体的标准是?”?/div>
 
其实选择字体的标准很单:(x)
 
非常清晰QCrisp clear charactersQ?/div>
支持扩展字符集(Extended charactersetQ否则会(x)出现q或者方?/div>
对空白把握的很好Q包括但不限于空根{非中断I格、制表符…Q?/div>
可轻易区?#8217;l', ‘1′ ?‘i’
可轻易区?#8217;0′, ‘o’ ?‘O’
可轻易区分左叛_?- 最好是对称?/div>
清晰的标点符P特别是大括号括号和中括?/div>

]]>深入了解Mina框架中如何传送(消息+附gQ实现方?/title><link>http://www.aygfsteel.com/jialisoft/archive/2013/05/03/398716.html</link><dc:creator>你爸是李?/dc:creator><author>你爸是李?/author><pubDate>Fri, 03 May 2013 02:25:00 GMT</pubDate><guid>http://www.aygfsteel.com/jialisoft/archive/2013/05/03/398716.html</guid><wfw:comment>http://www.aygfsteel.com/jialisoft/comments/398716.html</wfw:comment><comments>http://www.aygfsteel.com/jialisoft/archive/2013/05/03/398716.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jialisoft/comments/commentRss/398716.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jialisoft/services/trackbacks/398716.html</trackback:ping><description><![CDATA[<div>最q两天被I(xin)oBuffer搞的头晕目眩的,故单独写了个cL试。如果要学习(fn)mina框架Q该博客有助于实现mina中的如何消息+附g的传送?/div><div>描述Q模拟消息解析?/div><div>W一步:(x)构徏SmsObject对象</div><div>W二步:(x)对象设|到IoBuffer?</div><div>W三步:(x)从IoBuffer中将对象解析出来Q解析结果包含附Ӟ(j);</div><div></div><div>l测试解析通过Q注意代码如?/div><div>package com.dmis.mina.dx3;</div><div>import java.io.ByteArrayOutputStream;</div><div>import java.io.File;</div><div>import java.io.FileInputStream;</div><div>import java.io.FileOutputStream;</div><div>import java.io.IOException;</div><div>import java.io.InputStream;</div><div>import java.io.OutputStream;</div><div>import java.nio.charset.Charset;</div><div>import java.nio.charset.CharsetDecoder;</div><div>import java.nio.charset.CharsetEncoder;</div><div>import java.util.ArrayList;</div><div>import java.util.List;</div><div>import org.apache.mina.core.buffer.IoBuffer;</div><div>/**</div><div> * IoBuffer试</div><div> *  </div><div> * @author jrunner</div><div> */</div><div>public class Test03 {</div><div> public static void main(String[] args) throws Exception {</div><div>  System.out.println("W一步:(x)构徏SmsObject对象");</div><div>  List fileInfos = new ArrayList();</div><div>  FileInfo f = new FileInfo();</div><div>  File file = new File("c:\\test.txt");</div><div>  f.setContent(file);</div><div>  f.setFileName(file.getName());</div><div>  f.setFileNameLength(f.getFileName().length());</div><div>  f.setContentLength((int) file.length());</div><div>  fileInfos.add(f);</div><div>  f = new FileInfo();</div><div>  file = new File("c:\\FeiQ.exe");</div><div>  f.setContent(file);</div><div>  f.setFileName(file.getName());</div><div>  f.setFileNameLength(f.getFileName().length());</div><div>  f.setContentLength((int) file.length());</div><div>  fileInfos.add(f);</div><div>  SmsObject sms = new SmsObject();</div><div>  sms.setSender("158010122x");</div><div>  sms.setReceiver("188696999x");</div><div>  sms.setMessage("你好啊!");</div><div>  sms.setFileInfos(fileInfos);</div><div>  System.out.println("=========================================================");</div><div>  System.out.println("W二步:(x)对象设|到IoBuffer?);</div><div>  Charset cs = Charset.forName("UTF-8");</div><div>  CharsetDecoder cd = cs.newDecoder();</div><div>  CharsetEncoder ce = cs.newEncoder();</div><div>  IoBuffer buffer = IoBuffer.allocate(100).setAutoExpand(true);</div><div>  buffer.putString("http://jrunner.blog.51cto.com", ce);// 状?/div><div>  buffer.putString(sms.getSender(), ce);// 发送?/div><div>  buffer.putString(sms.getReceiver(), ce);// 接受?/div><div>  buffer.putString(sms.getMessage(), ce);// 内容</div><div>  buffer.putLong(89898989989898L);</div><div>  for (int i = 0; i < sms.getFileInfos().size(); i++) {</div><div>   FileInfo info = sms.getFileInfos().get(i);</div><div>   buffer.putInt(info.getFileNameLength());// 讄文g名长?/div><div>   buffer.putInt(info.getContentLength());// 讄文g大小</div><div>   buffer.putString(info.getFileName(), ce);// 讄文g?/div><div>   buffer.put(inputStreamToByte(new FileInputStream(info.getContent())));// 讄文g内容</div><div>  }</div><div>  System.out.println("W三步:(x)从IoBuffer中将对象解析出来");</div><div>  buffer.flip();</div><div>  System.out.println(buffer.limit());</div><div>  System.out.println(buffer.getString("http://jrunner.blog.51cto.com".getBytes().length+sms.getSender().getBytes().length+sms.getReceiver().getBytes().length + sms.getMessage().length() * 3, cd));</div><div>  System.out.println(buffer.getLong());</div><div>  System.out.println("------------------");</div><div>  for (int i = 0; i < sms.getFileInfos().size(); i++) {</div><div>   System.out.println("解析文g?..");</div><div>   int L1 = buffer.getInt();// 文g名称长度</div><div>   System.out.println("File Name LengthQ? + L1);</div><div>   int L2 = buffer.getInt();// 文g内容长度</div><div>   System.out.println("File Content LengthQ? + L2);</div><div>   String fileName = buffer.getString(L1, cd);</div><div>   System.out.println("FileNameQ? + fileName);</div><div>   byte[] data = new byte[L2];</div><div>   int k = 0; </div><div>   while (buffer.hasRemaining()) {</div><div>    data[k] = buffer.get();</div><div>    k++;</div><div>    if (k == L2) {</div><div>     k = 0;</div><div>     break;</div><div>    }</div><div>   }</div><div>   File fs = new File("d:\\002_" + fileName);</div><div>   OutputStream out = new FileOutputStream(fs);</div><div>   out.write(data);</div><div>   out.flush();</div><div>   out.close();</div><div>  }</div><div> }</div><div> public static byte[] inputStreamToByte(InputStream inStream) throws IOException {</div><div>  ByteArrayOutputStream swapStream = new ByteArrayOutputStream();</div><div>  int rc;</div><div>  while ((rc = inStream.read()) != -1) {</div><div>   swapStream.write(rc);</div><div>  }</div><div>  byte[] in2b = swapStream.toByteArray();</div><div>  return in2b;</div><div> }</div><div>}</div><div>======================================================</div><div>public class FileInfo {</div><div> private File content;</div><div> private String fileName; </div><div> private int contentLength;</div><div> private int fileNameLength;</div><div>}</div><div>public class SmsObject {</div><div> private String sender;// 短信发送?/div><div> private String receiver;// 短信接受?/div><div> private String message;// 短信内容 </div><div> private List<FileInfo> fileInfos;</div><div>}</div><img src ="http://www.aygfsteel.com/jialisoft/aggbug/398716.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jialisoft/" target="_blank">你爸是李?/a> 2013-05-03 10:25 <a href="http://www.aygfsteel.com/jialisoft/archive/2013/05/03/398716.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java数据写入到txt文g中(txt有固定的格式Q?/title><link>http://www.aygfsteel.com/jialisoft/archive/2013/05/02/398648.html</link><dc:creator>你爸是李?/dc:creator><author>你爸是李?/author><pubDate>Thu, 02 May 2013 02:08:00 GMT</pubDate><guid>http://www.aygfsteel.com/jialisoft/archive/2013/05/02/398648.html</guid><wfw:comment>http://www.aygfsteel.com/jialisoft/comments/398648.html</wfw:comment><comments>http://www.aygfsteel.com/jialisoft/archive/2013/05/02/398648.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jialisoft/comments/commentRss/398648.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jialisoft/services/trackbacks/398648.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">java数据写入到txt文g中,q个应该对于学过java I/O的h来说是很单的事情了,但是如果要将数据以固定的格式写入到txt文g中,需要一定的技巧了?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">q里举个单的例子Q以供参考:(x)</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">比如我要数据写成下面的样子Q?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">1      |      2      |        3       |        4</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">5      |      6      |        8       |        9   </p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">也许看v来很单的Q因为每个数据所代表的长度是不一L(fng)Q也有可能编码不一P所有在你看来很单的事情׃应那么容易实C。必要每一个竖U和他下面的竖线是对其的?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">q里׃再将写数据的q程提出来了Q重Ҏ(gu)让每一列的数据都能有一个同L(fng)宽度Q?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><div bg_html"="" style="width: 959.296875px; line-height: 26px;"><div><div><strong>[html]</strong> <a title="view plain" style="background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-position: 0% 0%; background-repeat: no-repeat no-repeat;">view plain</a><a title="copy" style="background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-position: 0% 0%; background-repeat: no-repeat no-repeat;">copy</a></div></div><ol start="1"><li style="line-height: 18px;">public String formatStr(String str, int length) {  </li><li style="line-height: 18px;">        <span style="color: red;">str</span> = <span style="color: blue;">"  "</span>+str;  </li><li style="line-height: 18px;">        int <span style="color: red;">strLen</span> = <span style="color: blue;">str</span>.getBytes().length;  </li><li style="line-height: 18px;">        if (strLen <span style="color: #993300; font-weight: bold;"><</span> <span style="color: #993300; font-weight: bold;">length</span>) {  </li><li style="line-height: 18px;">            int <span style="color: red;">temp</span> = <span style="color: blue;">length</span> - strLen;  </li><li style="line-height: 18px;">            for (int <span style="color: red;">i</span> = <span style="color: blue;">0</span>; i <span style="color: #993300; font-weight: bold;"><</span> <span style="color: #993300; font-weight: bold;">temp</span>; i++) {  </li><li style="line-height: 18px;">                str += " ";  </li><li style="line-height: 18px;">            }  </li><li style="line-height: 18px;">        }  </li><li style="line-height: 18px;">        return str ;  </li><li style="line-height: 18px;">    }   </li></ol></div><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">先讲解一个这个方法的作用Q对于参数str而言Q如果他的字节长度小于参数l(f)ength的话Q就用空D齐?/span><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">q样做,有个问题Q就是怎么定length的长度ؓ(f)多少合适呢Q?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">如果数据是从数据库中查找出来的,那么取数据库中q个字段的最大长度即可。如果是从文件中d的,那么最好就是遍历一下整个文Ӟ从中获取每个字段的最大长度?/p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">最后将Ҏ(gu)q回的str用输出流写入到文件中Q换行的话用out.write(lineSeparator)卛_?nbsp;</p><img src ="http://www.aygfsteel.com/jialisoft/aggbug/398648.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jialisoft/" target="_blank">你爸是李?/a> 2013-05-02 10:08 <a href="http://www.aygfsteel.com/jialisoft/archive/2013/05/02/398648.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mootools 中empty()和destroy()区别http://www.aygfsteel.com/jialisoft/archive/2013/04/27/398493.html你爸是李?/dc:creator>你爸是李?/author>Sat, 27 Apr 2013 03:18:00 GMThttp://www.aygfsteel.com/jialisoft/archive/2013/04/27/398493.htmlhttp://www.aygfsteel.com/jialisoft/comments/398493.htmlhttp://www.aygfsteel.com/jialisoft/archive/2013/04/27/398493.html#Feedback0http://www.aygfsteel.com/jialisoft/comments/commentRss/398493.htmlhttp://www.aygfsteel.com/jialisoft/services/trackbacks/398493.htmlempty()
删除所有子元素
语法:
myElement.empty();
q回?
(element) 主调元素
CZ:
HTML
<div id="myElement">
    <p></p>
    <span></span>
</div>
JavaScript
$('myElement').empty();
l果 HTML
<div id="myElement"></div>
Element Ҏ(gu): destroy
删除元素自n?qing)其所有子元素(q进行内存垃圾收?
语法:
myElement.destroy();
q回?
(null)
另外我发C个部里,比如一lclassName="option"的数l时Q用$$('.option').empty(),不v作用Q可能此Ӟempty对id起作?/div>
而用$$('.option').destroy()可以?/div>

]]>Comparator与Comparable的区别?http://www.aygfsteel.com/jialisoft/archive/2013/04/18/398033.html你爸是李?/dc:creator>你爸是李?/author>Thu, 18 Apr 2013 08:13:00 GMThttp://www.aygfsteel.com/jialisoft/archive/2013/04/18/398033.htmlhttp://www.aygfsteel.com/jialisoft/comments/398033.htmlhttp://www.aygfsteel.com/jialisoft/archive/2013/04/18/398033.html#Feedback0http://www.aygfsteel.com/jialisoft/comments/commentRss/398033.htmlhttp://www.aygfsteel.com/jialisoft/services/trackbacks/398033.html相同点:(x)都是用于比较Q排序的接口。例如对于List对象Q如果存储的对象cd不是自定义的Q像String那样已经实现了Comparable接口Q可以直接Collections.sort(Stringlistname)Q就可以排出序来了。而对于自定义的对象类型,需要我们自己去实现Comparator或者Comparable接口?/p>

 

不同点:(x)Comparable是在自定义类的内部实现的Q在cd明的地方加上implements Comparable,然后在其内部实现compareҎ(gu)。Comparator是在自定义类的外部自定义一个比较类Q这个比较类要实现Comparator接口Q实现compareҎ(gu)。也可以不具体定义一个比较类Q直接在Comparator的内部将compareҎ(gu)实现可以了。M是要自己实C个比较器?/div>
下面通过代码直观的说明:(x)
自定义类为A1Q?br />
 Q?QA1cd实现ComparableQ?/strong>

 q行排序验证Q?img src="http://dl.iteye.com/upload/attachment/0083/2791/b12f4506-472e-3323-831c-5417ed638ea3.jpg" alt="" style="border: 0px;" />
 输出l果Q?/div>
Q?QA1cd实现ComparatorQ?/strong>
①定义一个具体的cd现ComparatorQ?/div>
q行排序验证Q?nbsp;
 输出l果同上?div>②无需定义一个具体的实现c,直接new一个ComparatorQ?/div>

 输出l果同上?/div>
l合Q?/strong>两种Ҏ(gu)各有优劣Q实现Comparable的方法,一x逸,但是需要修改自定义cȝ源代码。Comparator不需要修Ҏ(gu)代码Q但是需要在使用的地方对Comparatorq行实现?br />原文 Qwww.hzlxwx.com


]]>用SAXQJDK自带APIQ解析XML文ghttp://www.aygfsteel.com/jialisoft/archive/2013/04/15/397874.html你爸是李?/dc:creator>你爸是李?/author>Mon, 15 Apr 2013 09:58:00 GMThttp://www.aygfsteel.com/jialisoft/archive/2013/04/15/397874.htmlhttp://www.aygfsteel.com/jialisoft/comments/397874.htmlhttp://www.aygfsteel.com/jialisoft/archive/2013/04/15/397874.html#Feedback0http://www.aygfsteel.com/jialisoft/comments/commentRss/397874.htmlhttp://www.aygfsteel.com/jialisoft/services/trackbacks/397874.html

解析的工L(fng)l承org.xml.sax.helpers.DefaultHandlerQ然后覆盖父cȝ几个Ҏ(gu)卛_。方法的详细解释可以参照JDK的API文档?/p>

  • startDocument() 开始解析XML时被调用Q一般可以用来做初始化操作?/span>
  • startElement() 解析到某个元素(标签Q的开头时Q例?name>Q被调用Q一般用来判断是否已开始解析某特定元素Q标{)(j)?/name>
  • endElement() 解析完某个元素(标签Q时Q例如)(j)被调用,一般在此对某些逻辑标记做重|操作?/li>
  • characters()  解析到某个文本元素(例如张三Q时被调用,一般在此方法中取|需要结合startElement()Ҏ(gu)中设|的逻辑标志q行判断是否解析到XML文档中特定的位置?/li>

下面是一个实例:(x)

Java代码:
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.io.File;
  4. import java.io.IOException;
  5. import javax.xml.parsers.ParserConfigurationException;
  6. import javax.xml.parsers.SAXParser;
  7. import javax.xml.parsers.SAXParserFactory;
  8. import org.xml.sax.Attributes;
  9. import org.xml.sax.SAXException;
  10. import org.xml.sax.helpers.DefaultHandler;
  11. public class URLPatternSAXParser extends DefaultHandler{
  12. private List urlPatternList;
  13. private boolean isSecurityConstraint;
  14. private boolean isWebResourceCollection;
  15. private boolean isUrlPattern;
  16. private final String elementSecurityConstraint = "security-constraint";
  17. private final String elementWebResourceCollection = "web-resource-collection";
  18. private final String elementUrlPattern = "url-pattern";
  19. public List getUrlPatternList() {
  20. return urlPatternList;
  21. }
  22. @Override
  23. public void startDocument() throws SAXException {
  24. this.urlPatternList = new ArrayList();
  25. }
  26. //原文参考自杭州U木家具l修http://www.hzlxwx.com
  27. @Override
  28. public void startElement(String uri, String localName, String qName,
  29. Attributes attributes) throws SAXException {
  30. if (elementSecurityConstraint.equals(qName)) {
  31. isSecurityConstraint = true;
  32. return;
  33. }
  34. if (isSecurityConstraint && elementWebResourceCollection.equals(qName)) {
  35. isWebResourceCollection = true;
  36. return;
  37. }
  38. if (isSecurityConstraint && isWebResourceCollection
  39. && elementUrlPattern.equals(qName))
  40. isUrlPattern = true;
  41. }
  42. @Override
  43. public void endElement(String uri, String localName, String qName)
  44. throws SAXException {
  45. if (elementSecurityConstraint.equals(qName)) {
  46. isSecurityConstraint = false;
  47. }
  48. if (elementWebResourceCollection.equals(qName))
  49. isWebResourceCollection = false;
  50. if (elementUrlPattern.equals(qName))
  51. isUrlPattern = false;
  52. }
  53. @Override
  54. public void characters(char[] ch, int start, int length)
  55. throws SAXException {
  56. if (isSecurityConstraint && isWebResourceCollection && isUrlPattern) {
  57. this.urlPatternList.add(new String(ch, start, length));
  58. }
  59. }
  60. public void parser(File xmlFile) throws SAXException, IOException,
  61. ParserConfigurationException {
  62. if (xmlFile == null) {
  63. throw new IllegalArgumentException(
  64. "parameter 'xmlFile' must not null !");
  65. }
  66. SAXParserFactory factory = SAXParserFactory.newInstance();
  67. SAXParser parser = factory.newSAXParser();
  68. // 止DTD解析Q避免因找不到DTD文gD解析p|?/span>
  69. parser.getXMLReader()
  70. .setFeature(
  71. "http://apache.org/xml/features/nonvalidating/load-external-dtd",
  72. false);
  73. try {
  74. parser.parse(xmlFile, this);
  75. catch (SAXException e) {
  76. System.err.println("Cann't parse " + xmlFile.getAbsolutePath());
  77. throw e;
  78. }
  79. }
  80. }

上面代码中,parser()是主Ҏ(gu)Q调用完此方法之后,可以调用getUrlPatternList()Ҏ(gu)获取Cweb.xml中解析出来的url-pattern节点的|security-constraint/web-resource-collection/url-patternQ?/p>


另外Q取元素的属性|可以在startElement()Ҏ(gu)中用attributes.getValue("<属性名>")获取到?/p>




]]>jsp面调用火狐插ghttp://www.aygfsteel.com/jialisoft/archive/2013/04/08/397544.html你爸是李?/dc:creator>你爸是李?/author>Mon, 08 Apr 2013 10:59:00 GMThttp://www.aygfsteel.com/jialisoft/archive/2013/04/08/397544.htmlhttp://www.aygfsteel.com/jialisoft/comments/397544.htmlhttp://www.aygfsteel.com/jialisoft/archive/2013/04/08/397544.html#Feedback1http://www.aygfsteel.com/jialisoft/comments/commentRss/397544.htmlhttp://www.aygfsteel.com/jialisoft/services/trackbacks/397544.html同事已经开发了火狐插gQ用于读取非接触卡的卡片信息Q但是页面上不会(x)调用Q查了资料之后发现其实蛮单,是坑比较多?/span>
  1. <head>
  2. <title></title>    
  3. <embed id="plugin" type="application/intime-plugin" style="display:block;width:50%;height:100px;"></embed>
  4. <script language="JavaScript">
  5.      var plugin = document.getElementById("plugin");
  6. function doTest() {
  7.         plugin.getcard();
  8.         card = plugin.getcard;
  9.         alert(card);
  10. }     
  11. </script>
  12. </head>
  13. <body>    
  14.     <form name="formname">
  15.      <input type="button" onclick="doTest()" value="d"/>
  16.     </form>
  17. </body>
embed是插件的载入Qgetcard()是读取卡的操作,getcard是获得卡号信息?/span>
1、即便用jQueryQ在定位插g所在DOM元素的时候也不能使用jQuery自带的selectorQ否则读不出?/span>
2、插件不能被隐藏Q如果被隐藏之后Q就失效了,所以display:none;或者hide()都不可取?/span>

这个写成了插gQ方便读卡操作用?/span>
  1. (function($){
  2.     $.fn.swipeCpu = function(params){
  3.         var defaults = {
  4.                 trigger:false
  5.         };
  6.         $.extend(defaults, params);
  7.         var ele = $(this);
  8.         //height 1px,width 0px 可能压~插件在面的位|,不能设ؓ(f)0Q也不能display讄none,?x)导致插件失效?/span>
  9.         ele.after("<embed id=\"plugin-cpu-read\" type=\"application/intime-plugin\" style=\"display:block;height:0px;width:0px;\">");
  10.         var plugin = document.getElementById("plugin-cpu-read");
  11.         plugin.getcard();
  12.         //虽然在插件中定义了该属性是字符Ԍ但是传递出来的是个对象Q所以只能先复制到文本框Q再取|再截?/span>
  13.         var cardno = plugin.getcard;
  14.         ele.val(cardno);
  15.         cardno = substrCard($(this).val());
  16.         ele.val(cardno);
  17.         $("#plugin-cpu-read").remove();
  18.         //是否需要触发回车事?/span>
  19.         if(defaults.trigger){
  20.             var event = $.Event("keyup");
  21.             event.keyCode = 13;
  22.             event.which = 13;
  23.             ele.trigger(event);
  24.         }
  25.     };
  26. })(jQuery);


]]>
վ֩ģ壺 °Ͷ| ɽ| | | | | ʡ| | | | | | лͨ| | ͡| | | | ɽ| | ֶ| ͨ| ̶| | | ˴| Ϻ| ǭ| ˳| ̳| ָ| | Դ| ɽ| ɽ| ̨| Թ| | ǰ| | п|