﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-氟塑料离心泵www.buybeng.com</title><link>http://www.blogjava.net/jialisoft/</link><description>jquery教程http://www.software8.co/wzjs/jquery/</description><language>zh-cn</language><lastBuildDate>Sat, 09 May 2026 06:34:08 GMT</lastBuildDate><pubDate>Sat, 09 May 2026 06:34:08 GMT</pubDate><ttl>60</ttl><item><title>Java开发：jsp速度优化七种方法</title><link>http://www.blogjava.net/jialisoft/archive/2013/05/11/399136.html</link><dc:creator>你爸是李刚</dc:creator><author>你爸是李刚</author><pubDate>Sat, 11 May 2013 02:04:00 GMT</pubDate><guid>http://www.blogjava.net/jialisoft/archive/2013/05/11/399136.html</guid><wfw:comment>http://www.blogjava.net/jialisoft/comments/399136.html</wfw:comment><comments>http://www.blogjava.net/jialisoft/archive/2013/05/11/399136.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jialisoft/comments/commentRss/399136.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jialisoft/services/trackbacks/399136.html</trackback:ping><description><![CDATA[<p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;">jsp速度优化七种方法</strong><br />调整JSP和servlet的一些非常实用的方法，它可使你的servlet和JSP页面响应更快，扩展性更强。而且在用户数增加的情况下，系统负载会呈现出平滑上长的趋势。在本文中，我将通过一些实际例子和配置方法使得你的应用程序的性能有出人意料的提升。其中，某些调优技术是在你的编程工作中实现的。而另一些技术是与应用服务器的配置相关的。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在本文中，我们将详细地描述怎样通过调整servlet和JSP页面，来提高你的应用程序的总体性能。在阅读本文之前，假设你有基本的servlet和JSP的知识。<br /><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;">方法一：在servlet的init（）方法中缓存数据</strong></p><p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;"></strong><br />当应用服务器初始化servlet实例之后，为客户端请求提供服务之前，它会调用这个servlet的init（）方法。在一个servlet的生命周期中，init（）方法只会被调用一次。通过在init（）方法中缓存一些静态的数据或完成一些只需要执行一次的、耗时的操作，就可大大地提高系统性能。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例如，通过在init（）方法中建立一个JDBC连接池是一个最佳例子，假设我们是用jdbc2.0的DataSource接口来取得数据库连接，在通常的情况下，我们需要通过JNDI来取得具体的数据源。我们可以想象在一个具体的应用中，如果每次SQL请求都要执行一次JNDI查询的话，那系统性能将会急剧下降。解决方法是如下代码，它通过缓存DataSource，使得下一次SQL调用时仍然可以继续利用它：<br />public class ControllerServlet extends HttpServlet { private javax.sql.DataSource testDS = null; public void init（ServletConfig config） throws ServletException { super.init（config）; Context ctx = null; try { ctx = new InitialContext（）; testDS = （javax.sql.DataSource）ctx.lookup（&#8220;jdbc/testDS&#8221;）; } catch（NamingException ne） { ne.printStackTrace（）; } catch（Exception e） { e.printStackTrace（）; } } public javax.sql.DataSource getTestDS（） { return testDS; } 　 。.. 　 。.. }［nextpage］<br /><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;">方法 2：禁止servlet和JSP 自动重载（auto-reloading）</strong></p><p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;"></strong><br />Servlet/JSP提供了一个实用的技术，即自动重载技术，它为开发人员提供了一个好的开发环境，当你改变servlet和JSP页面后而不必重启应用服务器。然而，这种技术在产品运行阶段对系统的资源是一个极大的损耗，因为它会给JSP引擎的类装载器（classloader）带来极大的负担。因此关闭自动重载功能对系统性能的提升是一个极大的帮助。<br /><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;">方法 3： 不要滥用HttpSession</strong></p><p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;"></strong><br />在很多应用中，我们的程序需要保持客户端的状态，以便页面之间可以相互联系。但不幸的是由于HTTP具有天生无状态性，从而无法保存客户端的状态。因此一般的应用服务器都提供了session来保存客户的状态。在JSP应用服务器中，是通过HttpSession对像来实现session的功能的，但在方便的同时，它也给系统带来了不小的负担。因为每当你获得或更新session时，系统者要对它进行费时的序列化操作。你可以通过对HttpSession的以下几种处理方式来提升系统的性能：</p><p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;">如果没有必要，就应该关闭JSP页面中对HttpSession的缺省设置： 如果你没有明确指定的话，每个JSP页面都会缺省地创建一个HttpSession。如果你的JSP中不需要使用session的话，那可以通过如下的JSP页面指示符来禁止它： ＜%@ page session=&#8220;false&#8221;%＞</p><p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;">不要在HttpSession中存放大的数据对像：如果你在HttpSession中存放大的数据对像的话，每当对它进行读写时，应用服务器都将对其进行序列化，从而增加了系统的额外负担。你在HttpSession中存放的数据对像越大，那系统的性能就下降得越快。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当你不需要HttpSession时，尽快地释放它：当你不再需要session时，你可以通过调用HttpSession.invalidate（）方法来释放它。</p><p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;">尽量将session的超时时间设得短一点：在JSP应用服务器中，有一个缺省的session的超时时间。当客户在这个时间之后没有进行任何操作的话，系统会将相关的session自动从内存中释放。超时时间设得越大，系统的性能就会越低，因此最好的方法就是尽量使得它的值保持在一个较低的水平。<br /><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;">方法 4： 将页面输出进行压缩</strong></p><p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;"></strong><br />压缩是解决数据冗余的一个好的方法，特别是在网络带宽不够发达的今天。有的浏览器支持gzip（GNU zip）进行来对HTML文件进行压缩，这种方法可以戏剧性地减少HTML文件的下载时间。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 因此，如果你将servlet或JSP页面生成的HTML页面进行压缩的话，那用户就会觉得页面浏览速度会非常快。但不幸的是，不是所有的浏览器都支持gzip压缩，但你可以通过在你的程序中检查客户的浏览器是否支持它。下面就是关于这种方法实现的一个代码片段： public void doGet（HttpServletRequest request， HttpServletResponse response） throws IOException， ServletException { OutputStream out = null String encoding = request.getHeader（&#8220;Accept-Encoding&#8221;）; if （encoding ！= null &amp;&amp; encoding.indexOf（&#8220;gzip&#8221;） ！= -1） { request.setHeader（&#8220;Content-Encoding&#8221; ， &#8220;gzip&#8221;）; out = new GZIPOutputStream（request.getOutputStream（））; } else if （encoding ！= null &amp;&amp; encoding.indexOf（&#8220;compress&#8221;） ！= -1） { request.setHeader（&#8220;Content-Encoding&#8221; ， &#8220;compress&#8221;）; out = new ZIPOutputStream（request.getOutputStream（））; } else { out = request.getOutputStream（）; } 。.. 。.. }［nextpage］<br /><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;">方法 5： 使用线程池</strong><br />应用服务器缺省地为每个不同的客户端请求创建一个线程进行处理，并为它们分派service（）方法，当service（）方法调用完成后，与之相应的线程也随之撤消。由于创建和撤消线程会耗费一定的系统资源，这种缺省模式降低了系统的性能。但所幸的是我们可以通过创建一个线程池来改变这种状况。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 另外，我们还要为这个线程池设置一个最小线程数和一个最大线程数。在应用服务器启动时，它会创建数量等于最小线程数的一个线程池，当客户有请求时，相应地从池从取出一个线程来进行处理，当处理完成后，再将线程重新放入到池中。如果池中的线程不够地话，系统会自动地增加池中线程的数量，但总量不能超过最大线程数。通过使用线程池，当客户端请求急剧增加时，系统的负载就会呈现的平滑的上升曲线，从而提高的系统的可伸缩性。<br /><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;">方法 6： 选择正确的页面包含机制</strong></p><p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;"></strong><br />在JSP中有两种方法可以用来包含另一个页面 1、使用include指示符（＜%@ includee file=&#8221;test.jsp&#8221; %＞）。 2、使用jsp指示符（＜jsp:includee page=&#8221;test.jsp&#8221; flush=&#8221;true&#8221;/＞）。 在实际中我发现，如果使用第一种方法的话，可以使得系统性能更高。<br /><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;">方法 7：正确地确定javabean的生命周期</strong></p><p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;"></strong><br />JSP的一个强大的地方就是对javabean的支持。通过在JSP页面中使用＜jsp:useBean＞标签，可以将javabean直接插入到一个JSP页面中。它的使用方法如下：<br />＜jsp:useBean id=&#8220;name&#8221; scope=&#8220;page|request|session|application&#8221; class= &#8220;package.className&#8221; type=&#8220;typeName&#8221;＞＜/jsp:useBean＞ 其中scope属性指出了这个bean的生命周期。缺省的生命周期为page。如果你没有正确地选择bean的生命周期的话，它将影响系统的性能。<br />举例来说，如果你只想在一次请求中使用某个bean，但你却将这个bean的生命周期设置成了session，那当这次请求结束后，这个bean将仍然保留在内存中，除非session超时或用户关闭浏览器。这样会耗费一定的内存，并无谓的增加了JVM垃圾收集器的工作量。因此为bean设置正确的生命周期，并在bean的使命结束后尽快地清理它们，会使用系统性能有一个提高。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其它一些有用的方法 在字符串连接操作中尽量不使用&#8220;＋&#8221;操作符：在java编程中，我们常常使用&#8220;＋&#8221;操作符来将几个字符串连接起来，但你或许从来没有想到过它居然会对系统性能造成影响吧？由于字符串是常量，因此JVM会产生一些临时的对像。你使用的&#8220;＋&#8221;越多，生成的临时对像就越多，这样也会给系统性能带来一些影响。解决的方法是用StringBuffer对像来代替&#8220;＋&#8221;操作符。</p><p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;">避免使用System.out.println（）方法：由于System.out.println（）是一种同步调用，即在调用它时，磁盘I/O操作必须等待它的完成，因此我们要尽量避免对它的调用。但我们在调试程序时它又是一个必不可少的方便工具，为了解决这个矛盾，我建议你最好使用Log4j工具（<span style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-family: inherit; vertical-align: baseline; color: #ff0000;">http://Jakarta.apache.org;</span>&nbsp;），它既可以方便调试，而不会产生System.out.println（）这样的方法。</p><p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;">ServletOutputStream 与 PrintWriter的权衡：使用PrintWriter可能会带来一些小的开销，因为它将所有的原始输出都转换为字符流来输出，因此如果使用它来作为页面输出的话，系统要负担一个转换过程。而使用ServletOutputStream作为页面输出的话就不存在一个问题，但它是以二进制进行输出的。因此在实际应用中要权衡两者的利弊。</p><p style="margin: 0px 0px 18px; padding: 0px; border: 0px; font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif; vertical-align: baseline; text-indent: 2em; color: #333333; line-height: 26px; background-color: #ffffff;">通过对servlet和JSP(<a title="Java开发" href="http://www.xiaobei668.com/javadevelopment" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-family: inherit; vertical-align: baseline; color: #282828; text-decoration: none; outline: none; transition: color 0.15s linear, background-color 0.15s linear, border-color 0.15s linear; -webkit-transition: color 0.15s linear, background-color 0.15s linear, border-color 0.15s linear; text-indent: 0px;">Java开发</a>)的一些调优技术来极大地提高你的应用程序的性能，并因此提升整个J2EE应用的性能。通过这些调优技术，你可以发现其实并不是某种技术平台（比如J2EE和.NET之争）决定了你的应用程序的性能，重要是你要对这种平台有一个较为深入的了解，这样你才能从根本上对自己的应用程序做一个优化！</p><img src ="http://www.blogjava.net/jialisoft/aggbug/399136.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jialisoft/" target="_blank">你爸是李刚</a> 2013-05-11 10:04 <a href="http://www.blogjava.net/jialisoft/archive/2013/05/11/399136.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 就算没钱没工作没男朋友，我也要自己扛</title><link>http://www.blogjava.net/jialisoft/archive/2013/05/07/398901.html</link><dc:creator>你爸是李刚</dc:creator><author>你爸是李刚</author><pubDate>Tue, 07 May 2013 01:03:00 GMT</pubDate><guid>http://www.blogjava.net/jialisoft/archive/2013/05/07/398901.html</guid><wfw:comment>http://www.blogjava.net/jialisoft/comments/398901.html</wfw:comment><comments>http://www.blogjava.net/jialisoft/archive/2013/05/07/398901.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jialisoft/comments/commentRss/398901.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jialisoft/services/trackbacks/398901.html</trackback:ping><description><![CDATA[<div><span style="color: #ff0000;">如果您也是创业者或者对上面的谷歌广告感兴趣，希望可以帮忙点下，谢谢了。</span></div><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">第一次来blogjava，是因为刚开始从事IDC这个行业。每天工作需要，不得不承认，在这里我认识了命运、笨笨、晓明、小样儿还有很多的朋友。</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">大学毕业刚开始工作，工资并不是很高。我不知道是谁给了大人一个概念，说是大学毕业以后就能找到一分好的工作，有比较高的工资，并且能够光宗耀祖。</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">第一次发工资，上了二十七的班，当时我们的工资是700元的底薪+提成。根据业绩的总额不同，提成点也不一样。</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">我非常清楚的记得当时发了636块钱。虽然钱不多，但是心里特别高兴。再到第二个月的时候，工资就慢慢的开始向上涨，发了989块钱。我记得更清楚，当时的提成本来才有一百多块钱。但是老板看我特别的努力，在同期进来的新人里面是相当不错的了，奖励了我一百元。就是这么一百元，让我坚持了两年。</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">刚走出社会，很多的大学毕业生都处在一个特别盲目的状态，当时自己也是凭着初生牛犊不畏虎的精神一直在拼命的向前进。每天都在不断的忙碌着，刚参加工作的第三个月里，甚至忙到身体出了问题。每天公司九点上班，八点半就到公司；五点半下班，到了八点才下班回家。那一年体重从110直接掉到了95，回学校拿毕业证的时候，同学见到就说瘦了。</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">辗转，已经出来工作三年了。只是无论我再怎么努力，得到老板的认可，但是父母这边就是没有办法理解。总是觉得我的工低特别的低，经常说风凉话，而且放马后炮。</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">第一次工资发了以后给了父亲四百元，当时我都不知道自己怎么那么大的本命，只给自己留下二百多元的生活费。那年刚出来工作的时候，父母就给了我七百元钱，当时要自己租房子，做饭吃，还需要一些其实的花费；我们条件确实不大好，我也没有多做要求，非要父母给我多几百块钱，当时跟我住一起的女生，出来的时候，身上带了四千，父母各给了2000。我从不去计较这些东西，想着父母送我上大学比较累了，只希望以后工作了可以报答他们。</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">那年弟弟上高中了，他第一次问我多少钱工资一个月时，知道结果的那个表情，那不屑的态度，超出了我的范围。当时我的工资，在我们班很多同学里面而言，算是不错的了。很多同学当时的工资都只有几百一千多点儿，而我那时的工资差不多每个月都是一千五到两靠左右，再到后面的那年，工资也从最开始的六百多到了三千多。比同期我们班在深圳广州工作的同学的工资都要高，只是他们还是嫌弃我的工资低。</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">去年换了一份工作，是跟家里的一位亲戚在广州做会计文员类的工作，工资确实不高。只有2500，但是管吃管住以后，还是有比较两千来块的结余的。平时自己在网上还能赚点零花钱，差不多加起来，也有三千多块吧。我家老幺在广州做网站，每个月工资差不多也就是三千多点，还得自己吃住车马费什么的。但是，在我父母眼里看来，他们还是嫌弃我的工资低了。</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">过年回家以后，他们也不再说钱的问题，讲到谈婚论嫁的事情，也跟他们商量过今年工作发展的方向，准备来Z城发展。当时他们也不发表什么意见，而且反复的问过，有没有什么意见可以提的，当时又不说。最近几次打电话回家，就天天在说我工资的问题，我诚认我的工资现在是不高，可是重新开始是需要一个过程的，我当时坚持的他们拼命的反对，甚至拿健康说事，现在却又来说什么我工资少。</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">他们老说，只要我嫁了人便不在管我。那我想，是不是只要我嫁了，就真的不再管我？</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">刚毕业的时候，就天天催着我要钱，我刚开始工作，哪里来的钱。现在又在天天催着我结婚，天天问我来要钱。我是个什么命啊，工作三年，也给了他们两万来块，平时买了的衣服，交话费，给他们买项链习冰箱，难道这些都不是钱吗？你们可以不要只问我要钱吗？我现在生活已经够乱了，能不能不要每次都拖我的后腿，每次都说风凉话，每次都放马后炮？</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">我知道自己即将跨入圣女的年龄，我也知道没钱的难处。只是你们是我的亲人，我希望在你们帮助不了我的情况下，能够多理解一下我。我想，如果哪一天，我变得无情了，跟你们应该离不了多少关系~~~</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">哎，一上午过去了。回忆了这么多，发泄了这么多。心情好一点吧！</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">发泄完了，无论生活还是工作都需要坚持，我始终相信坚持下去都会有好的结果。就算没钱没工作没男朋友，我也要自己扛！</span><img src="http://www.im286.com/static/image/smiley/default/cool.gif" smilieid="5" border="0" alt="" style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" />&nbsp;<br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">需要正能量。</span><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><br style="word-wrap: break-word; color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;" /><span style="color: #222222; font-family: Helvetica, Arial, sans-serif; background-color: #ffffff;">愿我们的生活如花儿一样红，如蜜一样甜，如阳光一般灿烂。</span><img src ="http://www.blogjava.net/jialisoft/aggbug/398901.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jialisoft/" target="_blank">你爸是李刚</a> 2013-05-07 09:03 <a href="http://www.blogjava.net/jialisoft/archive/2013/05/07/398901.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring中@Autowired注解、@Resource注解的区别</title><link>http://www.blogjava.net/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.blogjava.net/jialisoft/archive/2013/05/06/398830.html</guid><wfw:comment>http://www.blogjava.net/jialisoft/comments/398830.html</wfw:comment><comments>http://www.blogjava.net/jialisoft/archive/2013/05/06/398830.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jialisoft/comments/commentRss/398830.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/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;">&nbsp; &nbsp; Spring不但支持自己定义的@Autowired注解，还支持几个由JSR-250规范定义的注解，它们分别是@Resource、@PostConstruct以及@PreDestroy。<br style="margin: 0px; padding: 0px;" />　　@Resource的作用相当于@Autowired，只不过@Autowired按byType自动注入，而@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的，分是name和type，Spring将@Resource注解的name属性解析为bean的名字，而type属性则解析为bean的类型。所以如果使用name属性，则使用byName的自动注入策略，而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性，这时将通过反射机制使用byName自动注入策略。<br style="margin: 0px; padding: 0px;" />　　<strong>@Resource装配顺序</strong><br style="margin: 0px; padding: 0px;" />　　1. 如果同时指定了name和type，则从Spring上下文中找到唯一匹配的bean进行装配，找不到则抛出异常<br style="margin: 0px; padding: 0px;" />　　2. 如果指定了name，则从上下文中查找名称（id）匹配的bean进行装配，找不到则抛出异常<br style="margin: 0px; padding: 0px;" />　　3. 如果指定了type，则从上下文中找到类型匹配的唯一bean进行装配，找不到或者找到多个，都会抛出异常<br style="margin: 0px; padding: 0px;" />　　4. 如果既没有指定name，又没有指定type，则自动按照byName方式进行装配；如果没有匹配，则回退为一个原始类型进行匹配，如果匹配则自动装配；</p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;"><strong>@Autowired 与@Resource的区别：</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. 都可以写在字段上,或写在setter方法上。</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默认按类型装配（这个注解是属业spring的），默认情况下必须要求依赖对象必须存在，如果要允许null值，可以设置它的required属性为false，如：@Autowired(required=false) ，如果我们想使用名称装配可以结合@Qualifier注解进行使用，如下：</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;">&nbsp;</p><div 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代码&nbsp;&nbsp;<a href="" title="收藏这段代码" 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>()&nbsp;<span style="color: #646464;">@Qualifier</span>("baseDao")&nbsp;&nbsp;</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>&nbsp;BaseDao&nbsp;baseDao;&nbsp;&nbsp;</li></ol></div><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">&nbsp;</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、@Resource（这个注解属于J2EE的），默认安装名称进行装配，名称可以通过name属性进行指定，如果没有指定name属性，当注解写在字段上时，默认取字段名进行安装名称查找，如果注解写在setter方法上默认取属性名进行装配。当找不到与名称匹配的bean时才按照类型进行装配。<span style="color: #ff0000;">但是需要注意的是，如果name属性一旦指定，就只会按照名称进行装配。</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;">&nbsp;</p><div 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代码&nbsp;&nbsp;<a href="" title="收藏这段代码" 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")&nbsp;&nbsp;</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>&nbsp;BaseDao&nbsp;baseDao;&nbsp;&nbsp;</li></ol></div><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">&nbsp;</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;">推荐使用：@Resource注解在字段上，这样就不用写setter方法了，并且这个注解是属于J2EE的，减少了与spring的耦合。这样代码看起就比较优雅。</span></span></span></span></span></span></p><img src ="http://www.blogjava.net/jialisoft/aggbug/398830.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jialisoft/" target="_blank">你爸是李刚</a> 2013-05-06 09:52 <a href="http://www.blogjava.net/jialisoft/archive/2013/05/06/398830.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员选择字体的标准是?</title><link>http://www.blogjava.net/jialisoft/archive/2013/05/04/398784.html</link><dc:creator>你爸是李刚</dc:creator><author>你爸是李刚</author><pubDate>Sat, 04 May 2013 06:26:00 GMT</pubDate><guid>http://www.blogjava.net/jialisoft/archive/2013/05/04/398784.html</guid><wfw:comment>http://www.blogjava.net/jialisoft/comments/398784.html</wfw:comment><comments>http://www.blogjava.net/jialisoft/archive/2013/05/04/398784.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jialisoft/comments/commentRss/398784.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jialisoft/services/trackbacks/398784.html</trackback:ping><description><![CDATA[<div>整理自我在 SF 上的回答：</div><div>&nbsp;</div><div>本来在 大家都用什么字体写代码的？中推荐了一款字体，相信也是很多程序员的首选字体：Consolas。正好又看到有人提问，&#8220;程序员选择字体的标准是?&#8221;。</div><div>&nbsp;</div><div>其实选择字体的标准很简单：</div><div>&nbsp;</div><div>非常清晰（Crisp clear characters）</div><div>支持扩展字符集（Extended characterset）否则会出现乱码或者方格</div><div>对空白把握的很好（包括但不限于空格、非中断空格、制表符&#8230;）</div><div>可轻易区分&#8217;l', &#8216;1&#8242; 和 &#8216;i&#8217;</div><div>可轻易区分&#8217;0&#8242;, &#8216;o&#8217; 和 &#8216;O&#8217;</div><div>可轻易区分左右引号 - 最好是对称的</div><div>清晰的标点符号，特别是大括号小括号和中括号</div><img src ="http://www.blogjava.net/jialisoft/aggbug/398784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jialisoft/" target="_blank">你爸是李刚</a> 2013-05-04 14:26 <a href="http://www.blogjava.net/jialisoft/archive/2013/05/04/398784.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深入了解Mina框架中如何传送（消息+附件）实现方法</title><link>http://www.blogjava.net/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.blogjava.net/jialisoft/archive/2013/05/03/398716.html</guid><wfw:comment>http://www.blogjava.net/jialisoft/comments/398716.html</wfw:comment><comments>http://www.blogjava.net/jialisoft/archive/2013/05/03/398716.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jialisoft/comments/commentRss/398716.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jialisoft/services/trackbacks/398716.html</trackback:ping><description><![CDATA[<div>最近两天被IoBuffer搞的头晕目眩的，故单独写了个类测试。如果要学习mina框架，该博客有助于实现mina中的如何消息+附件的传送。</div><div>描述：模拟消息解析。</div><div>第一步：构建SmsObject对象</div><div>第二步：将对象设置到IoBuffer中;</div><div>第三步：从IoBuffer中将对象解析出来（解析结果包含附件）;</div><div></div><div>经测试解析通过，注意代码如下</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>&nbsp;* IoBuffer测试</div><div>&nbsp;* &nbsp;</div><div>&nbsp;* @author jrunner</div><div>&nbsp;*/</div><div>public class Test03 {</div><div>&nbsp;public static void main(String[] args) throws Exception {</div><div>&nbsp; System.out.println("第一步：构建SmsObject对象");</div><div>&nbsp; List fileInfos = new ArrayList();</div><div>&nbsp; FileInfo f = new FileInfo();</div><div>&nbsp; File file = new File("c:\\test.txt");</div><div>&nbsp; f.setContent(file);</div><div>&nbsp; f.setFileName(file.getName());</div><div>&nbsp; f.setFileNameLength(f.getFileName().length());</div><div>&nbsp; f.setContentLength((int) file.length());</div><div>&nbsp; fileInfos.add(f);</div><div>&nbsp; f = new FileInfo();</div><div>&nbsp; file = new File("c:\\FeiQ.exe");</div><div>&nbsp; f.setContent(file);</div><div>&nbsp; f.setFileName(file.getName());</div><div>&nbsp; f.setFileNameLength(f.getFileName().length());</div><div>&nbsp; f.setContentLength((int) file.length());</div><div>&nbsp; fileInfos.add(f);</div><div>&nbsp; SmsObject sms = new SmsObject();</div><div>&nbsp; sms.setSender("158010122x");</div><div>&nbsp; sms.setReceiver("188696999x");</div><div>&nbsp; sms.setMessage("你好啊！");</div><div>&nbsp; sms.setFileInfos(fileInfos);</div><div>&nbsp; System.out.println("=========================================================");</div><div>&nbsp; System.out.println("第二步：将对象设置到IoBuffer中");</div><div>&nbsp; Charset cs = Charset.forName("UTF-8");</div><div>&nbsp; CharsetDecoder cd = cs.newDecoder();</div><div>&nbsp; CharsetEncoder ce = cs.newEncoder();</div><div>&nbsp; IoBuffer buffer = IoBuffer.allocate(100).setAutoExpand(true);</div><div>&nbsp; buffer.putString("http://jrunner.blog.51cto.com", ce);// 状态</div><div>&nbsp; buffer.putString(sms.getSender(), ce);// 发送者</div><div>&nbsp; buffer.putString(sms.getReceiver(), ce);// 接受者</div><div>&nbsp; buffer.putString(sms.getMessage(), ce);// 内容</div><div>&nbsp; buffer.putLong(89898989989898L);</div><div>&nbsp; for (int i = 0; i &lt; sms.getFileInfos().size(); i++) {</div><div>&nbsp; &nbsp;FileInfo info = sms.getFileInfos().get(i);</div><div>&nbsp; &nbsp;buffer.putInt(info.getFileNameLength());// 设置文件名长度</div><div>&nbsp; &nbsp;buffer.putInt(info.getContentLength());// 设置文件大小</div><div>&nbsp; &nbsp;buffer.putString(info.getFileName(), ce);// 设置文件名</div><div>&nbsp; &nbsp;buffer.put(inputStreamToByte(new FileInputStream(info.getContent())));// 设置文件内容</div><div>&nbsp; }</div><div>&nbsp; System.out.println("第三步：从IoBuffer中将对象解析出来");</div><div>&nbsp; buffer.flip();</div><div>&nbsp; System.out.println(buffer.limit());</div><div>&nbsp; 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>&nbsp; System.out.println(buffer.getLong());</div><div>&nbsp; System.out.println("------------------");</div><div>&nbsp; for (int i = 0; i &lt; sms.getFileInfos().size(); i++) {</div><div>&nbsp; &nbsp;System.out.println("解析文件中...");</div><div>&nbsp; &nbsp;int L1 = buffer.getInt();// 文件名称长度</div><div>&nbsp; &nbsp;System.out.println("File Name Length：" + L1);</div><div>&nbsp; &nbsp;int L2 = buffer.getInt();// 文件内容长度</div><div>&nbsp; &nbsp;System.out.println("File Content Length：" + L2);</div><div>&nbsp; &nbsp;String fileName = buffer.getString(L1, cd);</div><div>&nbsp; &nbsp;System.out.println("FileName：" + fileName);</div><div>&nbsp; &nbsp;byte[] data = new byte[L2];</div><div>&nbsp; &nbsp;int k = 0;&nbsp;</div><div>&nbsp; &nbsp;while (buffer.hasRemaining()) {</div><div>&nbsp; &nbsp; data[k] = buffer.get();</div><div>&nbsp; &nbsp; k++;</div><div>&nbsp; &nbsp; if (k == L2) {</div><div>&nbsp; &nbsp; &nbsp;k = 0;</div><div>&nbsp; &nbsp; &nbsp;break;</div><div>&nbsp; &nbsp; }</div><div>&nbsp; &nbsp;}</div><div>&nbsp; &nbsp;File fs = new File("d:\\002_" + fileName);</div><div>&nbsp; &nbsp;OutputStream out = new FileOutputStream(fs);</div><div>&nbsp; &nbsp;out.write(data);</div><div>&nbsp; &nbsp;out.flush();</div><div>&nbsp; &nbsp;out.close();</div><div>&nbsp; }</div><div>&nbsp;}</div><div>&nbsp;public static byte[] inputStreamToByte(InputStream inStream) throws IOException {</div><div>&nbsp; ByteArrayOutputStream swapStream = new ByteArrayOutputStream();</div><div>&nbsp; int rc;</div><div>&nbsp; while ((rc = inStream.read()) != -1) {</div><div>&nbsp; &nbsp;swapStream.write(rc);</div><div>&nbsp; }</div><div>&nbsp; byte[] in2b = swapStream.toByteArray();</div><div>&nbsp; return in2b;</div><div>&nbsp;}</div><div>}</div><div>======================================================</div><div>public class FileInfo {</div><div>&nbsp;private File content;</div><div>&nbsp;private String fileName;&nbsp;</div><div>&nbsp;private int contentLength;</div><div>&nbsp;private int fileNameLength;</div><div>}</div><div>public class SmsObject {</div><div>&nbsp;private String sender;// 短信发送者</div><div>&nbsp;private String receiver;// 短信接受者</div><div>&nbsp;private String message;// 短信内容&nbsp;</div><div>&nbsp;private List&lt;FileInfo&gt; fileInfos;</div><div>}</div><img src ="http://www.blogjava.net/jialisoft/aggbug/398716.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jialisoft/" target="_blank">你爸是李刚</a> 2013-05-03 10:25 <a href="http://www.blogjava.net/jialisoft/archive/2013/05/03/398716.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java将数据写入到txt文件中（txt有固定的格式）</title><link>http://www.blogjava.net/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.blogjava.net/jialisoft/archive/2013/05/02/398648.html</guid><wfw:comment>http://www.blogjava.net/jialisoft/comments/398648.html</wfw:comment><comments>http://www.blogjava.net/jialisoft/archive/2013/05/02/398648.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jialisoft/comments/commentRss/398648.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/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文件中，这个应该对于学过java I/O的人来说是很简单的事情了，但是如果要将数据以固定的格式写入到txt文件中，就需要一定的技巧了。</p><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;">比如我要将数据写成下面的样子：</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">1 &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp;2 &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;3 &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;4</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff;">5 &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp;6 &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;8 &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;9 &nbsp;&nbsp;</p><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;">这里就不再将写数据的过程提出来了，重点是让每一列的数据都能有一个同样的宽度：</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>&nbsp;<a href="http://blog.csdn.net/yehui18sui/article/details/8874399#" 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 href="http://blog.csdn.net/yehui18sui/article/details/8874399#" 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&nbsp;String&nbsp;formatStr(String&nbsp;str,&nbsp;int&nbsp;length)&nbsp;{&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red;">str</span>&nbsp;=&nbsp;<span style="color: blue;">"&nbsp;&nbsp;"</span>+str;&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;<span style="color: red;">strLen</span>&nbsp;=&nbsp;<span style="color: blue;">str</span>.getBytes().length;&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(strLen&nbsp;<span style="color: #993300; font-weight: bold;">&lt;</span>&nbsp;<span style="color: #993300; font-weight: bold;">length</span>)&nbsp;{&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;<span style="color: red;">temp</span>&nbsp;=&nbsp;<span style="color: blue;">length</span>&nbsp;-&nbsp;strLen;&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;<span style="color: red;">i</span>&nbsp;=&nbsp;<span style="color: blue;">0</span>;&nbsp;i&nbsp;<span style="color: #993300; font-weight: bold;">&lt;</span>&nbsp;<span style="color: #993300; font-weight: bold;">temp</span>;&nbsp;i++)&nbsp;{&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;+=&nbsp;"&nbsp;";&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;str&nbsp;;&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;</li></ol></div><span style="font-family: Arial; line-height: 26px; background-color: #ffffff;">先讲解一个这个方法的作用：对于参数str而言，如果他的字节长度小于参数length的话，就用空格补齐。</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;">这样做，有个问题，就是怎么确定length的长度为多少合适呢？</p><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;">最后将方法返回的str用输出流写入到文件中，换行的话使用out.write(lineSeparator)即可。&nbsp;</p><img src ="http://www.blogjava.net/jialisoft/aggbug/398648.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jialisoft/" target="_blank">你爸是李刚</a> 2013-05-02 10:08 <a href="http://www.blogjava.net/jialisoft/archive/2013/05/02/398648.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mootools 中empty()和destroy()区别</title><link>http://www.blogjava.net/jialisoft/archive/2013/04/27/398493.html</link><dc:creator>你爸是李刚</dc:creator><author>你爸是李刚</author><pubDate>Sat, 27 Apr 2013 03:18:00 GMT</pubDate><guid>http://www.blogjava.net/jialisoft/archive/2013/04/27/398493.html</guid><wfw:comment>http://www.blogjava.net/jialisoft/comments/398493.html</wfw:comment><comments>http://www.blogjava.net/jialisoft/archive/2013/04/27/398493.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jialisoft/comments/commentRss/398493.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jialisoft/services/trackbacks/398493.html</trackback:ping><description><![CDATA[<div>empty()</div><div>删除所有子元素</div><div>语法:</div><div>myElement.empty();</div><div>返回值:</div><div>(element) 主调元素</div><div>示例:</div><div>HTML</div><div></div><div>&lt;div id="myElement"&gt;</div><div>&nbsp; &nbsp; &lt;p&gt;&lt;/p&gt;</div><div>&nbsp; &nbsp; &lt;span&gt;&lt;/span&gt;</div><div>&lt;/div&gt;</div><div>JavaScript</div><div></div><div>$('myElement').empty();</div><div>结果 HTML</div><div></div><div>&lt;div id="myElement"&gt;&lt;/div&gt;</div><div></div><div>Element 方法: destroy</div><div>删除元素自身及其所有子元素(并进行内存垃圾收集)</div><div>语法:</div><div>myElement.destroy();</div><div>返回值:</div><div>(null)</div><div>另外我发现一个部里，比如一组className="option"的数组时，用$$('.option').empty(),不起作用，可能此时，empty对id起作用</div><div>而用$$('.option').destroy()就可以。</div><img src ="http://www.blogjava.net/jialisoft/aggbug/398493.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jialisoft/" target="_blank">你爸是李刚</a> 2013-04-27 11:18 <a href="http://www.blogjava.net/jialisoft/archive/2013/04/27/398493.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Comparator与Comparable的区别？</title><link>http://www.blogjava.net/jialisoft/archive/2013/04/18/398033.html</link><dc:creator>你爸是李刚</dc:creator><author>你爸是李刚</author><pubDate>Thu, 18 Apr 2013 08:13:00 GMT</pubDate><guid>http://www.blogjava.net/jialisoft/archive/2013/04/18/398033.html</guid><wfw:comment>http://www.blogjava.net/jialisoft/comments/398033.html</wfw:comment><comments>http://www.blogjava.net/jialisoft/archive/2013/04/18/398033.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jialisoft/comments/commentRss/398033.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jialisoft/services/trackbacks/398033.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.1875px; background-color: #ffffff;"><strong style="font-weight: bold;">相同点：</strong>都是用于比较，排序的接口。例如对于List对象，如果存储的对象类型不是自定义的，像String那样已经实现了Comparable接口，可以直接Collections.sort(Stringlistname)，就可以排出序来了。而对于自定义的对象类型，就需要我们自己去实现Comparator或者Comparable接口。</p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.1875px; background-color: #ffffff;">&nbsp;</p><div style="font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.1875px; background-color: #ffffff;"><strong style="font-weight: bold;">不同点：</strong>Comparable是在自定义类的内部实现的，在类声明的地方加上implements Comparable,然后在其内部实现compare方法。Comparator是在自定义类的外部自定义一个比较类，这个比较类要实现Comparator接口，实现compare方法。也可以不具体定义一个比较类，直接在Comparator的内部将compare方法实现就可以了。总之就是要自己实现一个比较器。</div><div style="font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.1875px; background-color: #ffffff;">下面通过代码直观的说明：</div><div style="font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.1875px; background-color: #ffffff;">自定义类为A1：<br /><img src="http://dl.iteye.com/upload/attachment/0083/2787/11b9763c-2550-318a-9e1f-fcbb439a36b6.jpg" alt="" style="border: 0px;" /><br />&nbsp;<strong style="font-weight: bold;">（1）A1类内实现Comparable：</strong></div><div style="font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.1875px; background-color: #ffffff;"><img src="http://dl.iteye.com/upload/attachment/0083/2789/3fb4ed04-9c2e-3072-b0ec-25635030bce8.jpg" alt="" title="点击查看原始大小图片" width="700" height="388" style="border: 0px; cursor: url(http://www.iteye.com/images/magplus.gif), pointer;" /><br />&nbsp;进行排序验证：<img src="http://dl.iteye.com/upload/attachment/0083/2791/b12f4506-472e-3323-831c-5417ed638ea3.jpg" alt="" style="border: 0px;" /></div><div style="font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.1875px; background-color: #ffffff;">&nbsp;输出结果：</div><div style="font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.1875px; background-color: #ffffff;"><img src="http://dl.iteye.com/upload/attachment/0083/2793/7807f0cb-e2a0-33ae-ab28-e552f7604acf.jpg" alt="" style="border: 0px;" /></div><div style="font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.1875px; background-color: #ffffff;"><div><span style="color: #0000ff;"><strong style="font-weight: bold;">（2）A1类外实现Comparator：</strong></span></div><div>&#9312;定义一个具体的类实现Comparator：</div><div><img src="http://dl.iteye.com/upload/attachment/0083/2795/cb9eb1db-86e7-391a-a646-9b8a6f6e73ff.jpg" alt="" style="border: 0px;" /></div><div>进行排序验证：&nbsp;<img src="http://dl.iteye.com/upload/attachment/0083/2797/ab01ee1e-21ec-3b07-ab2d-628107f1eec8.jpg" alt="" style="border: 0px;" /></div><div>&nbsp;输出结果同上。<div>&#9313;无需定义一个具体的实现类，直接new一个Comparator：</div><div><img src="http://dl.iteye.com/upload/attachment/0083/2799/cb2d88de-da83-3f50-9a5a-fb59070c7cc7.jpg" alt="" title="点击查看原始大小图片" width="700" height="224" style="border: 0px; cursor: url(http://www.iteye.com/images/magplus.gif), pointer;" /><br />&nbsp;输出结果同上。</div><div><span style="color: #0000ff;"><strong style="font-weight: bold;">综合：</strong></span>两种方法各有优劣，实现Comparable的方法，一劳永逸，但是需要修改自定义类的源代码。Comparator不需要修改源代码，但是需要在使用的地方对Comparator进行实现。<br />原文 ：www.hzlxwx.com</div></div></div><img src ="http://www.blogjava.net/jialisoft/aggbug/398033.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jialisoft/" target="_blank">你爸是李刚</a> 2013-04-18 16:13 <a href="http://www.blogjava.net/jialisoft/archive/2013/04/18/398033.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用SAX（JDK自带API）解析XML文件</title><link>http://www.blogjava.net/jialisoft/archive/2013/04/15/397874.html</link><dc:creator>你爸是李刚</dc:creator><author>你爸是李刚</author><pubDate>Mon, 15 Apr 2013 09:58:00 GMT</pubDate><guid>http://www.blogjava.net/jialisoft/archive/2013/04/15/397874.html</guid><wfw:comment>http://www.blogjava.net/jialisoft/comments/397874.html</wfw:comment><comments>http://www.blogjava.net/jialisoft/archive/2013/04/15/397874.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jialisoft/comments/commentRss/397874.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jialisoft/services/trackbacks/397874.html</trackback:ping><description><![CDATA[<div><div style="display: inline-block;"></div></div> <p style="word-wrap: break-word; margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px;">解析的工具类继承org.xml.sax.helpers.DefaultHandler，然后覆盖父类的几个方法即可。方法的详细解释可以参照JDK的API文档。</p><ul style="padding: 0px; margin: 0px 0px 1.5em; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px;"><li style="margin: 0px 0px 0.25em 30px; padding: 0px;"><span style="line-height: 1.5;">startDocument() 开始解析XML时被调用，一般可以用来做初始化操作。</span></li><li style="margin: 0px 0px 0.25em 30px; padding: 0px;">startElement(<span style="line-height: 1.5; white-space: pre;">) </span>解析到某个元素（标签）的开头时（例如<name>）被调用，一般用来判断是否已开始解析某特定元素（标签）。</name></li><li style="margin: 0px 0px 0.25em 30px; padding: 0px;">endElement() 解析完某个元素（标签）时（例如）被调用，一般在此对某些逻辑标记做重置操作。</li><li style="margin: 0px 0px 0.25em 30px; padding: 0px;">characters() &nbsp;解析到某个文本元素（例如<name>张三</name>）时被调用，一般在此方法中取值，需要结合startElement()方法中设置的逻辑标志进行判断是否解析到XML文档中特定的位置。</li></ul><p style="word-wrap: break-word; margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px;">下面是一个实例：</p><div style="word-wrap: break-word; color: #222222; font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: normal;"><strong>Java代码:</strong></div><div id="" style="word-wrap: break-word; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; line-height: 25.1875px;"><ol start="1" style="padding-top: 2px; padding-bottom: 2px; font-size: 1em; line-height: 1.4em; margin-left: 0px; 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: #7f0055;">import</span>&nbsp;java.util.ArrayList;</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;">import</span>&nbsp;java.util.List;</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;">import</span>&nbsp;java.io.File;</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;">import</span>&nbsp;java.io.IOException;</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;"></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;">import</span>&nbsp;javax.xml.parsers.ParserConfigurationException;</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;">import</span>&nbsp;javax.xml.parsers.SAXParser;</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;">import</span>&nbsp;javax.xml.parsers.SAXParserFactory;</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;"></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;">import</span>&nbsp;org.xml.sax.Attributes;</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;">import</span>&nbsp;org.xml.sax.SAXException;</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;">import</span>&nbsp;org.xml.sax.helpers.DefaultHandler;</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;"></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;">public</span>&nbsp;<span style="color: #7f0055;">class</span>&nbsp;URLPatternSAXParser&nbsp;<span style="color: #7f0055;">extends</span>&nbsp;DefaultHandler{</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>&nbsp;List<string>&nbsp;urlPatternList;</string></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>&nbsp;<span style="color: #7f0055;">boolean</span>&nbsp;isSecurityConstraint;</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>&nbsp;<span style="color: #7f0055;">boolean</span>&nbsp;isWebResourceCollection;</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>&nbsp;<span style="color: #7f0055;">boolean</span>&nbsp;isUrlPattern;</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>&nbsp;<span style="color: #7f0055;">final</span>&nbsp;String&nbsp;elementSecurityConstraint&nbsp;=&nbsp;"security-constraint";</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>&nbsp;<span style="color: #7f0055;">final</span>&nbsp;String&nbsp;elementWebResourceCollection&nbsp;=&nbsp;"web-resource-collection";</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>&nbsp;<span style="color: #7f0055;">final</span>&nbsp;String&nbsp;elementUrlPattern&nbsp;=&nbsp;"url-pattern";</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;"></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;">public</span>&nbsp;List<string>&nbsp;getUrlPatternList()&nbsp;{</string></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;">return</span>&nbsp;urlPatternList;</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;">}</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;"></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: #646464;">@Override</span></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;">public</span>&nbsp;<span style="color: #7f0055;">void</span>&nbsp;startDocument()&nbsp;<span style="color: #7f0055;">throws</span>&nbsp;SAXException&nbsp;{</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;">this</span>.urlPatternList&nbsp;=&nbsp;<span style="color: #7f0055;">new</span>&nbsp;ArrayList<string>();</string></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;">}</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;">//原文参考自杭州红木家具维修http://www.hzlxwx.com</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: #646464;">@Override</span></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;">public</span>&nbsp;<span style="color: #7f0055;">void</span>&nbsp;startElement(String&nbsp;uri,&nbsp;String&nbsp;localName,&nbsp;String&nbsp;qName,</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;">Attributes&nbsp;attributes)&nbsp;<span style="color: #7f0055;">throws</span>&nbsp;SAXException&nbsp;{</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;">if</span>&nbsp;(elementSecurityConstraint.equals(qName))&nbsp;{</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;">isSecurityConstraint&nbsp;=&nbsp;<span style="color: #7f0055;">true</span>;</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;">return</span>;</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;">}</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;">if</span>&nbsp;(isSecurityConstraint&nbsp;&amp;&amp;&nbsp;elementWebResourceCollection.equals(qName))&nbsp;{</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;">isWebResourceCollection&nbsp;=&nbsp;<span style="color: #7f0055;">true</span>;</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;">return</span>;</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;">}</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;">if</span>&nbsp;(isSecurityConstraint&nbsp;&amp;&amp;&nbsp;isWebResourceCollection</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;">&amp;&amp;&nbsp;elementUrlPattern.equals(qName))</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;">isUrlPattern&nbsp;=&nbsp;<span style="color: #7f0055;">true</span>;</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;">}</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;"></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: #646464;">@Override</span></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;">public</span>&nbsp;<span style="color: #7f0055;">void</span>&nbsp;endElement(String&nbsp;uri,&nbsp;String&nbsp;localName,&nbsp;String&nbsp;qName)</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;">throws</span>&nbsp;SAXException&nbsp;{</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;">if</span>&nbsp;(elementSecurityConstraint.equals(qName))&nbsp;{</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;">isSecurityConstraint&nbsp;=&nbsp;<span style="color: #7f0055;">false</span>;</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;">}</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;">if</span>&nbsp;(elementWebResourceCollection.equals(qName))</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;">isWebResourceCollection&nbsp;=&nbsp;<span style="color: #7f0055;">false</span>;</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;">if</span>&nbsp;(elementUrlPattern.equals(qName))</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;">isUrlPattern&nbsp;=&nbsp;<span style="color: #7f0055;">false</span>;</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;">}</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;"></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: #646464;">@Override</span></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;">public</span>&nbsp;<span style="color: #7f0055;">void</span>&nbsp;characters(<span style="color: #7f0055;">char</span>[]&nbsp;ch,&nbsp;<span style="color: #7f0055;">int</span>&nbsp;start,&nbsp;<span style="color: #7f0055;">int</span>&nbsp;length)</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;">throws</span>&nbsp;SAXException&nbsp;{</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;">if</span>&nbsp;(isSecurityConstraint&nbsp;&amp;&amp;&nbsp;isWebResourceCollection&nbsp;&amp;&amp;&nbsp;isUrlPattern)&nbsp;{</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;">this</span>.urlPatternList.add(<span style="color: #7f0055;">new</span>&nbsp;String(ch,&nbsp;start,&nbsp;length));</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;">}</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;">}</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;"></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;">public</span>&nbsp;<span style="color: #7f0055;">void</span>&nbsp;parser(File&nbsp;xmlFile)&nbsp;<span style="color: #7f0055;">throws</span>&nbsp;SAXException,&nbsp;IOException,</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;">ParserConfigurationException&nbsp;{</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;">if</span>&nbsp;(xmlFile&nbsp;==&nbsp;<span style="color: #7f0055;">null</span>)&nbsp;{</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;">throw</span>&nbsp;<span style="color: #7f0055;">new</span>&nbsp;IllegalArgumentException(</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;">"parameter&nbsp;'xmlFile'&nbsp;must&nbsp;not&nbsp;null&nbsp;!");</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;">}</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;">SAXParserFactory&nbsp;factory&nbsp;=&nbsp;SAXParserFactory.newInstance();</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;">SAXParser&nbsp;parser&nbsp;=&nbsp;factory.newSAXParser();</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="width: auto; border-width: 0px;">//&nbsp;禁止DTD解析，避免因找不到DTD文件导致解析失败。</span></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;">parser.getXMLReader()</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;">.setFeature(</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;">"http://apache.org/xml/features/nonvalidating/load-external-dtd",</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;">false</span>);</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;">try</span>&nbsp;{</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;">parser.parse(xmlFile,&nbsp;<span style="color: #7f0055;">this</span>);</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;">}&nbsp;<span style="color: #7f0055;">catch</span>&nbsp;(SAXException&nbsp;e)&nbsp;{</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;">System.err.println("Cann't&nbsp;parse&nbsp;"&nbsp;+&nbsp;xmlFile.getAbsolutePath());</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;">throw</span>&nbsp;e;</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;">}</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;">}</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;">}</li></ol></div><p style="word-wrap: break-word; margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px;">上面代码中，parser()是主方法，调用完此方法之后，就可以调用getUrlPatternList()方法获取到从web.xml中解析出来的url-pattern节点的值（security-constraint/web-resource-collection/url-pattern）。</p><p style="word-wrap: break-word; margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px;"><br /></p><p style="word-wrap: break-word; margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px;">另外，取元素的属性值，可以在startElement()方法中用attributes.getValue("&lt;属性名&gt;")获取到。</p><p style="word-wrap: break-word; margin-right: 0px; margin-left: 0px; font-family: 'sans serif', tahoma, verdana, helvetica; font-size: 16px; line-height: 24px;"><br /></p><img src ="http://www.blogjava.net/jialisoft/aggbug/397874.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jialisoft/" target="_blank">你爸是李刚</a> 2013-04-15 17:58 <a href="http://www.blogjava.net/jialisoft/archive/2013/04/15/397874.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsp页面调用火狐插件</title><link>http://www.blogjava.net/jialisoft/archive/2013/04/08/397544.html</link><dc:creator>你爸是李刚</dc:creator><author>你爸是李刚</author><pubDate>Mon, 08 Apr 2013 10:59:00 GMT</pubDate><guid>http://www.blogjava.net/jialisoft/archive/2013/04/08/397544.html</guid><wfw:comment>http://www.blogjava.net/jialisoft/comments/397544.html</wfw:comment><comments>http://www.blogjava.net/jialisoft/archive/2013/04/08/397544.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/jialisoft/comments/commentRss/397544.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jialisoft/services/trackbacks/397544.html</trackback:ping><description><![CDATA[<span style="font-size: 12px; background-color: #ffffff; color: #666666; font-family: 宋体, Arial; line-height: 26px;">同事已经开发了火狐插件，用于读取非接触卡的卡片信息，但是页面上不会调用，查了资料之后发现其实蛮简单，就是坑比较多。</span><br style="font-size: 12px; background-color: #ffffff; word-wrap: break-word; color: #666666; font-family: 宋体, Arial; line-height: 26px;" /><div id="codeText" style="font-size: 12px; line-height: normal; background-color: #ffffff; word-wrap: break-word; border: 1px solid #dddddd; width: 960.546875px; overflow: auto; margin: 0px 0px 1.1em; word-break: break-all; font-family: Consolas, monospace; color: #666666;"><ol start="1"  none_number"="" style="word-wrap: break-word; margin: 0px 1px 0px 0px; padding: 5px 0pt; list-style: none outside none; color: #5c5c5c; line-height: 1.3;"><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;"><span style="word-wrap: break-word; color: #000000;"><span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000ff;">head</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span><br style="word-wrap: break-word;" /></span></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;"><span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000ff;">title</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span>测试<span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000cc;">/</span><span style="word-wrap: break-word; color: #0000ff;">title</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span>&nbsp;&nbsp;&nbsp;&nbsp;<br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;"><span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000ff;">embed</span>&nbsp;<span style="word-wrap: break-word; color: #ff0000;">id</span><span style="word-wrap: break-word; color: #0000cc;">=</span><span style="word-wrap: break-word; color: #ff00ff;">"plugin"</span>&nbsp;<span style="word-wrap: break-word; color: #ff0000;">type</span><span style="word-wrap: break-word; color: #0000cc;">=</span><span style="word-wrap: break-word; color: #ff00ff;">"application/intime-plugin"</span>&nbsp;<span style="word-wrap: break-word; color: #0000ff;">style</span><span style="word-wrap: break-word; color: #0000cc;">=</span><span style="word-wrap: break-word; color: #ff00ff;">"display:block;width:50%;height:100px;"</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span><span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000cc;">/</span><span style="word-wrap: break-word; color: #0000ff;">embed</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;"><span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000ff;">script</span>&nbsp;<span style="word-wrap: break-word; color: #ff0000;">language</span><span style="word-wrap: break-word; color: #0000cc;">=</span><span style="word-wrap: break-word; color: #ff00ff;">"JavaScript"</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000ff;">var</span>&nbsp;plugin&nbsp;<span style="word-wrap: break-word; color: #0000cc;">=</span>&nbsp;document<span style="word-wrap: break-word; color: #0000cc;">.</span>getElementById<span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #ff00ff;">"plugin"</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">function doTest<span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #0000cc;">)</span>&nbsp;<span style="word-wrap: break-word; color: #0000cc;">{</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;plugin<span style="word-wrap: break-word; color: #0000cc;">.</span>getcard<span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;card&nbsp;<span style="word-wrap: break-word; color: #0000cc;">=</span>&nbsp;plugin<span style="word-wrap: break-word; color: #0000cc;">.</span>getcard<span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert<span style="word-wrap: break-word; color: #0000cc;">(</span>card<span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;"><span style="word-wrap: break-word; color: #0000cc;">}</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;"><span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000cc;">/</span><span style="word-wrap: break-word; color: #0000ff;">script</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;"><span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000cc;">/</span><span style="word-wrap: break-word; color: #0000ff;">head</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;"><span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000ff;">body</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span>&nbsp;&nbsp;&nbsp;&nbsp;<br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000ff;">form</span>&nbsp;<span style="word-wrap: break-word; color: #ff0000;">name</span><span style="word-wrap: break-word; color: #0000cc;">=</span><span style="word-wrap: break-word; color: #ff00ff;">"formname"</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000ff;">input</span>&nbsp;<span style="word-wrap: break-word; color: #ff0000;">type</span><span style="word-wrap: break-word; color: #0000cc;">=</span><span style="word-wrap: break-word; color: #ff00ff;">"button"</span>&nbsp;<span style="word-wrap: break-word; color: #ff0000;">onclick</span><span style="word-wrap: break-word; color: #0000cc;">=</span><span style="word-wrap: break-word; color: #ff00ff;">"doTest()"</span>&nbsp;<span style="word-wrap: break-word; color: #ff0000;">value</span><span style="word-wrap: break-word; color: #0000cc;">=</span><span style="word-wrap: break-word; color: #ff00ff;">"读卡"</span><span style="word-wrap: break-word; color: #0000cc;">/</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000cc;">/</span><span style="word-wrap: break-word; color: #0000ff;">form</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;"><span style="word-wrap: break-word; color: #0000cc;">&lt;</span><span style="word-wrap: break-word; color: #0000cc;">/</span><span style="word-wrap: break-word; color: #0000ff;">body</span><span style="word-wrap: break-word; color: #0000cc;">&gt;</span></li></ol></div><span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; background-color: #ffffff;">embed是插件的载入，getcard()是读取卡的操作，getcard是获得卡号信息。</span><br style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; background-color: #ffffff;" /><span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; background-color: #ffffff;">1、即便使用jQuery，在定位插件所在DOM元素的时候也不能使用jQuery自带的selector，否则读不出来</span><br style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; background-color: #ffffff;" /><span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; background-color: #ffffff;">2、插件不能被隐藏，如果被隐藏之后，就失效了，所以display:none;或者hide()都不可取。</span><br style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; background-color: #ffffff;" /><br style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; background-color: #ffffff;" /><span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: normal; background-color: #ffffff;">将这个写成了插件，方便读卡操作使用。</span><br style="font-size: 12px; background-color: #ffffff; word-wrap: break-word; color: #666666; font-family: 宋体, Arial; line-height: 26px;" /><div id="codeText" style="font-size: 12px; line-height: normal; background-color: #ffffff; word-wrap: break-word; border: 1px solid #dddddd; width: 960.546875px; overflow: auto; margin: 0px 0px 1.1em; word-break: break-all; font-family: Consolas, monospace; color: #666666;"><ol start="1"  none_number"="" style="word-wrap: break-word; margin: 0px 1px 0px 0px; padding: 5px 0pt; list-style: none outside none; color: #5c5c5c; line-height: 1.3;"><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;"><span style="word-wrap: break-word; color: #000000;"><span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #0000ff;">function</span><span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #0000cc;">$</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">{</span><br style="word-wrap: break-word;" /></span></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;$<span style="word-wrap: break-word; color: #0000cc;">.</span>fn<span style="word-wrap: break-word; color: #0000cc;">.</span>swipeCpu&nbsp;<span style="word-wrap: break-word; color: #0000cc;">=</span>&nbsp;<span style="word-wrap: break-word; color: #0000ff;">function</span><span style="word-wrap: break-word; color: #0000cc;">(</span>params<span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">{</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000ff;">var</span>&nbsp;defaults&nbsp;<span style="word-wrap: break-word; color: #0000cc;">=</span>&nbsp;<span style="word-wrap: break-word; color: #0000cc;">{</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trigger<span style="word-wrap: break-word; color: #0000cc;">:</span><span style="word-wrap: break-word; color: #0000ff;">false</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000cc;">}</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$<span style="word-wrap: break-word; color: #0000cc;">.</span>extend<span style="word-wrap: break-word; color: #0000cc;">(</span>defaults<span style="word-wrap: break-word; color: #0000cc;">,</span>&nbsp;params<span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000ff;">var</span>&nbsp;ele&nbsp;<span style="word-wrap: break-word; color: #0000cc;">=</span>&nbsp;$<span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #0000ff;">this</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #ff9900;">//height 1px,width 0px 尽可能压缩插件在页面的位置，不能设为0，也不能将display设置none,会导致插件失效；</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ele<span style="word-wrap: break-word; color: #0000cc;">.</span>after<span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #ff00ff;">"&lt;embed id=\"plugin-cpu-read\" type=\"application/intime-plugin\" style=\"display:block;height:0px;width:0px;\"&gt;"</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000ff;">var</span>&nbsp;<span style="word-wrap: break-word; color: #ff0000;">plugin</span>&nbsp;<span style="word-wrap: break-word; color: #0000cc;">=</span>&nbsp;<span style="word-wrap: break-word; color: #ff0000;">document</span><span style="word-wrap: break-word; color: #0000cc;">.</span><span style="word-wrap: break-word; color: #ff0000;">getElementById</span><span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #ff00ff;">"plugin-cpu-read"</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #ff0000;">plugin</span><span style="word-wrap: break-word; color: #0000cc;">.</span>getcard<span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #ff9900;">//虽然在插件中定义了该属性是字符串，但是传递出来的是个对象，所以只能先复制到文本框，再取值，再截取</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000ff;">var</span>&nbsp;cardno&nbsp;<span style="word-wrap: break-word; color: #0000cc;">=</span>&nbsp;<span style="word-wrap: break-word; color: #ff0000;">plugin</span><span style="word-wrap: break-word; color: #0000cc;">.</span>getcard<span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ele<span style="word-wrap: break-word; color: #0000cc;">.</span>val<span style="word-wrap: break-word; color: #0000cc;">(</span>cardno<span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cardno&nbsp;<span style="word-wrap: break-word; color: #0000cc;">=</span>&nbsp;substrCard<span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #0000cc;">$</span><span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #0000ff;">this</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">.</span>val<span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ele<span style="word-wrap: break-word; color: #0000cc;">.</span>val<span style="word-wrap: break-word; color: #0000cc;">(</span>cardno<span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$<span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #ff00ff;">"#plugin-cpu-read"</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">.</span><span style="word-wrap: break-word; color: #ff0000;">remove</span><span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #ff9900;">//是否需要触发回车事件</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000ff;">if</span><span style="word-wrap: break-word; color: #0000cc;">(</span>defaults<span style="word-wrap: break-word; color: #0000cc;">.</span>trigger<span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">{</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000ff;">var</span>&nbsp;<span style="word-wrap: break-word; color: #ff0000;">event</span>&nbsp;<span style="word-wrap: break-word; color: #0000cc;">=</span>&nbsp;$<span style="word-wrap: break-word; color: #0000cc;">.</span><span style="word-wrap: break-word; color: #ff0000;">Event</span><span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #ff00ff;">"keyup"</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #ff0000;">event</span><span style="word-wrap: break-word; color: #0000cc;">.</span><span style="word-wrap: break-word; color: #ff0000;">keyCode</span>&nbsp;<span style="word-wrap: break-word; color: #0000cc;">=</span>&nbsp;13<span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #ff0000;">event</span><span style="word-wrap: break-word; color: #0000cc;">.</span><span style="word-wrap: break-word; color: #ff0000;">which</span>&nbsp;<span style="word-wrap: break-word; color: #0000cc;">=</span>&nbsp;13<span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ele<span style="word-wrap: break-word; color: #0000cc;">.</span>trigger<span style="word-wrap: break-word; color: #0000cc;">(</span><span style="word-wrap: break-word; color: #ff0000;">event</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000cc;">}</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="word-wrap: break-word; color: #0000cc;">}</span><span style="word-wrap: break-word; color: #0000cc;">;</span><br style="word-wrap: break-word;" /></li><li style="word-wrap: break-word; margin: 0px; padding: 0px 0px 0px 10px; list-style: none outside none;"><span style="word-wrap: break-word; color: #0000cc;">}</span><span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">(</span>jQuery<span style="word-wrap: break-word; color: #0000cc;">)</span><span style="word-wrap: break-word; color: #0000cc;">;</span></li></ol></div><img src ="http://www.blogjava.net/jialisoft/aggbug/397544.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jialisoft/" target="_blank">你爸是李刚</a> 2013-04-08 18:59 <a href="http://www.blogjava.net/jialisoft/archive/2013/04/08/397544.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>