<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_水滴石穿</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/17159/rss</id><updated>2012-02-26T07:17:24Z</updated><author><name>步走高飞</name><uri>http://www.cnblogs.com/kiddo/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kiddo/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/17159/rss"/><entry><id>http://www.cnblogs.com/kiddo/archive/2012/02/26/2368688.html</id><title type="text">myeclipse7.5注册码得计算类</title><summary type="text">import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class MyeclipseGen {private static final String LL = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www</summary><published>2012-02-26T07:17:00Z</published><updated>2012-02-26T07:17:00Z</updated><author><name>步走高飞</name><uri>http://www.cnblogs.com/kiddo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kiddo/archive/2012/02/26/2368688.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kiddo/archive/2012/02/26/2368688.html"/><content type="html">&lt;div&gt;&lt;div&gt;import java.io.BufferedReader;&lt;/div&gt;&lt;div&gt;import java.io.IOException;&lt;/div&gt;&lt;div&gt;import java.io.InputStreamReader;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;public class MyeclipseGen {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;private static final String LL = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself.";&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;public String getSerial(String userId, String licenseNum) {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;java.util.Calendar cal = java.util.Calendar.getInstance();&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;cal.add(1, 3);&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;cal.add(6, -1);&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;java.text.NumberFormat nf = new java.text.DecimalFormat("000");&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;licenseNum = nf.format(Integer.valueOf(licenseNum));&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;String verTime = new StringBuilder("-").append(&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime()))&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;.append("0").toString();&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;String type = "YE3MP-";&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;String need = new StringBuilder(userId.substring(0, 1)).append(type)&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;.append("300").append(licenseNum).append(verTime).toString();&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;String dx = new StringBuilder(need).append(LL).append(userId)&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;.toString();&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;int suf = this.decode(dx);&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;String code = new StringBuilder(need).append(String.valueOf(suf))&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;.toString();&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;return this.change(code);&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;private int decode(String s) {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;int i;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;char[] ac;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;int j;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;int k;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;i = 0;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;ac = s.toCharArray();&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;j = 0;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;k = ac.length;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;while (j &amp;lt; k) {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;i = (31 * i) + ac[j];&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;j++;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;return Math.abs(i);&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;private String change(String s) {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;byte[] abyte0;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;char[] ac;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;int i;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;int k;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;int j;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;abyte0 = s.getBytes();&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;ac = new char[s.length()];&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;i = 0;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;k = abyte0.length;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;while (i &amp;lt; k) {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;j = abyte0[i];&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;if ((j &amp;gt;= 48) &amp;amp;&amp;amp; (j &amp;lt;= 57)) {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;j = (((j - 48) + 5) % 10) + 48;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;} else if ((j &amp;gt;= 65) &amp;amp;&amp;amp; (j &amp;lt;= 90)) {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;j = (((j - 65) + 13) % 26) + 65;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;} else if ((j &amp;gt;= 97) &amp;amp;&amp;amp; (j &amp;lt;= 122)) {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;j = (((j - 97) + 13) % 26) + 97;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;ac[i] = (char) j;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;i++;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;return String.valueOf(ac);&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;public MyeclipseGen() {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;super();&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;public static void main(String[] args) {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;try {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;System.out.println("please input register name:");&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;BufferedReader reader = new BufferedReader(new InputStreamReader(&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;System.in));&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;String userId = null;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;userId = reader.readLine();&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;MyeclipseGen myeclipsegen = new MyeclipseGen();&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;String res = myeclipsegen.getSerial(userId, "5");&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;System.out.println("Serial:" + res);&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;reader.readLine();&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;} catch (IOException ex) {&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;}&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/kiddo/aggbug/2368688.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/kiddo/archive/2012/02/26/2368688.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/kiddo/archive/2011/11/30/2269434.html</id><title type="text">zz如何设置mysql远程访问</title><summary type="text">Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问 在MySQL Server端： 执行mysql 命令进入mysql 命令模式， Sql代码 mysql&gt;usemysql; mysql&gt;GRANTALLON*.*TOadmin@'%'IDENTIFIEDBY'admin'WITHGRANTOPTION; #这句话的意思，允许任何IP地址（上面的%就是这个意思）的电脑用admin帐户和密码（admin）来访问这个MySQLServer #必须加类似这样的帐户，才可以远程登陆。root帐户是无法远程登陆的，只可以本地登陆 mysq</summary><published>2011-11-30T09:41:00Z</published><updated>2011-11-30T09:41:00Z</updated><author><name>步走高飞</name><uri>http://www.cnblogs.com/kiddo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kiddo/archive/2011/11/30/2269434.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kiddo/archive/2011/11/30/2269434.html"/><content type="html">&lt;div&gt;&lt;div&gt; &lt;br /&gt; &lt;/div&gt; &lt;div id="cnblogs_post_body"&gt;&lt;div&gt;Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问 &lt;br /&gt;&lt;br /&gt;在MySQL Server端： &lt;br /&gt;&lt;br /&gt;执行mysql 命令进入mysql 命令模式， &lt;br /&gt;&lt;br /&gt; &lt;div&gt; &lt;div&gt; &lt;div&gt;Sql代码 &lt;a href="http://hardwin.iteye.com/blog/515746#" title="复制代码"&gt;&lt;img src="http://hardwin.iteye.com/images/icon_copy.gif" alt="复制代码" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a title="收藏这段代码"&gt;&lt;img src="http://hardwin.iteye.com/images/icon_star.png" alt="收藏代码" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;/div&gt; &lt;ol&gt;&lt;li&gt;&lt;span&gt;mysql&amp;gt;&amp;nbsp;use&amp;nbsp;mysql; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;mysql&amp;gt;&amp;nbsp;GRANT&amp;nbsp;ALL&amp;nbsp;ON&amp;nbsp;*.*&amp;nbsp;TO&amp;nbsp;admin@'%'&amp;nbsp;IDENTIFIED&amp;nbsp;BY&amp;nbsp;'admin'&amp;nbsp;WITH&amp;nbsp;GRANT&amp;nbsp;OPTION; &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;#这句话的意思&amp;nbsp;，允许任何IP地址（上面的&amp;nbsp;%&amp;nbsp;就是这个意思）的电脑&amp;nbsp;用admin帐户&amp;nbsp;&amp;nbsp;和密码（admin）来访问这个MySQL&amp;nbsp;Server &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;#必须加类似这样的帐户，才可以远程登陆。&amp;nbsp;root帐户是无法远程登陆的，只可以本地登陆&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt; mysql&amp;gt; use mysql; mysql&amp;gt; GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION; #这句话的意思 ，允许任何IP地址（上面的 % 就是这个意思）的电脑 用admin帐户  和密码（admin）来访问这个MySQL Server #必须加类似这样的帐户，才可以远程登陆。 root帐户是无法远程登陆的，只可以本地登陆   &lt;br /&gt;&lt;br /&gt;那么如何远程访问呢？ &lt;br /&gt;在另一台MySQL 客户端（装有mysql程序包的pc ，windows或者是linux均可） &lt;br /&gt;&lt;br /&gt;执行命令： &lt;br /&gt; &lt;div&gt; &lt;div&gt; &lt;br /&gt; &lt;/div&gt; &lt;ol&gt;&lt;li&gt;&lt;span&gt;mysql&amp;nbsp;-h172.21.5.29&amp;nbsp;-uadmin&amp;nbsp;-padmin&amp;nbsp;&amp;nbsp;&amp;nbsp;即可了 &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;//172.21.5.29就是MySQL&amp;nbsp;Server的IP地址，admin&amp;nbsp;admin就是刚才在&amp;nbsp;172.21.5.29上设置的远程访问帐户&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt; mysql -h172.21.5.29 -uadmin -padmin   即可了 //172.21.5.29就是MySQL Server的IP地址，admin admin就是刚才在 172.21.5.29上设置的远程访问帐户  &lt;br /&gt;&lt;br /&gt; &lt;div&gt;引用&lt;/div&gt; &lt;div&gt;&lt;br /&gt;mysql&amp;gt; use mysql; &lt;br /&gt;mysql&amp;gt; GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION; &lt;br /&gt;#这句话的意思 ，允许任何IP地址（上面的 % 就是这个意思）的电脑 用admin帐户&amp;nbsp; 和密码（admin）来访问这个MySQL Server &lt;br /&gt;#必须加类似这样的帐户，才可以远程登陆。 root帐户是无法远程登陆的，只可以本地登陆 &lt;/div&gt; &lt;br /&gt;&lt;br /&gt;我发现一个问题， 如果上面的命令你执行完毕， 你在 本地就是localhost ， 执行 : &lt;br /&gt; &lt;div&gt; &lt;div&gt; &lt;br /&gt; &lt;/div&gt; &lt;ol&gt;&lt;li&gt;&lt;span&gt;mysql&amp;nbsp;-hlocalhost&amp;nbsp;-uadmin&amp;nbsp;-padmin&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt; mysql -hlocalhost -uadmin -padmin   &lt;br /&gt;&lt;br /&gt;结果是失败的。 &lt;br /&gt;&lt;br /&gt;原来 上面的 % 竟然不包括localhost &lt;br /&gt;&lt;br /&gt;所以你还必须加上这样的 命令&amp;nbsp; &lt;br /&gt;&lt;br /&gt;mysql&amp;gt;GRANT ALL ON *.* TO admin@'localhost'&amp;nbsp; IDENTIFIED BY 'admin' WITH GRANT OPTION; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/kiddo/aggbug/2269434.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/kiddo/archive/2011/11/30/2269434.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/kiddo/archive/2011/11/16/2251364.html</id><title type="text">ps axu命令详解</title><summary type="text">$ ps aux |grep mysqlroot 2542 0.0 0.0 1872 544 ? S 09:00 0:00 /bin/sh /usr/bin/mysqld_safemysql 2605 2.5 2.0 177872 61200 ? Sl 09:00 9:58 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --...</summary><published>2011-11-16T07:58:00Z</published><updated>2011-11-16T07:58:00Z</updated><author><name>步走高飞</name><uri>http://www.cnblogs.com/kiddo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kiddo/archive/2011/11/16/2251364.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kiddo/archive/2011/11/16/2251364.html"/><content type="html">&lt;div&gt;$ ps aux |grep mysql&lt;/div&gt;&lt;div&gt;root &amp;nbsp; &amp;nbsp; &amp;nbsp;2542 &amp;nbsp;0.0 &amp;nbsp;0.0 &amp;nbsp; 1872 &amp;nbsp; 544 ? &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;S &amp;nbsp; &amp;nbsp;09:00 &amp;nbsp; 0:00 /bin/sh /usr/bin/mysqld_safe&lt;/div&gt;&lt;div&gt;mysql &amp;nbsp; &amp;nbsp; 2605 &amp;nbsp;2.5 &amp;nbsp;2.0 177872 61200 ? &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Sl &amp;nbsp; 09:00 &amp;nbsp; 9:58 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock&lt;/div&gt;&lt;div&gt;root &amp;nbsp; &amp;nbsp; &amp;nbsp;7740 &amp;nbsp;0.0 &amp;nbsp;0.0 &amp;nbsp; 1876 &amp;nbsp; 552 ? &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;S &amp;nbsp; &amp;nbsp;10:52 &amp;nbsp; 0:00 /bin/sh /opt/redmine-1.1.1-0/mysql/bin/mysqld_safe --defaults-file=/opt/redmine-1.1.1-0/mysql/my.cnf --port=3308 --socket=/opt/redmine-1.1.1-0/mysql/tmp/mysql.sock --old-passwords --datadir=/opt/redmine-1.1.1-0/mysql/data --log-error=/opt/redmine-1.1.1-0/mysql/data/mysqld.log --pid-file=/opt/redmine-1.1.1-0/mysql/data/wutai.pid --lower-case-table-names=1 --default-table-type=InnoDB&lt;/div&gt;&lt;div&gt;mysql &amp;nbsp; &amp;nbsp; 7857 &amp;nbsp;0.0 &amp;nbsp;0.5 111880 16616 ? &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Sl &amp;nbsp; 10:52 &amp;nbsp; 0:04 /opt/redmine-1.1.1-0/mysql/bin/mysqld.bin --defaults-file=/opt/redmine-1.1.1-0/mysql/my.cnf --basedir=/opt/redmine-1.1.1-0/mysql --datadir=/opt/redmine-1.1.1-0/mysql/data --user=mysql --old-passwords --lower-case-table-names=1 --default-table-type=InnoDB --log-error=/opt/redmine-1.1.1-0/mysql/data/mysqld.log --pid-file=/opt/redmine-1.1.1-0/mysql/data/wutai.pid --socket=/opt/redmine-1.1.1-0/mysql/tmp/mysql.sock --port=3308&lt;/div&gt;&lt;div&gt;tommy &amp;nbsp; &amp;nbsp;17488 &amp;nbsp;0.0 &amp;nbsp;0.0 &amp;nbsp; 6480 &amp;nbsp;2516 pts/1 &amp;nbsp; &amp;nbsp;S+ &amp;nbsp; 15:27 &amp;nbsp; 0:00 mysql -uroot -px xxx&lt;/div&gt;&lt;div&gt;tommy &amp;nbsp; &amp;nbsp;17684 &amp;nbsp;0.0 &amp;nbsp;0.0 &amp;nbsp; 3336 &amp;nbsp; 792 pts/3 &amp;nbsp; &amp;nbsp;R+ &amp;nbsp; 15:30 &amp;nbsp; 0:00 grep mysql&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND&lt;/p&gt;&lt;div&gt;&lt;div&gt;STAT中参数意义&lt;/div&gt;&lt;div&gt;D 不可中断&lt;/div&gt;&lt;div&gt;R 正在运行&lt;/div&gt;&lt;div&gt;S 处于休眠&lt;/div&gt;&lt;div&gt;T 停止or被追踪&lt;/div&gt;&lt;div&gt;Z 僵尸进程&lt;/div&gt;&lt;div&gt;W 进入内存交换&lt;/div&gt;&lt;div&gt;X 死掉的进程&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;rss 进程使用的总物理内存数&lt;/div&gt;&lt;div&gt;ps -eo user,pid,stat,rss,args -sort rss&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/kiddo/aggbug/2251364.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/kiddo/archive/2011/11/16/2251364.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/kiddo/archive/2011/11/15/2249610.html</id><title type="text">zzApache ab命令做简单的性能测试</title><summary type="text">ab的全称是ApacheBench，是Apache附带的一个小工具，专门用于HTTP Server的benchmark testing，可以同时模拟多个并发请求。/*在这个例子的一开始，我执行了这样一个命令ab -n 10 -c 10http://www.google.com/。这个命令的意思是启动ab，向www.google.com发送10个请求(-n 10)，并每次发送10个请求(-c 10)——也就是说一次都发过去了。跟着下面的是ab输出的测试报告，红色部分是我添加的注释。*/C:\Program Files\Apache Software Foundation\Apache2.2\bi</summary><published>2011-11-15T05:30:00Z</published><updated>2011-11-15T05:30:00Z</updated><author><name>步走高飞</name><uri>http://www.cnblogs.com/kiddo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kiddo/archive/2011/11/15/2249610.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kiddo/archive/2011/11/15/2249610.html"/><content type="html">&lt;div&gt;&lt;p&gt;ab的全称是&lt;span style="font-family: Arial; "&gt;ApacheBench&lt;/span&gt;，是&lt;span style="font-family: Arial; "&gt;&amp;nbsp;Apache&amp;nbsp;&lt;/span&gt;附带的一个小工具，专门用于&lt;span style="font-family: Arial; "&gt;&amp;nbsp;HTTP Server&amp;nbsp;&lt;/span&gt;的&lt;span style="font-family: Arial; "&gt;benchmark testing&lt;/span&gt;，可以同时模拟多个并发请求。&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; "&gt;/*&lt;/span&gt;在这个例子的一开始，我执行了这样一个命令&lt;span style="color: #ff0000; "&gt;&amp;nbsp;&lt;strong style="font-weight: bold; "&gt;ab -n 10 -c 10&amp;nbsp;&lt;a href="http://www.google.com/" style="color: #108ac6; "&gt;&lt;span style="color: #ff0000; "&gt;http://www.google.com/&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong style="font-weight: bold; "&gt;。&lt;/strong&gt;这个命令的意思是启动&lt;span style="color: #ff0000; "&gt;&amp;nbsp;ab&amp;nbsp;&lt;/span&gt;，向&amp;nbsp;&lt;a href="http://www.google.com/" style="color: #108ac6; "&gt;&lt;span style="color: #1d58d1; "&gt;www.google.com&lt;/span&gt;&lt;/a&gt;&amp;nbsp;发送10个请求(-n 10)&lt;span style="color: #ff0000; "&gt;&lt;/span&gt;，并每次发送10个请求&lt;span style="color: #ff0000; "&gt;(-c 10)&amp;#8212;&amp;#8212;也就是说一次都发过去了&lt;/span&gt;。跟着下面的是&lt;span style="color: #ff0000; "&gt;&amp;nbsp;ab&amp;nbsp;&lt;/span&gt;输出的测试报告，红色部分是我添加的注释。&lt;span style="color: #ff0000; "&gt;*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;C:\Program Files\Apache Software Foundation\Apache2.2\bin&amp;gt;&lt;strong style="font-weight: bold; "&gt;ab -n 10 -c 10&amp;nbsp;&lt;a href="http://www.google.com/" style="color: #108ac6; "&gt;http&lt;/a&gt;&lt;/strong&gt;&lt;strong style="font-weight: bold; "&gt;://www.google.com/index.html&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;This is ApacheBench, Version 2.0.40-dev &amp;lt;$Revision: 1.146 $&amp;gt; apache-2.0&lt;/p&gt;&lt;p&gt;Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/&lt;/p&gt;&lt;p&gt;Copyright 1997-2005 The Apache Software Foundation, http://www.apache.org/&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Benchmarking www.google.com (be patient).....done&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Server Software:&amp;nbsp;GWS/2.1&lt;span style="color: #ff0000; "&gt;&amp;nbsp;/*被测试的web服务器名称，它来自HTTP响应数据的头信息*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Server Hostname:&amp;nbsp;&lt;a href="http://www.google.com/" style="color: #108ac6; "&gt;www.google.com&lt;/a&gt;&amp;nbsp;&lt;span style="color: #ff0000; "&gt;/*请求URL&amp;nbsp;中主机部分名称，它来自HTTP请求数据的头信息*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Server Port:&amp;nbsp;80&amp;nbsp;&lt;span style="color: #ff0000; "&gt;/*被测试web服务器的监听端口*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Document Path:&amp;nbsp;/index.html&lt;span style="color: #ff0000; "&gt;&amp;nbsp;/*表示请求URL中的根绝对路径，它来自HTTP请求数据的头信息*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Document Length:&amp;nbsp;230 bytes&amp;nbsp;&lt;span style="color: #ff0000; "&gt;/*&amp;nbsp;表示HTTP响应数据的正文长度*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Concurrency Level:&amp;nbsp;10&amp;nbsp;&lt;span style="color: #ff0000; "&gt;/*&amp;nbsp;并发数*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Time taken for tests:&amp;nbsp;3.234651 seconds&amp;nbsp;&lt;span style="color: #ff0000; "&gt;/*整个测试持续的时间*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Complete requests:&amp;nbsp;10&amp;nbsp;&lt;span style="color: #ff0000; "&gt;/*完成的请求数量*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Failed requests:&amp;nbsp;0&amp;nbsp;&lt;span style="color: #ff0000; "&gt;/*失败的请求数量*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Write errors:&amp;nbsp;0&lt;span style="color: #ff0000; "&gt;&amp;nbsp;/*请求写入失败的次数&amp;nbsp;*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Non-2xx responses:&amp;nbsp;10&lt;/p&gt;&lt;p&gt;Keep-Alive requests:&amp;nbsp;10&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; "&gt;/*&lt;/span&gt;整个场景中的网络传输&lt;span style="color: #ff0000; "&gt;量,表示所有请求的响应数据长度总和（header length + context length）&lt;/span&gt;&lt;span style="color: #ff0000; "&gt;*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Total transferred:&amp;nbsp;6020 bytes&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; "&gt;/*&lt;/span&gt;整个场景中的&lt;span style="color: #ff0000; "&gt;HTML&lt;/span&gt;内容传输量&lt;span style="color: #ff0000; "&gt;,&amp;nbsp;总的响应数据中正文长度（context length）&lt;/span&gt;&lt;span style="color: #ff0000; "&gt;*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;HTML transferred:&amp;nbsp;2300 bytes&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; "&gt;/*&lt;/span&gt;大家最关心的指标之一【&lt;span style="color: #3366ff; "&gt;吞吐率&lt;/span&gt;】，相当于&lt;span style="color: #ff0000; "&gt;&amp;nbsp;LR&amp;nbsp;&lt;/span&gt;中的&amp;nbsp;&lt;strong style="font-weight: bold; "&gt;每秒事务数&lt;/strong&gt;&amp;nbsp;，后面括号中的&lt;span style="color: #ff0000; "&gt;&amp;nbsp;mean&amp;nbsp;&lt;/span&gt;表示这是一个平均值&lt;span style="color: #ff0000; "&gt;，吞吐率= Complete requests / Time taken for tests&lt;/span&gt;&lt;span style="color: #ff0000; "&gt;*&lt;/span&gt;&lt;span style="color: #ff0000; "&gt;/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #99cc00; "&gt;Requests per second:&amp;nbsp;3.09 [#/sec] (mean)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; "&gt;/*&lt;/span&gt;大家最关心的指标之二&lt;span style="color: #ff0000; "&gt;【&lt;span style="color: #3366ff; "&gt;请求等待时间&lt;/span&gt;】，相当&lt;/span&gt;于&lt;span style="color: #ff0000; "&gt;&amp;nbsp;LR&amp;nbsp;&lt;/span&gt;中的&amp;nbsp;&lt;strong style="font-weight: bold; "&gt;平均事务响应时间&lt;/strong&gt;&amp;nbsp;，后面括号中的&lt;span style="color: #ff0000; "&gt;&amp;nbsp;mean&amp;nbsp;&lt;/span&gt;表示这是一个平均值&lt;span style="color: #ff0000; "&gt;，用户平均请求等待时间&lt;/span&gt;&lt;span style="color: #ff0000; "&gt;*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #99cc00; "&gt;Time per request:&amp;nbsp;3234.651 [ms] (mean)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; "&gt;/*大家最关心的指标之二【&lt;span style="color: #3366ff; "&gt;请求处理时间&lt;/span&gt;】，服务器平均处理请求时间&amp;nbsp;*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #99cc00; "&gt;Time per request:&amp;nbsp;323.465 [ms] (mean, across all concurrent requests)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; "&gt;/*&lt;/span&gt;平均每秒网络上的流量&lt;span style="color: #ff0000; "&gt;，可以帮助排除是否存在网络流量过大导致响应时间延长的问题，表示请求在单位时间内从服务器获取的数据长度&lt;/span&gt;&lt;span style="color: #ff0000; "&gt;*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Transfer rate:&amp;nbsp;1.55 [Kbytes/sec] received&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; "&gt;/*&lt;/span&gt;网络上消耗的时间的分解，各项数据的具体算法还不是很清楚&lt;span style="color: #ff0000; "&gt;*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Connection Times (ms)&lt;/p&gt;&lt;p&gt;min&amp;nbsp;mean[+/-sd] median&amp;nbsp;max&lt;/p&gt;&lt;p&gt;Connect:&amp;nbsp;20&amp;nbsp;318 926.1&amp;nbsp;30&amp;nbsp;2954&lt;/p&gt;&lt;p&gt;Processing:&amp;nbsp;40 2160 1462.0&amp;nbsp;3034&amp;nbsp;3154&lt;/p&gt;&lt;p&gt;Waiting:&amp;nbsp;40 2160 1462.0&amp;nbsp;3034&amp;nbsp;3154&lt;/p&gt;&lt;p&gt;Total:&amp;nbsp;60 2479 1276.4&amp;nbsp;3064&amp;nbsp;3184&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; "&gt;/*&lt;/span&gt;下面的内容为整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间，其中&lt;span style="color: #ff0000; "&gt;&amp;nbsp;50&lt;/span&gt;％&amp;nbsp;的用户响应时间小于&lt;span style="color: #ff0000; "&gt;&amp;nbsp;3064&amp;nbsp;&lt;/span&gt;毫秒，&lt;span style="color: #ff0000; "&gt;60&amp;nbsp;&lt;/span&gt;％&amp;nbsp;的用户响应时间小于&lt;span style="color: #ff0000; "&gt;&amp;nbsp;3094&amp;nbsp;&lt;/span&gt;毫秒，最大的响应时间小于&lt;span style="color: #ff0000; "&gt;&amp;nbsp;3184&amp;nbsp;&lt;/span&gt;毫秒&lt;span style="color: #ff0000; "&gt;*/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Percentage of the requests served within a certain time (ms)&lt;/p&gt;&lt;p&gt;50%&amp;nbsp;3064&lt;/p&gt;&lt;p&gt;66%&amp;nbsp;3094&lt;/p&gt;&lt;p&gt;75%&amp;nbsp;3124&lt;/p&gt;&lt;p&gt;80%&amp;nbsp;3154&lt;/p&gt;&lt;p&gt;90%&amp;nbsp;3184&lt;/p&gt;&lt;p&gt;95%&amp;nbsp;3184&lt;/p&gt;&lt;p&gt;98%&amp;nbsp;3184&lt;/p&gt;&lt;p&gt;99%&amp;nbsp;3184&lt;/p&gt;&lt;p&gt;100%&amp;nbsp;3184 (longest request)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong style="font-weight: bold; "&gt;更多信息&lt;/strong&gt;&lt;strong style="font-weight: bold; "&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;ab&amp;nbsp;不像&amp;nbsp;LR&amp;nbsp;那么强大，但是它足够轻便，如果只是在开发过程中想检查一下某个模块的响应情况，或者做一些场景比较简单的测试，ab&amp;nbsp;还是一个不错的选择&amp;#8212;&amp;#8212;至少不用花费很多时间去学习&amp;nbsp;LR&amp;nbsp;那些复杂的功能，就更别说那License&amp;nbsp;的价格了。&lt;/p&gt;&lt;p&gt;ab&amp;nbsp;是&amp;nbsp;Apache&amp;nbsp;的一个安装组件，所以需要下载&amp;nbsp;Apache&amp;nbsp;安装后才能使用，可以访问&amp;nbsp;Apache&amp;nbsp;的项目主页来下载&lt;/p&gt;&lt;p&gt;&lt;a href="http://httpd.apache.org/download.cgi" style="color: #108ac6; "&gt;&lt;span style="color: #1d58d1; "&gt;http://httpd.apache.org/download.cgi&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;ab&amp;nbsp;的更多信息可以参加&amp;nbsp;Apache&amp;nbsp;主页上的描述&lt;/p&gt;&lt;p&gt;&lt;a href="http://httpd.apache.org/docs/2.0/programs/ab.html" style="color: #108ac6; "&gt;&lt;span style="color: #1d58d1; "&gt;http://httpd.apache.org/docs/2.0/programs/ab.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/kiddo/aggbug/2249610.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/kiddo/archive/2011/11/15/2249610.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/kiddo/archive/2011/10/29/2228937.html</id><title type="text">loadrunner11和QTP 11的下载地址（含破解）</title><summary type="text">loadrunner11和QTP 11的下载地址LoadRunner 11：http://219.239.26.11/download/8009651/9327422/3/zip/49/108/1286952922673_876/Software_HP_LoadRunner_11.00_T7177_15013.ziphttp://h30316.www3.hp.com/prdownloads/Software_HP_LoadRunner_11.00_T7177_15013.z01?ordernumber=520699787&amp;itemid=1&amp;downloadid=57459549</summary><published>2011-10-29T15:04:00Z</published><updated>2011-10-29T15:04:00Z</updated><author><name>步走高飞</name><uri>http://www.cnblogs.com/kiddo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kiddo/archive/2011/10/29/2228937.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kiddo/archive/2011/10/29/2228937.html"/><content type="html">&lt;div&gt;&lt;div style="font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 12px; line-height: normal; text-align: left; background-color: #2b5492; "&gt;&lt;div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 20px; font-family: 微软雅黑, 黑体, Arial, Helvetica, sans-serif; "&gt;loadrunner11和QTP 11的下载地址&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p clearfix="" nbw-act=""  fc06"="" style="zoom: 1; margin-top: 0px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #666666; line-height: 20px; "&gt;&lt;span style="float: left; "&gt;&lt;span id="$_blogTagInfo" style="color: #3354ae; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #000000; font-size: 14px; line-height: 25px; "&gt;LoadRunner 11：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div fc05="" fc11="" nbw-blog="" ztag=""  js-fs2"="" style="line-height: 25px; text-align: left; word-wrap: break-word; margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 5px; padding-right: 0px; padding-bottom: 5px; padding-left: 0px; overflow-x: hidden; overflow-y: hidden; font-family: Arial, Helvetica, simsun, u5b8bu4f53; background-color: #2b5492; "&gt;http://219.239.26.11/download/8009651/9327422/3/zip/49/108/1286952922673_876/Software_HP_LoadRunner_11.00_T7177_15013.zip&lt;br /&gt;http://h30316.www3.hp.com/prdownloads/Software_HP_LoadRunner_11.00_T7177_15013.z01?ordernumber=520699787&amp;amp;itemid=1&amp;amp;downloadid=57459549&amp;amp;merchantId=SGBU_ECATALOG&amp;amp;dlm=ON&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;qtp 11:&lt;br /&gt;http://www.genilogix.com/downloads/unified-functional-testing/quicktest-professional-11.iso&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;qtp11的破解&lt;/p&gt;&lt;p&gt;1，下载注册机http://ishare.iask.sina.com.cn/f/20991520.html&lt;/p&gt;&lt;p&gt;2，将mgn-mqt82.exe复制到安装目录中(C:\Program Files\HP\QuickTest Professional\bin)&lt;br /&gt;&lt;/p&gt;&lt;div&gt; 3. 双击mgn-mqt82.exe，运行成功后会有一个弹出窗口，提示lience文件生成在C:\Program Files\Common  Files\Mercury Interactive\License  Manager目录下(如果没有这个目录的话，请手动建立一个)&lt;/div&gt;&lt;p&gt;4，把生成的文件剪切到桌面&lt;/p&gt;&lt;div&gt;C:\Program Files\Common Files\Mercury Interactive\License Manager\lservrc&lt;div&gt;&lt;/div&gt; &lt;div&gt;&lt;/div&gt; &lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;5，打开lservrc文件内容，如&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;YR765V5YXM4BAFK8NL2EID7HRI5WT5IA5JYQD3Z4HFNCNUHKSAB7J66HP3USPZLFC65X4EPDZV# "QuickTestPro" version "6.0", no expiration date, exclusive&lt;br /&gt;NK62X2ADY9K8F6PETO8F6ZHBYMJ68OZ3IVIMN7YHWF2EOJWNP2TSIN8X7ZVFCDKGKJUOWI# "FT-Unified" version "1.0", no expiration date, exclusive&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;6，注册时选择单机版，把&lt;/p&gt;&lt;div&gt;NK62X2ADY9K8F6PETO8F6ZHBYMJ68OZ3IVIMN7YHWF2EOJWNP2TSIN8X7ZVFCDKGKJUOWI#输入注册码框点下一步即可。&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/kiddo/aggbug/2228937.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/kiddo/archive/2011/10/29/2228937.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/kiddo/archive/2011/10/25/2223566.html</id><title type="text">Httpwatch中http状态码列表</title><summary type="text">以下是Httpwatch中http状态码列表 200 OK/Success status code 302 Moved temporarily status code 304 Not modified status code 401 Access denied status code 404 Page or file not found Aborted Internet Explorer aborted the HTTP request before a response was received (Cache) Content read from cache withou...</summary><published>2011-10-25T03:10:00Z</published><updated>2011-10-25T03:10:00Z</updated><author><name>步走高飞</name><uri>http://www.cnblogs.com/kiddo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kiddo/archive/2011/10/25/2223566.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kiddo/archive/2011/10/25/2223566.html"/><content type="html">&lt;div&gt;&lt;strong&gt;以下是Httpwatch中&lt;strong style="color:black;background-color:#ffff66"&gt;http&lt;/strong&gt;状态码列表&lt;/strong&gt; &lt;table style="font-size: 12px" border="1" cellpadding="0" cellspacing="0" width="95%"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;strong style="color:black;background-color:#99ff99"&gt;200&lt;/strong&gt;&lt;/td&gt; &lt;td&gt;OK/Success status code&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;302&lt;/td&gt; &lt;td&gt;Moved temporarily status code&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;304&lt;/td&gt; &lt;td&gt;Not modified status code &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;401&lt;/td&gt; &lt;td&gt;Access denied status code&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;404&lt;/td&gt; &lt;td&gt;Page or file not found&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;strong style="color:black;background-color:#A0FFFF"&gt;Aborted&lt;/strong&gt;&lt;/td&gt; &lt;td&gt;Internet Explorer &lt;strong style="color:black;background-color:#A0FFFF"&gt;aborted&lt;/strong&gt; the &lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; request before a response was received&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;(Cache)&lt;/td&gt; &lt;td&gt;Content read from cache without sending an &lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; request to the server&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ERROR_*&lt;/td&gt; &lt;td&gt;An error occurred such as ERROR_INTERNET_NAME_NOT_RESOLVED&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;2xx&lt;/td&gt; &lt;td&gt;Successful &lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; status code&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;3xx&lt;/td&gt; &lt;td&gt;Redirection &lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; status code&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;4xx&lt;/td&gt; &lt;td&gt;Client error &lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; status code&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;5xx&lt;/td&gt; &lt;td&gt;Server error &lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; status code&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;详细&lt;strong style="color:black;background-color:#ffff66"&gt;Http&lt;/strong&gt;状态查询，可以参考这个&lt;/strong&gt;&lt;/p&gt; &lt;table style="font-size: 12px" border="1" cellpadding="0" cellspacing="0" width="95%"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;态代码 &lt;/td&gt; &lt;td height="25"&gt;状态信息 &lt;/td&gt; &lt;td height="25"&gt;含义 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;100 &lt;/td&gt; &lt;td height="25"&gt;Continue &lt;/td&gt; &lt;td height="25"&gt;初始的请求已经接受，客户应当继续发送请求的其余部分。（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新） &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;101 &lt;/td&gt; &lt;td height="25"&gt;Switching Protocols &lt;/td&gt; &lt;td height="25"&gt;服务器将遵从客户的请求转换到另外一种协议（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新） &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;&lt;strong style="color:black;background-color:#99ff99"&gt;200&lt;/strong&gt; &lt;/td&gt; &lt;td height="25"&gt;OK &lt;/td&gt; &lt;td height="25"&gt;一切正常，对GET和POST请求的应答文档跟在后面。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;201 &lt;/td&gt; &lt;td height="25"&gt;Created &lt;/td&gt; &lt;td height="25"&gt;服务器已经创建了文档，Location头给出了它的URL。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;202 &lt;/td&gt; &lt;td height="25"&gt;Accepted &lt;/td&gt; &lt;td height="25"&gt;已经接受请求，但处理尚未完成。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;203 &lt;/td&gt; &lt;td height="25"&gt;Non-Authoritative Information &lt;/td&gt; &lt;td height="25"&gt;文档已经正常地返回，但一些应答头可能不正确，因为使用的是文档的拷贝（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新）。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;204 &lt;/td&gt; &lt;td height="25"&gt;No Content &lt;/td&gt; &lt;td height="25"&gt;没有新文档，浏览器应该继续显示原来的文档。如果用户定期地刷新页面，而Servlet可以确定用户文档足够新，这个状态代码是很有用的。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;205 &lt;/td&gt; &lt;td height="25"&gt;Reset Content &lt;/td&gt; &lt;td height="25"&gt;没有新的内容，但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新）。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;206 &lt;/td&gt; &lt;td height="25"&gt;Partial Content &lt;/td&gt; &lt;td height="25"&gt;客户发送了一个带有Range头的GET请求，服务器完成了它（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新）。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;300 &lt;/td&gt; &lt;td height="25"&gt;Multiple Choices &lt;/td&gt; &lt;td height="25"&gt;客户请求的文档可以在多个位置找到，这些位置已经在返回的文档内列出。如果服务器要提出优先选择，则应该在Location应答头指明。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;301 &lt;/td&gt; &lt;td height="25"&gt;Moved Permanently &lt;/td&gt; &lt;td height="25"&gt;客户请求的文档在其他地方，新的URL在Location头中给出，浏览器应该自动地访问新的URL。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;302 &lt;/td&gt; &lt;td height="25"&gt;Found &lt;/td&gt; &lt;td height="25"&gt;类似于301，但新的URL应该被视为临时性的替代，而不是永久性的。注意，在&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt;1.0中对应的状态信息是&amp;#8220;Moved Temporatily&amp;#8221;。   &lt;p&gt;出现该状态代码时，浏览器能够自动访问新的URL，因此它是一个很有用的状态代码。&lt;/p&gt; &lt;p&gt;注意这个状态代码有时候可以和301替换使用。例如，如果浏览器错误地请求&lt;strong style="color:black;background-color:#ffff66"&gt;http&lt;/strong&gt;://host/~user（缺少了后面的斜杠），有的服务器返回301，有的则返回302。&lt;/p&gt; &lt;p&gt;严格地说，我们只能假定只有当原来的请求是GET时浏览器才会自动重定向。请参见307。 &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;303 &lt;/td&gt; &lt;td height="25"&gt;See Other &lt;/td&gt; &lt;td height="25"&gt;类似于301/302，不同之处在于，如果原来的请求是POST，Location头指定的重定向目标文档应该通过GET提取（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新）。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;304 &lt;/td&gt; &lt;td height="25"&gt;Not Modified &lt;/td&gt; &lt;td height="25"&gt;客户端有缓冲的文档并发出了一个条件性的请求（一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档）。服务器告诉客户，原来缓冲的文档还可以继续使用。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;305 &lt;/td&gt; &lt;td height="25"&gt;Use Proxy &lt;/td&gt; &lt;td height="25"&gt;客户请求的文档应该通过Location头所指明的代理服务器提取（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新）。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;307 &lt;/td&gt; &lt;td height="25"&gt;Temporary Redirect &lt;/td&gt; &lt;td height="25"&gt;和 302（Found）相同。许多浏览器会错误地响应302应答进行重定向，即使原来的请求是POST，即使它实际上只能在POST请求的应答是303时才 能重定向。由于这个原因，&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新增了307，以便更加清除地区分几个状态代码：当出现303应答时，浏览器可以跟随重定向的GET和POST请求；如果是307应答，则浏览器只 能跟随对GET请求的重定向。（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新） &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;400 &lt;/td&gt; &lt;td height="25"&gt;Bad Request &lt;/td&gt; &lt;td height="25"&gt;请求出现语法错误。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;401 &lt;/td&gt; &lt;td height="25"&gt;Unauthorized &lt;/td&gt; &lt;td height="25"&gt;客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头，浏览器据此显示用户名字/密码对话框，然后在填写合适的Authorization头后再次发出请求。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;403 &lt;/td&gt; &lt;td height="25"&gt;Forbidden &lt;/td&gt; &lt;td height="25"&gt;资源不可用。服务器理解客户的请求，但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;404 &lt;/td&gt; &lt;td height="25"&gt;Not Found &lt;/td&gt; &lt;td height="25"&gt;无法找到指定位置的资源。这也是一个常用的应答。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;405 &lt;/td&gt; &lt;td height="25"&gt;Method Not Allowed &lt;/td&gt; &lt;td height="25"&gt;请求方法（GET、POST、HEAD、DELETE、PUT、TRACE等）对指定的资源不适用。（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新） &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;406 &lt;/td&gt; &lt;td height="25"&gt;Not Acceptable &lt;/td&gt; &lt;td height="25"&gt;指定的资源已经找到，但它的MIME类型和客户在Accpet头中所指定的不兼容（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新）。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;407 &lt;/td&gt; &lt;td height="25"&gt;Proxy Authentication Required &lt;/td&gt; &lt;td height="25"&gt;类似于401，表示客户必须先经过代理服务器的授权。（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新） &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;408 &lt;/td&gt; &lt;td height="25"&gt;Request Timeout &lt;/td&gt; &lt;td height="25"&gt;在服务器许可的等待时间内，客户一直没有发出任何请求。客户可以在以后重复同一请求。（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新） &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;409 &lt;/td&gt; &lt;td height="25"&gt;Conflict &lt;/td&gt; &lt;td height="25"&gt;通常和PUT请求有关。由于请求和资源的当前状态相冲突，因此请求不能成功。（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新） &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;410 &lt;/td&gt; &lt;td height="25"&gt;Gone &lt;/td&gt; &lt;td height="25"&gt;所请求的文档已经不再可用，而且服务器不知道应该重定向到哪一个地址。它和404的不同在于，返回407表示文档永久地离开了指定的位置，而404表示由于未知的原因文档不可用。（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新） &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;411 &lt;/td&gt; &lt;td height="25"&gt;Length Required &lt;/td&gt; &lt;td height="25"&gt;服务器不能处理请求，除非客户发送一个Content-Length头。（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新） &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;412 &lt;/td&gt; &lt;td height="25"&gt;Precondition Failed &lt;/td&gt; &lt;td height="25"&gt;请求头中指定的一些前提条件失败（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新）。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;413 &lt;/td&gt; &lt;td height="25"&gt;Request Entity Too Large &lt;/td&gt; &lt;td height="25"&gt;目标文档的大小超过服务器当前愿意处理的大小。如果服务器认为自己能够稍后再处理该请求，则应该提供一个Retry-After头（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新）。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;414 &lt;/td&gt; &lt;td height="25"&gt;Request URI Too Long &lt;/td&gt; &lt;td height="25"&gt;URI太长（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新）。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;416 &lt;/td&gt; &lt;td height="25"&gt;Requested Range Not Satisfiable &lt;/td&gt; &lt;td height="25"&gt;服务器不能满足客户在请求中指定的Range头。（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新） &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;500 &lt;/td&gt; &lt;td height="25"&gt;Internal Server Error &lt;/td&gt; &lt;td height="25"&gt;服务器遇到了意料不到的情况，不能完成客户的请求。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;501 &lt;/td&gt; &lt;td height="25"&gt;Not Implemented &lt;/td&gt; &lt;td height="25"&gt;服务器不支持实现请求所需要的功能。例如，客户发出了一个服务器不支持的PUT请求。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;502 &lt;/td&gt; &lt;td height="25"&gt;Bad Gateway &lt;/td&gt; &lt;td height="25"&gt;服务器作为网关或者代理时，为了完成请求访问下一个服务器，但该服务器返回了非法的应答。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;503 &lt;/td&gt; &lt;td height="25"&gt;Service Unavailable &lt;/td&gt; &lt;td height="25"&gt;服务器由于维护或者负载过重未能应答。例如，Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个Retry-After头。 &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;504 &lt;/td&gt; &lt;td height="25"&gt;Gateway Timeout &lt;/td&gt; &lt;td height="25"&gt;由作为代理或网关的服务器使用，表示不能及时地从远程服务器获得应答。（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新） &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td height="25" width="10%"&gt;505 &lt;/td&gt; &lt;td height="25"&gt;&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; Version Not Supported &lt;/td&gt; &lt;td height="25"&gt;服务器不支持请求中所指明的&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt;版本。（&lt;strong style="color:black;background-color:#ffff66"&gt;HTTP&lt;/strong&gt; 1.1新）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;Type: 请求URL的类型&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/kiddo/aggbug/2223566.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/kiddo/archive/2011/10/25/2223566.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/kiddo/archive/2011/10/23/2221568.html</id><title type="text">zzspring和Hibernate整合时候的asm包冲突</title><summary type="text">MLGBD,明天要交活，今天配了一天环境。真是。。。。。幸亏底下文章救了我，特转之，多谢。http://apps.hi.baidu.com/share/detail/33127760org.springframework.beans.factory.BeanCreationException:Error creating bean with name 'SessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init m</summary><published>2011-10-22T16:49:00Z</published><updated>2011-10-22T16:49:00Z</updated><author><name>步走高飞</name><uri>http://www.cnblogs.com/kiddo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kiddo/archive/2011/10/23/2221568.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kiddo/archive/2011/10/23/2221568.html"/><content type="html">&lt;div&gt;MLGBD,明天要交活，今天配了一天环境。真是。。。。。幸亏底下文章救了我，特转之，多谢。&amp;nbsp;&lt;/div&gt;&lt;p&gt;&lt;a href="http://apps.hi.baidu.com/share/detail/33127760"&gt;http://apps.hi.baidu.com/share/detail/33127760&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: 16px; line-height: 24px; background-color: #ffffff; "&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #6d6d6d; line-height: 26px; text-align: left; "&gt;&lt;span style="color: #000000; font-weight: bold; "&gt;&lt;span style="color: #ff6600; "&gt;org.springframework.beans.factory.BeanCreationException&lt;/span&gt;:&amp;nbsp;&lt;span style="color: #006600; "&gt;Error creating bean with name 'SessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError&lt;/span&gt;:&lt;span style="color: #cc0000; "&gt;org.objectweb.asm.ClassVisitor.visit&lt;/span&gt;(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)VCaused by:&amp;nbsp;&lt;span style="color: #990000; "&gt;java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit&lt;/span&gt;(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)&lt;br /&gt;&lt;br /&gt;网上的说法真是良莠不齐,最终找个&lt;span style="color: #009900; "&gt;能解决问题的方法&lt;/span&gt;(折腾我一下午,快疯了)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #6d6d6d; line-height: 26px; text-align: left; "&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #6d6d6d; line-height: 26px; text-align: left; "&gt;&lt;span style="color: #000000; font-weight: bold; "&gt;原因：&lt;/span&gt;&lt;/p&gt;&lt;div style="word-wrap: break-word; "&gt;&lt;/div&gt;&lt;div style="word-wrap: break-word; "&gt;&lt;font size="4"&gt;&lt;strong&gt;在使用Spring的AOP编程时，会用到这几个lib：&lt;br /&gt;asm-2.2.2.jar&lt;br /&gt;asm-commons-2.2.2.jar&lt;br /&gt;asm-util-2.2.2.jar&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="word-wrap: break-word; "&gt;&lt;/div&gt;&lt;div style="word-wrap: break-word; "&gt;&lt;font size="4"&gt;&lt;strong&gt;Hibernate使用如下lib：&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="word-wrap: break-word; "&gt;&lt;/div&gt;&lt;div style="word-wrap: break-word; "&gt;&lt;font size="4"&gt;&lt;strong&gt;asm.jar&lt;br /&gt;asm-attrs.jar&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="word-wrap: break-word; "&gt;&lt;p&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;strong&gt;其中asm-2.2.2.jar与asm.jar存在类上的冲突！！！&lt;br /&gt;使用其中之一或两者都使用，可能会出现如下错误：&lt;br /&gt;java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor&lt;br /&gt;java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor&lt;br /&gt;java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="word-wrap: break-word; "&gt;&lt;/div&gt;&lt;div style="word-wrap: break-word; "&gt;&lt;/div&gt;&lt;div style="word-wrap: break-word; "&gt;&lt;span style="color: #00ff00; font-weight: bold; "&gt;&lt;font size="4"&gt;&lt;font color="#000000"&gt;&lt;span style="color: #000000; "&gt;解决方法&lt;/span&gt;：&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ff0000"&gt;&lt;font size="4"&gt;&lt;strong&gt;&lt;font color="#000000"&gt;1.&lt;u&gt;&lt;font color="#800080" size="5"&gt;去掉&lt;/font&gt;&lt;/u&gt;类路径上的关于Hibernate的3个lib&lt;/font&gt;&lt;br /&gt;asm.jar&lt;br /&gt;asm-attrs.jar&lt;br /&gt;cglib-2.1.2.jar&lt;br /&gt;&lt;font color="#000000"&gt;2.&lt;font color="#008080" size="5"&gt;&lt;u&gt;加入&lt;/u&gt;&lt;/font&gt;Spring中的以下4个lib&lt;/font&gt;&lt;br /&gt;asm-2.2.2.jar&lt;br /&gt;asm-commons-2.2.2.jar&lt;br /&gt;asm-util-2.2.2.jar&lt;br /&gt;cglib-nodep-2.1_3.jar&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000" size="4"&gt;&lt;strong&gt;自己的一个小测试： (运行环境：apache-tomcat-5.5.15 + .MyEclipse_5.5GA_E3.2.2 )&lt;br /&gt;&lt;br /&gt;整合ssh项目中, 在 Tomcat 部署的环境中 D:\tomcat\webapps\my\WEB-INF\lib 发生了点异常：同时有&amp;nbsp;&lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font size="4"&gt;&lt;strong&gt;&lt;font color="#800080"&gt;asm.jar、asm-attrs.jar、asm-2.2.3.jar 、 asm-commons-2.2.3.jar&lt;br /&gt;asm-util-2.2.3.jar、 cglib-nodep-2.1_3.jar&lt;/font&gt;&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font size="4"&gt;&lt;strong&gt;&lt;font color="#003366"&gt;在启动tomcat中不会出现异常信息。(我想asm-2.2.3jar可能在一定程度上作了改进。)&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;当在D:\tomcat\webapps\my\WEB-INF\lib 下加入&lt;/font&gt;&amp;nbsp;cglib-2.1.3.jar&amp;nbsp;&lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font size="4"&gt;&lt;strong&gt;&lt;font color="#ff6600"&gt;会报上面的java.lang.NoSuchMethodError:&amp;nbsp;&lt;br /&gt;org.objectweb.asm.ClassVisitor.visit错误信息。&lt;/font&gt;&amp;nbsp;&lt;font color="#993366"&gt;说明cglib-2.1.3.jar与其它包发生了冲突&lt;/font&gt;。&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="word-wrap: break-word; "&gt;&lt;/div&gt;&lt;div style="word-wrap: break-word; "&gt;&lt;font color="#ff0000" size="4"&gt;&lt;strong&gt;删除cglib-2.1.3.jar问题解决!&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&amp;nbsp;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/kiddo/aggbug/2221568.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/kiddo/archive/2011/10/23/2221568.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/kiddo/archive/2011/10/05/2199508.html</id><title type="text">java ee环境配置</title><summary type="text">------------------------------中间服务器----------------------------- 下载的tomcat 6.0.33 http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-6/v6.0.33/bin/apache-tomcat-6.0.33.exe ----------------------------...</summary><published>2011-10-05T10:08:00Z</published><updated>2011-10-05T10:08:00Z</updated><author><name>步走高飞</name><uri>http://www.cnblogs.com/kiddo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kiddo/archive/2011/10/05/2199508.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kiddo/archive/2011/10/05/2199508.html"/><content type="html">&lt;p&gt;------------------------------中间服务器-----------------------------&lt;/p&gt;  &lt;p&gt;下载的tomcat 6.0.33&amp;#160;&amp;#160; &lt;br /&gt;&lt;a href="http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-6/v6.0.33/bin/apache-tomcat-6.0.33.exe"&gt;http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-6/v6.0.33/bin/apache-tomcat-6.0.33.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;-----------------------------开发IDE------------------------------------------------&lt;/p&gt;  &lt;p&gt;下载eclipse和myeclipse插件二合一    &lt;br /&gt;&lt;a href="http://downloads.myeclipseide.com/downloads/products/eworkbench/7.0/myeclipse-7.5.0-win32.exe"&gt;http://downloads.myeclipseide.com/downloads/products/eworkbench/7.0/myeclipse-7.5.0-win32.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;MyEclipse 7.5 注册码    &lt;br /&gt;Subscriber: www.1cn.biz Subscription Code: jLR8ZC-855550-6756755080661717 &lt;/p&gt;  &lt;p&gt;-----------------------------数据库与数据库管理工具--------------------------&lt;/p&gt;  &lt;p&gt;下载Mysql    &lt;br /&gt;&lt;a href="http://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-5.5.15.0.msi/from/http://mysql.cdpa.nsysu.edu.tw/"&gt;http://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-5.5.15.0.msi/from/http://mysql.cdpa.nsysu.edu.tw/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Best support for Multilingualism &lt;/p&gt;  &lt;p&gt;下载mysql ide navicat    &lt;br /&gt;这个ide能管几乎所有的流行数据库呢，mysql,sqlite,oracle,postgreSQL     &lt;br /&gt;&lt;a href="http://www.navicat.com/download/download.html"&gt;http://www.navicat.com/download/download.html&lt;/a&gt;     &lt;br /&gt;注册码     &lt;br /&gt;NAVL-LIQE-XUFK-NZT7&lt;/p&gt;  &lt;p&gt;-----------------------------------配置分割线-----------------------------------------&lt;/p&gt;  &lt;p&gt;1，设置默认的全局JRE：    &lt;br /&gt;Window-&amp;gt;Preferences-&amp;gt; Java -&amp;gt; Installed JREs ，这样每次新建项目时，默认的JRE库即为选中的项。     &lt;br /&gt;&lt;img src="http://dl.iteye.com/upload/attachment/430425/476d94c0-8071-3923-9d8e-055327e91659.jpg" /&gt;     &lt;br /&gt;2，设置工作空间全局编码：     &lt;br /&gt;设置UTF-8&amp;#160;&amp;#160; Window-&amp;gt;Preferences-&amp;gt;General-&amp;gt;Workspace 中Text file encoding 选择other并选UTF-8     &lt;br /&gt;&lt;img src="http://dl.iteye.com/upload/attachment/430427/d65da06d-012e-30c4-be5b-275f907156a5.jpg" /&gt;     &lt;br /&gt;3，修改文件默认编码：     &lt;br /&gt;Window -&amp;gt; Preferences -&amp;gt; General -&amp;gt; Content Types     &lt;br /&gt;【注意是修改最下面的Default encoding】，在这里可以将html、properties和jsp文件的编码都改成UTF-8的。     &lt;br /&gt;这样修改后，以后每次新建properties并保存时，就不会跳出一个对话框说你现在的编码是ISO-8859-1的提示了。     &lt;br /&gt;&lt;img src="http://dl.iteye.com/upload/attachment/430429/c1e08f39-a904-387e-a581-a54036ff6e76.jpg" /&gt;     &lt;br /&gt;4，修改特定文件的编码：     &lt;br /&gt;Window -&amp;gt; Preferences -&amp;gt; MyEclipse -&amp;gt; Files and Editors -&amp;gt; JSP     &lt;br /&gt;比如这里修改JSP的页面显示编码为UTF-8，那么每次新建一个jsp文件后，第一行的编码设置内容就会像这样所示：     &lt;br /&gt;&amp;lt;%@ page language=&amp;quot;java&amp;quot; import=&amp;quot;java.util.*&amp;quot; pageEncoding=&amp;quot;UTF-8&amp;quot;%&amp;gt;     &lt;br /&gt;&lt;img src="http://dl.iteye.com/upload/attachment/430431/740e9e03-309e-36bb-b17b-41a92b7dd229.jpg" /&gt;     &lt;br /&gt;5，设置字体：     &lt;br /&gt;Window -&amp;gt; Preferences -&amp;gt; General -&amp;gt; Appearance -&amp;gt; Colors and Fonts -&amp;gt; Basic -&amp;gt; Text font     &lt;br /&gt;&lt;img src="http://dl.iteye.com/upload/attachment/430433/e693cdeb-67ea-3887-9096-39b4e77ee8fd.jpg" /&gt;     &lt;br /&gt;6，设置文件默认编辑器：     &lt;br /&gt;Window -&amp;gt; Preferences -&amp;gt; General -&amp;gt;&amp;#160; Editors -&amp;gt; File Associations     &lt;br /&gt;&lt;img src="http://dl.iteye.com/upload/attachment/430435/bf9f62aa-f959-3ed1-b3fc-7258bc729de8.jpg" /&gt;     &lt;br /&gt;7，设置当鼠标移到文字上时的事件：这里选择快速显示注释。     &lt;br /&gt;Window -&amp;gt; Preferences -&amp;gt; General -&amp;gt;&amp;#160; Editors -&amp;gt; Text Editors -&amp;gt; When mouse moved into hover.     &lt;br /&gt;&lt;img src="http://dl.iteye.com/upload/attachment/430437/1ea252de-d8a2-36a4-b791-fda88053c943.jpg" /&gt;     &lt;br /&gt;8,设置快捷键：     &lt;br /&gt;Window -&amp;gt; Preferences -&amp;gt; General -&amp;gt; Keys     &lt;br /&gt;输入要设置的动作的名称，比如这里输入“run java”进行过滤，然后在Binding选项中设置快捷键。     &lt;br /&gt;这样以后每次要运行java程序时，只需要按 Alt+X 快捷键就可以了。     &lt;br /&gt;&lt;img src="http://dl.iteye.com/upload/attachment/430439/3d853e92-dfc5-3057-9ce5-1fcd13ad3857.jpg" /&gt;     &lt;br /&gt;9，禁用启动时不需要的插件：     &lt;br /&gt;Window -&amp;gt; Preferences -&amp;gt; General -&amp;gt; StartUp and Shutdown     &lt;br /&gt;比如Myeclipse Derby，老是在Server控制台占着茅坑不拉屎，看着蛋疼，先把它给治了。     &lt;br /&gt;&lt;img src="http://dl.iteye.com/upload/attachment/430441/a4e6651e-c972-3541-bd13-d505b7318fb9.jpg" /&gt;     &lt;br /&gt;10，设置注册码：     &lt;br /&gt;Window -&amp;gt; Preferences -&amp;gt; MyEclipse -&amp;gt; Subscription     &lt;br /&gt;&lt;img src="http://dl.iteye.com/upload/attachment/430443/14054429-1a2d-3243-a8dd-ccfa99949caa.jpg" /&gt;     &lt;br /&gt;11,增强Eclipse的自动代码提示功能(摘自网络):     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 默认下, 只有按&amp;quot;.&amp;quot;或&amp;quot;Alt + /&amp;quot;才出现代码提示功能, 不够强大, 作小小设置, 可将代码提示功能像VS的一样方便     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 1. Window -&amp;gt; Preferences -&amp;gt; Java -&amp;gt; Editor -&amp;gt; Content Assist     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 2. 将&amp;quot;Auto Activation triggers for java&amp;quot;设置为&amp;quot;.abc&amp;quot;(默认是&amp;quot;.&amp;quot;), 点&amp;quot;Apply&amp;quot;应用     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 3. 导出目前的Eclipse配置文件: File -&amp;gt; Export -&amp;gt; General -&amp;gt; Perferences, 选择保存路径, 保存得到*.epf文件     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 4. 用文本编辑器打开刚才保存的*.epf文件, 搜索&amp;quot;.abc&amp;quot;, 将&amp;quot;.abc&amp;quot;部分改为     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ(,&amp;quot; (以上为自动提示的触发字符,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 根据个人习惯设置), 保存此配置文件(个人觉得不太好用，容易出错)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 5. 导入此配置文件: File -&amp;gt; import -&amp;gt; General -&amp;gt; Perferences, 导入修改后的配置文件.     &lt;br /&gt;12,关闭自动更新：     &lt;br /&gt;Myeclipse有时一打开就在Progress中无休止地更新，必须把它给做了。     &lt;br /&gt;1. window --&amp;gt; preferences --&amp;gt; General --&amp;gt; Startup and Shutdown，     &lt;br /&gt;去掉 &amp;quot;Automatic Updates Scheduler &amp;quot; 项前面的勾。     &lt;br /&gt;2. Window --&amp;gt; Preferences --&amp;gt; Myeclipse Enterprise Workbench --&amp;gt; Maven4Myeclipse --&amp;gt; Maven --&amp;gt; &amp;quot;Download repository index updates on startup&amp;quot;， 去掉前面的勾。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/kiddo/aggbug/2199508.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/kiddo/archive/2011/10/05/2199508.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/kiddo/archive/2011/08/22/2149894.html</id><title type="text">django拾遗</title><summary type="text">1, django-admin.pystartproject 创建一个mysite的站点自动生成 settings.py,views.py,urls.py,__init__.py2, 执行命令python manage.py runserver运行自带的web服务器，即可看到网站主页面了。3，在urls.py追踪设置网站的子页假设http://127.0.0.1有两类子页面1类是http://127.0.0.1/time，固定不带参数的显示当前时间2类是http://127.0.0.1/time/plus/7,后面这个数字7就是变量值，下面urlpatterns是用正则表达式取得变量的值。fr</summary><published>2011-08-22T12:12:00Z</published><updated>2011-08-22T12:12:00Z</updated><author><name>步走高飞</name><uri>http://www.cnblogs.com/kiddo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kiddo/archive/2011/08/22/2149894.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kiddo/archive/2011/08/22/2149894.html"/><content type="html">&lt;p&gt;&lt;span class="Apple-style-span" style="color: #234f32; font-family: monospace; font-size: 12px; line-height: 20px; white-space: nowrap; background-color: #ffffff; "&gt;&lt;span class="pre" style="font: normal normal 800 12px/normal Consolas, 'Courier New' !important; "&gt;1, django-admin.py&lt;/span&gt;&amp;nbsp;&lt;span class="pre" style="font: normal normal 800 12px/normal Consolas, 'Courier New' !important; "&gt;startproject 创建一个mysite的站点&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;自动生成 settings.py,views.py,urls.py,__init__.py&lt;/p&gt;&lt;p&gt;2, 执行命令python manage.py runserver运行自带的web服务器，即可看到网站主页面了。&lt;/p&gt;&lt;p&gt;3，在urls.py追踪设置网站的子页&amp;nbsp;&lt;/p&gt;&lt;p&gt;假设&amp;nbsp;http://127.0.0.1有两类子页面&lt;/p&gt;&lt;p&gt;1类是http://127.0.0.1/time，固定不带参数的显示当前时间&lt;/p&gt;&lt;p&gt;2类是http://127.0.0.1/time/plus/7,后面这个数字7就是变量值，下面urlpatterns是用正则表达式取得变量的值。&amp;nbsp;&lt;/p&gt;&lt;p&gt;from django.conf.urls.defaults import *&lt;div&gt;&lt;div&gt;from mysite.views import current_datetime,hours_ahead&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;urlpatterns = patterns('',&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(r'^time/$',current_datetime),&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(r'^time/plus/(\d{1,2})/$',hours_ahead),)&lt;/p&gt;&lt;p&gt;4，当网页申请发生时，导向对应的网页解析函数，就是patterns字典后面的current_datetime和hours_ahead&lt;/p&gt;&lt;p&gt;这些函数其实是用来动态生成HTML标记 ，放在view.py中&lt;/p&gt;&lt;p&gt;而为了页面和逻辑分离，把页面放到抽象的模板当中，那么view.py中的解析函数只要对模板中的变量赋值就可以了&lt;/p&gt;&lt;p&gt;&amp;nbsp;from django.shortcuts import render_to_response&lt;/p&gt;&lt;div&gt;&lt;div&gt;import datetime&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;def current_datetime(request):&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; now=datetime.datetime.now()&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; return render_to_response('current_datetime.html',{'current_date':now})&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;p&gt;def hours_ahead(reqest,offset):&lt;/p&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; offset=int(offset)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; dt=datetime.datetime.now()+datetime.timedelta(hours=offset)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; return render_to_response('hours_ahead.html',{'hour_offset':offset,'next_time':dt})&lt;/div&gt;&lt;/div&gt;&lt;div&gt;5，模板，从4中我们知道模板是抽象出变量的页面，在settings.py中有规定模板所在的文件夹&lt;/div&gt;&lt;div&gt;&lt;div&gt;import os&lt;/div&gt;&lt;div&gt;TEMPLATE_DIRS = (&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; os.path.join(os.path.dirname(__file__), 'templates').replace('\\','/'),&lt;/div&gt;&lt;div&gt;)&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;上面两个函数，各对应一个模板文件&lt;/p&gt;&lt;p&gt;&amp;nbsp;current_datetime.html和hours_ahead.html&lt;/p&gt;&lt;p&gt;这两个模板文件基本内容都差不多，就是内容标题不一样而已&lt;/p&gt;&lt;p&gt;因此而抽象出一个基本的模板base.html，避免模板的重复劳作 ，current_datetime.html和hours_ahead.html继承base.html&lt;/p&gt;&lt;p&gt;这样就有三个模板文件了&lt;/p&gt;&lt;p&gt;&amp;nbsp;----------base.html--------&lt;/p&gt;&lt;div&gt;&lt;div&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;html lang="en"&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;head&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;{% block title %}{% endblock %}&amp;lt;/title&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;/head&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;body&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;lt;h1&amp;gt;My helpful timestamp site&amp;lt;/h1&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; {% block content %}{% endblock %}&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; {% block footer %}&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;lt;hr&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;lt;p&amp;gt;Thanks for visiting my site.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; {% endblock %}&lt;/div&gt;&lt;div&gt;&amp;lt;/body&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;lt;/html&amp;gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;--------------current_datetime.html&lt;/p&gt;&lt;div&gt;&lt;div&gt;{% extends "base.html" %}&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;{% block title %}The current time{% endblock %}&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;{% block content %}&lt;/div&gt;&lt;div&gt;&amp;lt;p&amp;gt;It is now {{ current_date }}.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;{% endblock %}&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;--------------hours_ahead.html&lt;/p&gt;&lt;p&gt;&amp;nbsp;{% extends "base.html" %}&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;{% block title %}Future time{% endblock %}&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;{% block content %}&lt;/div&gt;&lt;div&gt;&amp;lt;p&amp;gt;In {{ hour_offset }} hour(s), it will be {{ next_time }}.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;div&gt;{% endblock %}&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/kiddo/aggbug/2149894.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/kiddo/archive/2011/08/22/2149894.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/kiddo/archive/2011/08/17/2142973.html</id><title type="text">python环境配置</title><summary type="text">python2.7.1安装2011-06-10 11:241.下载python软件。官方地址http://www.python.org/getit/ 下载最新版 Python 2.7.1 Windows Installer 15M大小运行python-2.7.1.msi 安装完毕2.下载python编辑器 建议新手选用ulipad 该编辑器为国人牛人用python所编写下载地址：http://code.google.com/p/ulipad/downloads/list下载的是压缩包 然后解压到任意文件夹下 运行文件夹里的UliPad.pyw 出现UliPad.pyc文件3.安装wxpytho</summary><published>2011-08-17T04:40:00Z</published><updated>2011-08-17T04:40:00Z</updated><author><name>步走高飞</name><uri>http://www.cnblogs.com/kiddo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/kiddo/archive/2011/08/17/2142973.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/kiddo/archive/2011/08/17/2142973.html"/><content type="html">&lt;div&gt;&lt;div&gt;python2.7.1安装&lt;/div&gt;&lt;div&gt;2011-06-10 11:24&lt;/div&gt;&lt;div&gt;1.下载python软件。&lt;/div&gt;&lt;div&gt;官方地址http://www.python.org/getit/ 下载最新版 Python 2.7.1 Windows Installer 15M大小&lt;/div&gt;&lt;div&gt;运行python-2.7.1.msi 安装完毕&lt;/div&gt;&lt;div&gt;2.下载python编辑器 建议新手选用ulipad 该编辑器为国人牛人用python所编写&lt;/div&gt;&lt;div&gt;下载地址：http://code.google.com/p/ulipad/downloads/list&lt;/div&gt;&lt;div&gt;下载的是压缩包 然后解压到任意文件夹下 运行文件夹里的UliPad.pyw 出现UliPad.pyc文件&lt;/div&gt;&lt;div&gt;3.安装wxpython模块&lt;/div&gt;&lt;div&gt;下载地址 http://www.wxpython.org/download.php#stable 本人使用windows环境 故选择 wxPython2.8-win32-unicode-py27 对应python版本2.7.1&lt;/div&gt;&lt;div&gt;运行wxPython2.8-win32-unicode-2.8.12.0-py27.exe 安装完成&lt;/div&gt;&lt;div&gt;4.在执行UliPad.pyw 无反应 竟然生成了一个error.txt文件 打开一看&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; 报错信息：&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; 。。。。。。&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; ImportError: No module named comtypes&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; 上网一查原来是少引入模块了&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; 下载comtypes模块地址 http://sourceforge.net/projects/comtypes/&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; 执行 comtypes-0.6.2.win32.exe 文件 终于UliPad.pyw可以执行~~嘿嘿&lt;/div&gt;&lt;div&gt;5.UliPad执行&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; 随意找个文件执行下 提示You didn't set the Python interpreter Please set it up first in the &amp;nbsp;preferences&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; 看来需要配置下&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; Ulipad-&amp;gt;编辑-&amp;gt;参数-&amp;gt;Python-&amp;gt;设置Python解释器-&amp;gt;增加&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; 输入解释器路径 可以手动选择python安装文件夹下的python.exe文件 &amp;nbsp;描述设置为2.7.1 console&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; 再新增个python文件夹下的pythonw.exe 描述为2.7.1 window 确定即可 执行python程序了&lt;/div&gt;&lt;div&gt;6.安装Mysql模块&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; 下载地址：http://d.download.csdn.net/down/2817169/FeiSan&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; MySQLdb 1.2.3 for Python 2.7 (Windows) 下载完直接安装即可&lt;/div&gt;&lt;div&gt;python基本需要的都安装完了~~over&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/kiddo/aggbug/2142973.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/kiddo/archive/2011/08/17/2142973.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
