﻿<?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-每天进步一点点</title><link>http://www.blogjava.net/MyOracleX/</link><description>单车周末</description><language>zh-cn</language><lastBuildDate>Sat, 18 Apr 2026 17:54:32 GMT</lastBuildDate><pubDate>Sat, 18 Apr 2026 17:54:32 GMT</pubDate><ttl>60</ttl><item><title>创建、登录用户的加密、解密</title><link>http://www.blogjava.net/MyOracleX/archive/2011/05/11/350015.html</link><dc:creator>MyOracleX</dc:creator><author>MyOracleX</author><pubDate>Wed, 11 May 2011 07:46:00 GMT</pubDate><guid>http://www.blogjava.net/MyOracleX/archive/2011/05/11/350015.html</guid><wfw:comment>http://www.blogjava.net/MyOracleX/comments/350015.html</wfw:comment><comments>http://www.blogjava.net/MyOracleX/archive/2011/05/11/350015.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MyOracleX/comments/commentRss/350015.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MyOracleX/services/trackbacks/350015.html</trackback:ping><description><![CDATA[<div style="text-align: left;">创建用户：<span  style="font-size: 13px; "><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Long&nbsp;createTempUser(TempUser&nbsp;user)&nbsp;{</span></span></div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TempUser&nbsp;tempuser&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.findTempUserByName(user.getYhm());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user.setMm(createEncryptPSW(user.getMm().trim()));&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">生成加密密码</span><span style="color: #008000; "><br />
</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(tempuser&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user.setId(tempuser.getId());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getHibernateTemplate().merge(user);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.getHibernateTemplate().saveOrUpdate(user);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;user.getId();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<div style="text-align: left; ">createEncryptPSW（加密方法）：<span  style="font-size: 13px; "><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;String&nbsp;createEncryptPSW(String&nbsp;psw)&nbsp;{</span></span></div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageDigest&nbsp;messagedigest;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messagedigest&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;MessageDigest.getInstance(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">MD5</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messagedigest.update(psw.getBytes(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">UTF8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">&nbsp;abyte0[]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;messagedigest.digest();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;BASE64Encoder()).encode(abyte0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">&nbsp;(Exception&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">throw</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;RuntimeException(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">加密失败：</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;e.getMessage());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<div>登录（解密）：<span  style="font-size: 13px; ">&nbsp;&nbsp;&nbsp;</span></div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Long&nbsp;userCer(String&nbsp;userName,&nbsp;String&nbsp;password)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TempUser&nbsp;user&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.findTempUserByName(userName);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;user)&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0L</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&nbsp;flag&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;createEncryptPSW(password.trim()).equals(user.getMm());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(flag)&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;user.getId();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0L</span><span style="color: #000000; ">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<img src ="http://www.blogjava.net/MyOracleX/aggbug/350015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MyOracleX/" target="_blank">MyOracleX</a> 2011-05-11 15:46 <a href="http://www.blogjava.net/MyOracleX/archive/2011/05/11/350015.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>怎样使用最方便的F*Q术（FireFox篇）</title><link>http://www.blogjava.net/MyOracleX/archive/2011/05/09/349883.html</link><dc:creator>MyOracleX</dc:creator><author>MyOracleX</author><pubDate>Mon, 09 May 2011 15:44:00 GMT</pubDate><guid>http://www.blogjava.net/MyOracleX/archive/2011/05/09/349883.html</guid><wfw:comment>http://www.blogjava.net/MyOracleX/comments/349883.html</wfw:comment><comments>http://www.blogjava.net/MyOracleX/archive/2011/05/09/349883.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MyOracleX/comments/commentRss/349883.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MyOracleX/services/trackbacks/349883.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/MyOracleX/archive/2011/05/09/349883.html'>阅读全文</a><img src ="http://www.blogjava.net/MyOracleX/aggbug/349883.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MyOracleX/" target="_blank">MyOracleX</a> 2011-05-09 23:44 <a href="http://www.blogjava.net/MyOracleX/archive/2011/05/09/349883.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL注入原理及PreparedStatement的使用</title><link>http://www.blogjava.net/MyOracleX/archive/2010/11/23/338832.html</link><dc:creator>MyOracleX</dc:creator><author>MyOracleX</author><pubDate>Tue, 23 Nov 2010 09:33:00 GMT</pubDate><guid>http://www.blogjava.net/MyOracleX/archive/2010/11/23/338832.html</guid><wfw:comment>http://www.blogjava.net/MyOracleX/comments/338832.html</wfw:comment><comments>http://www.blogjava.net/MyOracleX/archive/2010/11/23/338832.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MyOracleX/comments/commentRss/338832.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MyOracleX/services/trackbacks/338832.html</trackback:ping><description><![CDATA[<span  style="font: normal normal normal medium/normal Simsun; font-size: 14px; line-height: 22px; ">
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px 0px 10px; line-height: 22px; padding-top: 0px"><strong><span  style="font: normal normal normal medium/normal Simsun; ">
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px 0px 10px; line-height: 22px; padding-top: 0px"><span style="font-size: 14px; line-height: 26px"><strong style="line-height: 22px">SQL注射原理</strong></span></p>
<div style="line-height: 22px"><span style="font-size: 14px; line-height: 26px"><strong style="line-height: 22px"><span style="font-weight: normal; line-height: 22px">SQL
注射能使攻击者绕过认证机制，完全控制远程服务器上的数据库。SQL是结构化查询语言的简称，它是访问数据库的事实标准。目前，大多数Web应用都使用
SQL数据库来存放应用程序的数据。几乎所有的Web应用在后台都使用某种SQL数据库。跟大多数语言一样，SQL语法允许数据库命令和用户数据混杂在一
起的。如果开发人员不细心的话，用户数据就有可能被解释成命令，这样的话，远程用户就不仅能向Web应用输入数据，而且还可以在数据库上执行任意命令了。</span></strong></span></div>
<div style="line-height: 22px"><span style="font-size: 14px; line-height: 26px"><strong style="line-height: 22px">登陆验证</strong></span></div>
<div style="line-height: 22px"><span style="font-size: 14px; line-height: 26px"><strong style="line-height: 22px"><span style="font-weight: normal; line-height: 22px">现
在以一个需要用户身份认证的简单的Web应用程序为例进行讲解。假定这个应用程序提供一个登录页面，要求用户输入用户名和口令。用户通过HTTP请求发送
他们的用户名和口令，之后，Web应用程序检查用户传递来用户名和口令跟数据库中的用户名和口令是否匹配。这种情况下，会要求在SQL数据库中使用一个数
据库表。</span></strong></span></div>
<div style="line-height: 22px"><span style="font-size: 14px; line-height: 26px"><strong style="line-height: 22px"><span style="font-weight: normal; line-height: 22px">对一个用户进行认证，实际上就是将用户的输入即用户名和口令跟表中的各行进行比较，如果跟某行中的用户名和口令跟用户的输入完全匹配，那么该用户就会通过认证。</span></strong></span></div>
<div style="line-height: 22px"><span style="font-size: medium; line-height: 25px"><span style="font-size: 14px; line-height: 26px">假如后台的sql语句时这样拼接的</span></span></div>
<div style="line-height: 22px"><span style="font-size: medium; line-height: 25px"><span style="font-size: 14px; line-height: 26px">
<div style="line-height: 22px">
<div style="padding-right: 4px; padding-left: 4px; font-size: 10pt; padding-bottom: 4px; border-left-color: #cccccc; width: 735px; color: #000000; line-height: 16px; padding-top: 4px; background-color: #eeeeee; "><span style="color: rgb(0,0,255); line-height: 20px">select</span> id
<span style="color: rgb(0,0,255); line-height: 20px">from</span> test
<span style="color: rgb(0,0,255); line-height: 20px">where</span> username=<span style="color: rgb(255,0,0); line-height: 20px">'"+myname+"'</span> <span style="color: rgb(153,153,153); line-height: 20px">and</span> password=<span style="color: rgb(255,0,0); line-height: 20px">'"+mypasswd+"'</span>
";</div>
</div>
表面上看，如果用户名和口令对匹配，那么该用户通过认证；否则，该用户不会通过认证——但是，事实果真如此吗？非也！读者也许已经注意到了，这里并没有对SQL命令进行设防，所以<strong style="line-height: 22px">攻击者完全能够在用户名或者口令字段中注入SQL语句，从而改变SQL查询</strong> 。为此，我们仔细研究一下上面的SQL查询字符串:</span></span></div>
<div style="line-height: 22px">
<div style="padding-right: 0px; padding-left: 0px; font-size: 14px; padding-bottom: 0px; margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 28px; line-height: 26px; padding-top: 0px; "><strong style="line-height: 22px">上述代码认为字符串username和password都是数据，不过，攻击者却可以随心所欲地输入任何字符</strong> 。如果一位攻击者输入的用户名为</div>
<div style="padding-right: 0px; padding-left: 0px; font-size: 14px; padding-bottom: 0px; margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 28px; line-height: 26px; padding-top: 0px; ">&#8217;OR1=1—</div>
<div style="padding-right: 0px; padding-left: 0px; font-size: 14px; padding-bottom: 0px; margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 28px; line-height: 26px; padding-top: 0px; ">而口令为</div>
<div style="padding-right: 0px; padding-left: 0px; font-size: 14px; padding-bottom: 0px; margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 28px; line-height: 26px; padding-top: 0px; ">x</div>
<div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 28px; line-height: 22px; padding-top: 0px; ">
<div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-indent: 28px; line-height: 22px; padding-top: 0px; "><span style="font-size: medium; line-height: 25px"><span style="font-size: 14px; line-height: 26px">双划符号--告诉SQL解析器，右边的东西全部是注释，所以不必理会。这样，查询字符串相当于：</span></span></div>
<div style="font-size: 14px; line-height: 26px">
<div style="line-height: 22px">
<div style="padding-right: 4px; padding-left: 4px; font-size: 10pt; padding-bottom: 4px; border-left-color: #cccccc; width: 735px; color: #000000; line-height: 16px; padding-top: 4px; background-color: #eeeeee; "><span style="color: rgb(0,0,255); line-height: 20px"><strong style="line-height: 20px">select</strong>
</span><strong style="line-height: 20px">id <span style="color: rgb(0,0,255); line-height: 20px">from</span> test
<span style="color: rgb(0,0,255); line-height: 20px">where</span> username=<span style="color: rgb(255,0,0); line-height: 20px">''</span> <span style="color: rgb(153,153,153); line-height: 20px">or</span> 1=1;</strong></div>
</div>
</div>
</div>
</div>
<div style="text-indent: 28px; line-height: 22px"><span style="font-size: 14px; line-height: 26px"><strong style="line-height: 22px"><span style="font-weight: normal; line-height: 22px">如
今的SELECT语句跟以前的已经大相径庭了，因为现在只要用户名为长度为零的字符串''或1=1这两个条件中一个为真，就返回用户标识符ID——我们知
道，1=1是恒为真的。所以这个语句将返回user_table中的所有ID。在此种情况下，攻击者在username字段放入的是SQL指令
'OR1=1--而非数据。</span></strong></span></div>
<div style="text-indent: 28px; line-height: 22px"><span style="font-size: 14px; line-height: 26px"><strong style="line-height: 22px"><span style="font-weight: normal; line-height: 22px">更为严重的情况是当username对应的是'OR1=1;DROPTABLEuser_table;--</span></strong></span></div>
<div style="text-indent: 28px; line-height: 22px"><span style="font-size: medium; line-height: 25px"><span style="font-size: 14px; line-height: 26px">数据库中执行的sql语句就变成了：</span></span></div>
<div style="text-indent: 28px; line-height: 22px"><span style="font-size: medium; line-height: 25px"><span style="font-size: 14px; line-height: 26px">
<div style="line-height: 22px">
<div style="padding-right: 4px; padding-left: 4px; font-size: 10pt; padding-bottom: 4px; border-left-color: #cccccc; width: 735px; color: #000000; line-height: 16px; padding-top: 4px; background-color: #eeeeee; "><span style="color: rgb(0,0,255); line-height: 20px">select</span> id
<span style="color: rgb(0,0,255); line-height: 20px">from</span> test
<span style="color: rgb(0,0,255); line-height: 20px">where</span> username=<span style="color: rgb(255,0,0); line-height: 20px">''</span> <span style="color: rgb(153,153,153); line-height: 20px">or</span> 1=1;<span style="color: rgb(0,0,255); line-height: 20px"><strong style="line-height: 20px">drop</strong>
</span><strong style="line-height: 20px"><span style="color: rgb(0,0,255); line-height: 20px">table</span>
test</strong></div>
</div>
这个语句将执行句法上完全正确的SELECT语句，并利用drop命令清空test表。</span></span></div>
<div style="text-indent: 28px; line-height: 22px"><span style="font-size: medium; line-height: 25px"><span style="font-size: 14px; line-height: 26px"><strong style="line-height: 22px">应对策略</strong></span></span></div>
<div style="text-indent: 28px; line-height: 22px"><span style="font-size: medium; line-height: 25px"><span style="font-size: 14px; line-height: 26px">问题的关键就是不要用string构造sql语句，这样就不会利用输入的参数构造sql语句了。所以要用PreparedStatement替换Statement，即用占位符作为实参定义sql语句，从而避免sql注入攻击。</span></span></div>
<div style="text-indent: 28px; line-height: 22px"><span style="font-size: medium; line-height: 25px"><span style="font-size: 14px; line-height: 26px">不管什么框架，还是纯JDBC，只用Preparedstatement,一定要用占位符作为实参来构造sql（或hql）语句。</span></span></div>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px 0px 10px; line-height: 22px; padding-top: 0px"></p>
<div style="line-height: 22px">
<div style="padding-right: 4px; padding-left: 4px; font-size: 10pt; padding-bottom: 4px; border-left-color: #cccccc; width: 735px; color: #000000; line-height: 16px; padding-top: 4px; background-color: #eeeeee; "><strong style="line-height: 20px">String sql=</strong>
<span style="color: rgb(128,0,0); line-height: 20px"><strong style="line-height: 20px">"select * from test where usernmae=? and
password=?</strong> "</span> ;<br style="line-height: 20px" />
<strong style="line-height: 20px">PreparedStatement psm=conn.preparedStatement(sql);<br style="line-height: 20px" />
psm.setString(1,myname);<br style="line-height: 20px" />
psm.setString(2,mypasswd);<br style="line-height: 20px" />
Result rs=psm.executeQuery();</strong> <br style="line-height: 20px" />
<span style="color: rgb(0,0,255); line-height: 20px">if</span> (rs.next){<br style="line-height: 20px" />
rs.close();<br style="line-height: 20px" />
con.close();<br style="line-height: 20px" />
<span style="color: rgb(0,0,255); line-height: 20px">return</span> <span style="color: rgb(0,0,255); line-height: 20px">false</span> ;<br style="line-height: 20px" />
}<br style="line-height: 20px" />
<span style="color: rgb(0,0,255); line-height: 20px">else</span> {<br style="line-height: 20px" />
rs.close();<br style="line-height: 20px" />
con.close();<br style="line-height: 20px" />
<span style="color: rgb(0,0,255); line-height: 20px">return</span> <span style="color: rgb(0,0,255); line-height: 20px">true</span> ;<br style="line-height: 20px" />
}</div>
</div>
</span></strong></p>
</span>
<img src ="http://www.blogjava.net/MyOracleX/aggbug/338832.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MyOracleX/" target="_blank">MyOracleX</a> 2010-11-23 17:33 <a href="http://www.blogjava.net/MyOracleX/archive/2010/11/23/338832.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>