<?xml version="1.0" encoding="utf-8" ?>
<!-- generator="FEEDCREATOR_VERSION" -->
<rss version="2.0" xmlns:sns="http://blog.sina.com.cn/sns">
    <channel>
        <title>独月繁星的BLOG</title>
        <description></description>
        <link>http://blog.sina.com.cn/lbtzw</link>
        <lastBuildDate>Wed, 30 Nov 2011 22:32:56 +0800</lastBuildDate>
        <generator>FEEDCREATOR_VERSION</generator>
        <language>zh-cn</language>
        <copyright>Copyright 1996 - 2009 SINA Inc. All Rights Reserved.</copyright>
        <pubDate>Fri, 24 Feb 2012 03:12:53 +0800</pubDate>
        <item>
            <title>下拉框中的复选框，下拉框实现多选，select checkbox</title>
            <link>http://blog.sina.com.cn/s/blog_49540f440100x42l.html</link>
            <description><![CDATA[&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;中国站长天空-网页特效-表单特效-下拉框中的复选框&lt;/title&gt;<br />

&lt;meta http-equiv="content-type"
content="text/html;charset=gb2312"&gt;<br />
&lt;!--把下面代码加到&lt;head&gt;与&lt;/head&gt;之间--&gt;<br />

&lt;style type="text/css"&gt;<br />
body,td{font-size:12px;color:#000000;}<br />
.checkbox{width:15px;height:15px;}<br />
.cked{margin:1px;padding:2px;width:98%;display:block;background-color:highlight;color:highlighttext;}<br />

.nock{margin:1px;padding:2px;width:98%;display:block;}<br />
&lt;/style&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;!--把下面代码加到&lt;body&gt;与&lt;/body&gt;之间--&gt;<br />

&lt;script language="javascript"&gt;<br />
&lt;!--<br />
function HtmlEncode(text){<br />
&nbsp;return text.replace(/&amp;/g,
'&amp;amp').replace(/\"/g,
'"').replace(/&lt;/g,
'&amp;lt;').replace(/&gt;/g,
'&amp;gt;');<br />
}<br />
function _checkbox(name,str,defv){<br />
&nbsp;<a>//haiwa@2005-8-17</A><br />
&nbsp;//http://www.51windows.net<br />
&nbsp;var arr=str.split("^");<br />
&nbsp;var ck="",bc="";<br />
&nbsp;for(var
i=0;i&lt;arr.length;i++){<br />
&nbsp;&nbsp;var
thisarr=arr[i].split("@=");<br />
&nbsp;&nbsp;if
(thisarr[0].length&gt;0){<br />
&nbsp;&nbsp;&nbsp;var
t=(thisarr.length==2)?thisarr[0]:arr[i];<br />
&nbsp;&nbsp;&nbsp;var
v=(thisarr.length==2)?thisarr[1]:arr[i];<br />
&nbsp;&nbsp;&nbsp;if((","+HtmlEncode(defv).toLowerCase()+",").replace(/
,/g, ',').indexOf(","+v+",")!=-1){ck=" checked";cls="cked";}<br />
&nbsp;&nbsp;&nbsp;else{ck="";cls="nock";}<br />

&nbsp;&nbsp;&nbsp;var
thisstr="&lt;label class=\""+cls+"\"
for=\"i_"+name+"_"+i+"\"
id=\"l_"+name+"_"+i+"\"&gt;";<br />
&nbsp;&nbsp;&nbsp;thisstr+="&lt;input
class=\"checkbox\"
onpropertychange=\"document.getElementById_x('l_"+name+"_"+i+"').className=(document.getElementById_x('i_"+name+"_"+i+"').checked)?'cked':'nock';\"
onclick=\"document.getElementById_x('l_"+name+"_"+i+"').className=(document.getElementById_x('i_"+name+"_"+i+"').checked)?'cked':'nock';\"
type=\"checkbox\""+ck+" name=\""+name+"\" id=\"i_"+name+"_"+i+"\"
value=\""+HtmlEncode(v)+"\" \/&gt; ";<br />
&nbsp;&nbsp;&nbsp;thisstr+=HtmlEncode(t)+"&lt;/label&gt;";<br />

&nbsp;&nbsp;&nbsp;document.write(thisstr);<br />

&nbsp;&nbsp;}<br />
&nbsp;}<br />
}<br />
function _getv(o){<br />
&nbsp;var allvalue="";<br />
&nbsp;if(typeof(o)=="undefined"){return "";}<br />
&nbsp;if (typeof(o.length)=="undefined"){<br />
&nbsp;&nbsp;if(o.checked){return o.value+
",";}else{return "";}<br />
&nbsp;}<br />
&nbsp;for(var i=0;i&lt;o.length;i++){<br />
&nbsp;&nbsp;if(o[i].checked){<br />
&nbsp;&nbsp;&nbsp;allvalue
+=o[i].value+",";<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;return allvalue;<br />
}<br />
function _setv(o,defv){<br />
&nbsp;var
allvalue=(","+HtmlEncode(defv).toLowerCase()+",").replace(/ ,/g,
',');<br />
&nbsp;for(var i=0;i&lt;o.length;i++){<br />
&nbsp;&nbsp;var v = o[i].value;<br />
&nbsp;&nbsp;o[i].checked=(allvalue.indexOf(","+v+",")!=-1)<br />

&nbsp;}<br />
&nbsp;return allvalue;<br />
}<br />
function _sl(o,b){<br />
&nbsp;for(var i=0;i&lt;o.length;i++){<br />
&nbsp;&nbsp;o[i].checked = b<br />
&nbsp;&nbsp;//if(o[i].checked!=b){o[i].click();}<br />

&nbsp;}<br />
}<br />
//--&gt;<br />
&lt;/script&gt;<br />
&lt;form method="post" name="myform"
action="?"&gt;<br />
&nbsp; &lt;table border="0"
width="200"&gt;<br />
&nbsp;&nbsp;&nbsp;
&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;td&gt;&lt;div
style="width:180px;height:150px;overflow:auto;border: 2px inset
#FFFFFF;"&gt;<br />
&lt;script language="javascript"&gt;<br />
&lt;!--<br />
_checkbox("city","北京^河北^黑龙江^河南^江西^辽宁^宁夏^四川^天津^浙江^香港","北京,山东")<br />
//--&gt;<br />
&lt;/script&gt;<br />
&nbsp;&nbsp;
&lt;/div&gt;&lt;/td&gt;<br />

&nbsp;&nbsp;&nbsp;
&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;
&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;td&gt;&lt;button
onclick='_sl(document.myform.city,true);'&gt;全选&lt;/button&gt;<br />

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;button
onclick='_sl(document.myform.city,false);'&gt;全不选&lt;/button&gt;<br />

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;button
onclick='_setv(document.myform.city,"甘肃,广东");'&gt;set值&lt;/button&gt;<br />

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;button
onclick='alert(_getv(document.myform.city));'&gt;get值&lt;/button&gt;&lt;/td&gt;<br />

&nbsp;&nbsp;&nbsp;
&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;
&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;td&gt;&lt;div
style="width:180px;height:120px;overflow:auto;border: 2px inset
#FFFFFF;"&gt;<br />
&lt;script language="javascript"&gt;<br />
&lt;!--<br />
_checkbox("WebSite","<a HREF="mailto:Google.com@=http://www.google.com^Baidu.com@=http://www.baidu.com^Zzsky.cn@=http://www.zzsky.cn','http://www.zzsky.cn">Google.com@=http://www.google.com^Baidu.com@=http://www.baidu.com^Zzsky.cn@=http://www.zzsky.cn","http://www.zzsky.cn</A>")<br />

//--&gt;<br />
&lt;/script&gt;<br />
&nbsp;&nbsp;
&lt;/div&gt;&lt;/td&gt;<br />

&nbsp;&nbsp;&nbsp;
&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;
&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;td&gt;&lt;button
onclick='_sl(document.myform.WebSite,true);'&gt;全选&lt;/button&gt;<br />

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;button
onclick='_sl(document.myform.WebSite,false);'&gt;全不选&lt;/button&gt;<br />

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;button
onclick='_setv(document.myform.WebSite,"<a HREF="http://www.google.com&quot;);'%3Eset">http://www.google.com");'&gt;set</A>值&lt;/button&gt;<br />

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;button
onclick='alert(_getv(document.myform.WebSite));'&gt;get值&lt;/button&gt;&lt;/td&gt;<br />

&nbsp;&nbsp;&nbsp;
&lt;/tr&gt;<br />
&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;td
align="center"&gt;&lt;button
onclick='document.myform.reset();'&gt;重置&lt;/button&gt;
&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;
&lt;/tr&gt;<br />
&nbsp; &lt;/table&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;]]></description>
            <author>独月繁星</author>
            <category>网站开发</category>
            <comments>http://blog.sina.com.cn/s/blog_49540f440100x42l.html#comment</comments>
            <pubDate>Wed, 30 Nov 2011 22:32:56 +0800</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49540f440100x42l.html</guid>
        </item>
        <item>
            <title>Oracle10g用浏览器登陆isql*plus dba页面问题解决</title>
            <link>http://blog.sina.com.cn/s/blog_49540f440100phyr.html</link>
            <description><![CDATA[<div>
<p>登陆isqlplus dba：<br />
<a HREF="http://192.168.101.195:5560/isqlplus/dba">http://192.168.101.195:5560/isqlplus/dba</A><br />

会提示登录框，注意这里不是数据库用户，而是isqlplus应用服务器要求的用户和密码。要以DBA身份登陆isqlplus，必须先配置好oc4j用户。如下图所示:<br />

<span><img BORDER="0" SRC="http://hiphotos.baidu.com/kilyyan2191/pic/item/7f5318a7f32f37aed14358ab.jpg" SMALL="0" /><br /></SPAN></P>
<p>分析：<br />
oc4j可以使用两种身份认证方式：<br />
基于xml配置文件(jazn-da<wbr />ta.xml)<br />
基于LDAP(Oracle Internet Directory)<br />
本文只涉及第一种方式，也就是采用xml配置文件认证的方式，该配置文件位于$ORACLE_HOME/oc4j/j2ee/isqlplus
/application-deployments/isqlplus/config。但是该配置文件中的密码是加密过的，所以我们不能手动修改该文件，而是通过JAZN(Java
AuthoriZatioN)来配置。JAZN是oracle提供的一个JASS(Java Authentication and
Authorization Service)工具。</P>
<p>解决步骤：（windows环境）<br />
1，配置ORACLE_HOME环境变量 ORACLE_HOME=C:\oracle\product\10.2.0\db_1<br />
2，进入命令提示符：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
C:\&gt;<font COLOR="#FF0000">cd
%oracle_home%\oc4j\j2ee\isqlplus\application-deployments\isqlplus</FONT><br />

C:\oracle\product\10.2.0\db_1\oc4j\j2ee\isqlplus\application-deployments\isqlplus&gt;<font COLOR="#FF0000">%oracle_home%\jdk\bin\java
-Djava.security.properties=%oracle_home%\sqlplus\admin\iplus\provider
-jar %oracle_home%\oc4j\j2ee\home\jazn.jar
-shell<br /></FONT>RealmLoginModule username: <strong><font COLOR="#FF0000">admin</FONT></STRONG><br />
RealmLoginModule password:*<strong><font COLOR="#FF0000">*******（密码为welcome）</FONT></STRONG><br />
JAZN:&gt;<br />
如下图所示：<br />
<span><img BORDER="0" SRC="http://hiphotos.baidu.com/kilyyan2191/pic/item/f25195fc5c0b75b9b901a0b4.jpg" SMALL="0" /><br /></SPAN><br />
3，新建用户并授予isqlplus DBA的权限<br />
JAZN:&gt; <font COLOR="#FF0000">adduser "iSQL*Plus DBA"
lagebo superman</FONT><br />
JAZN:&gt; <font COLOR="#FF0000">grantrole webDba
"iSQL*Plus DBA" lagebo</FONT></P>
<p><font COLOR="#000000">4，其他可选操作命令<br />
<strong>列出用户：</STRONG><br />
JAZN:&gt; <font COLOR="#FF0000">listusers</FONT><br />
iSQL*Plus DBA/admin<br />
iSQL*Plus DBA/lagebo<br />
<strong>修改用户密码：<br /></STRONG>JAZN:&gt; <font COLOR="#FF0000">setpasswd "iSQL*Plus DBA" lagebo superman
superstar</FONT><br />
<font COLOR="#000000"><strong>撤销用户登陆isqlplus
DBA的权限<br /></STRONG>JAZN:&gt; <font COLOR="#FF0000">revokerole webDba "iSQL*Plus DBA"
lagebo</FONT><br /></FONT><strong>删除用户：<br /></STRONG>JAZN:&gt;</FONT>
<font COLOR="#FF0000">remuser "iSQL*Plus DBA" lagebo</FONT></P>
<p>5.退出JAZN命令环境<br />
JAZN:&gt; <font COLOR="#FF0000">exit</FONT></P>
<p>isqlplus 服务在10.2中无需重启，再次进入网址<a HREF="http://192.168.101.195:5560/isqlplus/dba">http://192.168.101.195:5560/isqlplus/dba</A>，在弹出的对话框中输入lagebo和superstar，就可以进入到数据库登陆界面了，此时可以用数据库用户sys或system以sysdba或sysoper身份登陆了。而且以后也不会弹出那个isqlplus应用服务器的用户和密码提示框了。</P>
</DIV>
<br />]]></description>
            <author>独月繁星</author>
            <category>数据库操作</category>
            <comments>http://blog.sina.com.cn/s/blog_49540f440100phyr.html#comment</comments>
            <pubDate>Tue, 18 Jan 2011 00:16:00 +0800</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49540f440100phyr.html</guid>
        </item>
        <item>
            <title>windows7 下安装oracle10g的方法</title>
            <link>http://blog.sina.com.cn/s/blog_49540f440100phvr.html</link>
            <description><![CDATA[<div>
<p>1.&nbsp;&nbsp;
到oracle官方网站下载安装包&nbsp;
10203_vista_w2k8_x86_production_db.zip
及&nbsp;10203_vista_w2k8_x86_production_client.zip，并解压。</P>
<p>&nbsp;</P>
<p>2.&nbsp;&nbsp;&nbsp;
查找安装文件夹中的refhost.xml文件. (Oracle
10g客户端\stage\prereq\client\refhost.xml；oracle10g服务端\stage\prereq\db\refhost.xml)在此文件中
添加如下内容</P>
<p>&nbsp;</P>
<div>
<div>
<div>Xml代码 <a TITLE="复制代码" HREF="http://control.blog.sina.com.cn/admin/article/article_edit.php?blog_id=49540f440100phvr#">
</A></DIV>
</DIV>
<ol>
<li><span><span><font COLOR="#008200">&lt;!--Microsoft&nbsp;Windows&nbsp;7--&gt;</FONT></SPAN><span>&nbsp;&nbsp;</SPAN></SPAN></LI>
<li>
<span>&nbsp;&nbsp;&nbsp;</SPAN><strong><font COLOR="#006699"><span>&lt;</SPAN><span>OPERATING_SYSTEM</SPAN><span>&gt;</SPAN></FONT></STRONG><span>&nbsp;&nbsp;</SPAN></LI>
<li>
<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><strong><font COLOR="#006699"><span>&lt;</SPAN><span>VERSION</SPAN></FONT></STRONG><span>&nbsp;</SPAN><span><font COLOR="#FF0000">VALUE</FONT></SPAN><span>=</SPAN><span><font COLOR="#0000FF">"6.1"</FONT></SPAN><span><strong><font COLOR="#006699">/&gt;</FONT></STRONG></SPAN><span>&nbsp;&nbsp;</SPAN></LI>
<li>
<span>&nbsp;&nbsp;&nbsp;</SPAN><strong><font COLOR="#006699"><span>&lt;/</SPAN><span>OPERATING_SYSTEM</SPAN><span>&gt;</SPAN></FONT></STRONG><span>&nbsp;&nbsp;</SPAN></LI>
</OL>
</DIV>
&nbsp;
<p><br />
3.&nbsp;&nbsp;
再到install目录中找到oraparam.ini(Oracle
10g客户端\install\oraparam.ini；oracle10g服务端\install\oraparam.ini)；在其中添加如下内容</P>
<p>&nbsp;</P>
<div>
<div>
<div>Xml代码 <a TITLE="复制代码" HREF="http://control.blog.sina.com.cn/admin/article/article_edit.php?blog_id=49540f440100phvr#">
</A></DIV>
</DIV>
<ol>
<li><span><span>[Windows-6.1-required]
&nbsp;&nbsp;</SPAN></SPAN></LI>
<li>
<span>#Minimum&nbsp;display&nbsp;colours&nbsp;for&nbsp;OUI&nbsp;to&nbsp;run
&nbsp;&nbsp;</SPAN></LI>
<li><span><font COLOR="#FF0000">MIN_DISPLAY_COLORS</FONT></SPAN><span>=</SPAN><span><font COLOR="#0000FF">256</FONT></SPAN><span>&nbsp;&nbsp;</SPAN></LI>
<li>
<span>#Minimum&nbsp;CPU&nbsp;speed&nbsp;required&nbsp;for&nbsp;OUI
&nbsp;&nbsp;</SPAN></LI>
<li><span>#</SPAN><span><font COLOR="#FF0000">CPU</FONT></SPAN><span>=</SPAN><span><font COLOR="#0000FF">300</FONT></SPAN><span>&nbsp;&nbsp;</SPAN></LI>
<li><span>&nbsp;&nbsp;</SPAN></LI>
<li>
<span>[Windows-6.1-optional]&nbsp;&nbsp;</SPAN></LI>
</OL>
</DIV>
<p>4.&nbsp; 双击 setup.exe, 然后一路 next,即可安装。</P>
</DIV>]]></description>
            <author>独月繁星</author>
            <category>数据库操作</category>
            <comments>http://blog.sina.com.cn/s/blog_49540f440100phvr.html#comment</comments>
            <pubDate>Mon, 17 Jan 2011 22:04:26 +0800</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49540f440100phvr.html</guid>
        </item>
        <item>
            <title>解决在Windows7下Oracle10G无法安装问题</title>
            <link>http://blog.sina.com.cn/s/blog_49540f440100phvm.html</link>
            <description><![CDATA[<p>安装完Windows 7后，接着安装Oracle
10g出现问题。使用的Orcale版本是10g,，因为是直接从xp到7的，之前也没有安装过Oracle for
vista版本，所以用当前的这个非vista版本出现了问题。 重新在Orcale官网上下载，下载地址为：
http://download.oracle.com/otn/<br />
<br />
　&nbsp; 安装完Windows 7后，接着安装Oracle 10g出现问题。
使用的Orcale版本是10g,，因为是直接从xp到7的，之前也没有安装过Oracle for
vista版本，所以用当前的这个非vista版本出现了问题。<br />
<br />
&nbsp;&nbsp;&nbsp;
重新在Orcale官网上下载，下载地址为：<a HREF="http://download.oracle.com/otn/nt/oracle10g/10203/10203_vista_w2k8_x86_production_db.zip" TARGET="_blank"><font COLOR="#AAD0D0">http://download.oracle.com/otn/nt/oracle10g/10203/10203_vista_w2k8_x86_production_db.zip</FONT></A>
可以直接复制到迅雷中下载。大小为778M。<br />
<br />
解压后点击setup.exe进行安装，在安装的版本检测时提示目前oracle不支持version为6.1的windows
OS系统的时候。看来是oracle不能够识别Windows 7
，只需要修改refhost.xml文件，让Oracle能够识别到操作系统的类型。点击oracle安装文件，查找refhost.xml文件，一般10g版本有2处refhost.xml。第一处在db\Disk1\stage\prereq\db下，另一处是在db\Disk1\stage\prereq\db_prereqs\db下。<br />

<br />
用记事本打开可以看到如下</P>
<div STYLE="FonT-FAMiLY: Monaco," WORD-WRAP:="" WORD-BREAK:="" PADDING-LEFT:="" PADDING-BOTTOM:="" PADDING-RIGHT:="" PADDING-TOP:="" MARGIN-LEFT:="" OVERFLOW-Y:="" OVERFLOW-X:="" WIDTH:="" BACKGROUND-COLOR:="" FONT-SIZE:="" SANS="" VERA="" DEJAVU="">
<div STYLE="TexT-ALiGn: left; pADDinG-BoTToM: 3px; MArGin: 0px; pADDinG-LeFT: 3px; pADDinG-riGHT: 3px; CoLor: black; FonT-WeiGHT: bold; pADDinG-Top: 3px">
Xml代码&nbsp;<wbr /><embed HEIGHT="15" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" WIDTH="14" SRC="http://heiwuya.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" ALLOWSCRIPTACCESS="never" ALLOWNETWORKING="internal" AUTOSTART="0" ENCODING="UTF-8" FLASHVARS="clipboard=&lt;?xml version="></EMBED></DIV>
</DIV>
<p STYLE="BorDer-LeFT: rgb(209,215,220) 1px solid; pADDinG-BoTToM: 0px; Line-HeiGHT: 18px; BACKGroUnD-CoLor: rgb(250,250,250); MArGin: 0px 0px 0px 38px; pADDinG-LeFT: 10px; pADDinG-riGHT: 0px; FonT-siZe: 1em; pADDinG-Top: 0px">
<span STYLE="CoLor: black"><span STYLE="CoLor: black"><wbr />&nbsp;</SPAN></SPAN></P>
<div STYLE="BACKGroUnD-CoLor: rgb(255,255,255); BorDer-BoTToM: rgb(209,215,220) 1px solid; BorDer-LeFT: rgb(209,215,220) 1px solid; BorDer-riGHT: rgb(209,215,220) 1px solid; BorDer-Top: rgb(209,215,220) 1px solid; CoLor: rgb(43,145,175); FonT-siZe: 1em; Line-HeiGHT: 1.4em; LisT-sTYLe-TYpe: decimal; MArGin: 0px 0px 1px; pADDinG-BoTToM: 2px; pADDinG-LeFT: 0px; pADDinG-riGHT: 0px; pADDinG-Top: 2px; margin-left: 2em">
<ol>
<li><span STYLE="CoLor: black"><span><span>&nbsp;</SPAN><span><font COLOR="#008200">&lt;!--Microsoft&nbsp;Windows&nbsp;vista--&gt;</FONT></SPAN><span>&nbsp;&nbsp;</SPAN></SPAN></SPAN></LI>
<li><span>&nbsp;&nbsp;</SPAN></LI>
<li>
<span>&nbsp;&nbsp;</SPAN><strong><font COLOR="#006699"><span>&lt;</SPAN><span>OPERATING_SYSTEM</SPAN><span>&gt;</SPAN></FONT></STRONG><span>&nbsp;&nbsp;</SPAN></LI>
<li><span>&nbsp;&nbsp;</SPAN></LI>
<li>
<span>&nbsp;&nbsp;</SPAN><strong><font COLOR="#006699"><span>&lt;</SPAN><span>VERSION</SPAN></FONT></STRONG><span>&nbsp;</SPAN><span><font COLOR="#FF0000">VALUE</FONT></SPAN><span>=</SPAN><span><font COLOR="#0000FF">"6.0"</FONT></SPAN><span><strong><font COLOR="#006699">/&gt;</FONT></STRONG></SPAN><span>&nbsp;&nbsp;</SPAN></LI>
<li><span>&nbsp;&nbsp;</SPAN></LI>
<li>
<span>&nbsp;&nbsp;</SPAN><strong><font COLOR="#006699"><span>&lt;/</SPAN><span>OPERATING_SYSTEM</SPAN><span>&gt;</SPAN></FONT></STRONG><span>&nbsp;&nbsp;</SPAN></LI>
<li><span>&nbsp;&nbsp;</SPAN></LI>
<li><span>这样的代码，那么ctrl+c(复制)然后在这串代码的后面ctrl+v(粘贴)改成
&nbsp;&nbsp;</SPAN></LI>
<li><span>&nbsp;&nbsp;</SPAN></LI>
<li>
<span>&nbsp;&lt;!--Microsoft&nbsp;Windows&nbsp;7-</SPAN><span><strong><font COLOR="#006699">&gt;</FONT></STRONG></SPAN><span>&nbsp;&nbsp;</SPAN></LI>
<li><span>&nbsp;&nbsp;</SPAN></LI>
<li>
<span>&nbsp;&nbsp;</SPAN><strong><font COLOR="#006699"><span>&lt;</SPAN><span>OPERATING_SYSTEM</SPAN><span>&gt;</SPAN></FONT></STRONG><span>&nbsp;&nbsp;</SPAN></LI>
<li><span>&nbsp;&nbsp;</SPAN></LI>
<li>
<span>&nbsp;&nbsp;</SPAN><strong><font COLOR="#006699"><span>&lt;</SPAN><span>VERSION</SPAN></FONT></STRONG><span>&nbsp;</SPAN><span><font COLOR="#FF0000">VALUE</FONT></SPAN><span>=</SPAN><span><font COLOR="#0000FF">"6.1"</FONT></SPAN><span><strong><font COLOR="#006699">/&gt;</FONT></STRONG></SPAN><span>&nbsp;&nbsp;</SPAN></LI>
<li><span>&nbsp;&nbsp;</SPAN></LI>
<li>
<span>&nbsp;&nbsp;</SPAN><strong><font COLOR="#006699"><span>&lt;/</SPAN><span>OPERATING_SYSTEM</SPAN><span>&gt;</SPAN></FONT></STRONG><span>&nbsp;&nbsp;</SPAN></LI>
</OL>
<wbr /></DIV>
<p><br />
重新启动安装程序，一切按常安装走就可以了。</P>]]></description>
            <author>独月繁星</author>
            <category>数据库操作</category>
            <comments>http://blog.sina.com.cn/s/blog_49540f440100phvm.html#comment</comments>
            <pubDate>Mon, 17 Jan 2011 22:01:03 +0800</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49540f440100phvm.html</guid>
        </item>
        <item>
            <title>weblogic 10 虚拟主机多域名配置</title>
            <link>http://blog.sina.com.cn/s/blog_49540f440100pho2.html</link>
            <description><![CDATA[<font SIZE="2">&nbsp;
现在服务器上有2个项目和2个域名，例如域名分别为www.test1.com和www.test2.com;2个项目分别为：1project1和project2;要求在浏览器中输入：www.test1.com进入project1的项目首页，输入www.test2.com进入project2项目的首页配置大体如下:&nbsp;<br />

&nbsp;&nbsp; 一:
在2个项目的WEB_INF目录下的weblogic.xml中,将&lt;context-root&gt;里的内容改为/;&nbsp;<br />

即:&nbsp;<br /></FONT>
<div STYLE="FonT-FAMiLY: Monaco," WORD-WRAP:="" WORD-BREAK:="" PADDING-LEFT:="" PADDING-BOTTOM:="" PADDING-RIGHT:="" PADDING-TOP:="" MARGIN-LEFT:="" OVERFLOW-Y:="" OVERFLOW-X:="" WIDTH:="" BACKGROUND-COLOR:="" FONT-SIZE:="" SANS="" VERA="" DEJAVU="">
<div STYLE="TexT-ALiGn: left; pADDinG-BoTToM: 3px; MArGin: 0px; pADDinG-LeFT: 3px; pADDinG-riGHT: 3px; CoLor: black; FonT-WeiGHT: bold; pADDinG-Top: 3px">
Xml代码&nbsp;<embed AllowScriptAccess="samedomain"  HEIGHT="15" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" WIDTH="14" SRC="http://heiwuya.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" QUALITY="high" FLASHVARS="clipboard=&lt;context-root&gt;/&lt;/context-root&gt;"></EMBED></DIV>
</DIV>
<ol STYLE="BorDer-BoTToM: rgb(209,215,220) 1px solid; BorDer-LeFT: rgb(209,215,220) 1px solid; pADDinG-BoTToM: 2px; Line-HeiGHT: 1.4em; BACKGroUnD-CoLor: rgb(255,255,255); LisT-sTYLe-TYpe: decimal; MArGin: 0px 0px 1px; pADDinG-LeFT: 0px; pADDinG-riGHT: 0px; CoLor: rgb(43,145,175); FonT-siZe: 1em; BorDer-Top: rgb(209,215,220) 1px solid; BorDer-riGHT: rgb(209,215,220) 1px solid; pADDinG-Top: 2px">
<li STYLE="BorDer-LeFT: rgb(209,215,220) 1px solid; pADDinG-BoTToM: 0px; Line-HeiGHT: 18px; BACKGroUnD-CoLor: rgb(250,250,250); MArGin: 0px 0px 0px 38px; pADDinG-LeFT: 10px; pADDinG-riGHT: 0px; FonT-siZe: 1em; pADDinG-Top: 0px">
<span STYLE="CoLor: black"><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&lt;</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">context-root</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&gt;</SPAN><span STYLE="CoLor: black">/</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&lt;/</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">context-root</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&gt;</SPAN><span STYLE="CoLor: black">&nbsp;&nbsp;&nbsp;</SPAN></SPAN></LI>
</OL>
<br />
<br />
如果项目下没有weblogic.xml文件,可自己创建一个,内容如下:&nbsp;<br />
<br />
<div STYLE="FonT-FAMiLY: Monaco," WORD-WRAP:="" WORD-BREAK:="" PADDING-LEFT:="" PADDING-BOTTOM:="" PADDING-RIGHT:="" PADDING-TOP:="" MARGIN-LEFT:="" OVERFLOW-Y:="" OVERFLOW-X:="" WIDTH:="" BACKGROUND-COLOR:="" FONT-SIZE:="" SANS="" VERA="" DEJAVU="">
<div STYLE="TexT-ALiGn: left; pADDinG-BoTToM: 3px; MArGin: 0px; pADDinG-LeFT: 3px; pADDinG-riGHT: 3px; CoLor: black; FonT-WeiGHT: bold; pADDinG-Top: 3px">
Xml代码&nbsp;<embed AllowScriptAccess="samedomain"  HEIGHT="15" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" WIDTH="14" SRC="http://heiwuya.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" ENCODING="UTF-8" FLASHVARS="clipboard=&lt;?xml version="></EMBED></DIV>
</DIV>
<ol STYLE="BorDer-BoTToM: rgb(209,215,220) 1px solid; BorDer-LeFT: rgb(209,215,220) 1px solid; pADDinG-BoTToM: 2px; Line-HeiGHT: 1.4em; BACKGroUnD-CoLor: rgb(255,255,255); LisT-sTYLe-TYpe: decimal; MArGin: 0px 0px 1px; pADDinG-LeFT: 0px; pADDinG-riGHT: 0px; CoLor: rgb(43,145,175); FonT-siZe: 1em; BorDer-Top: rgb(209,215,220) 1px solid; BorDer-riGHT: rgb(209,215,220) 1px solid; pADDinG-Top: 2px">
<li STYLE="BorDer-LeFT: rgb(209,215,220) 1px solid; pADDinG-BoTToM: 0px; Line-HeiGHT: 18px; BACKGroUnD-CoLor: rgb(250,250,250); MArGin: 0px 0px 0px 38px; pADDinG-LeFT: 10px; pADDinG-riGHT: 0px; FonT-siZe: 1em; pADDinG-Top: 0px">
<span STYLE="CoLor: black"><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&lt;?</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">xml</SPAN><span STYLE="CoLor: black">&nbsp;</SPAN><span STYLE="CoLor: red">version</SPAN><span STYLE="CoLor: black">=</SPAN><span STYLE="CoLor: blue">"1.0"</SPAN><span STYLE="CoLor: black">&nbsp;</SPAN><span STYLE="CoLor: red">encoding</SPAN><span STYLE="CoLor: black">=</SPAN><span STYLE="CoLor: blue">"UTF-8"</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">?&gt;</SPAN><span STYLE="CoLor: black">&nbsp;&nbsp;&nbsp;</SPAN></SPAN></LI>
<li STYLE="BorDer-LeFT: rgb(209,215,220) 1px solid; pADDinG-BoTToM: 0px; Line-HeiGHT: 18px; BACKGroUnD-CoLor: rgb(250,250,250); MArGin: 0px 0px 0px 38px; pADDinG-LeFT: 10px; pADDinG-riGHT: 0px; FonT-siZe: 1em; pADDinG-Top: 0px">
<span STYLE="CoLor: black">&lt;!DOCTYPE&nbsp;weblogic-web-app&nbsp;PUBLIC&nbsp;"-//BEA&nbsp;Systems,&nbsp;Inc.//DTD&nbsp;Web&nbsp;Application&nbsp;6.1//EN"&nbsp;"http://www.bea.com/servers/wls610/dtd/weblogic-web-jar.dtd"<span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&gt;</SPAN><span STYLE="CoLor: black">&nbsp;&nbsp;&nbsp;</SPAN></SPAN></LI>
<li STYLE="BorDer-LeFT: rgb(209,215,220) 1px solid; pADDinG-BoTToM: 0px; Line-HeiGHT: 18px; BACKGroUnD-CoLor: rgb(250,250,250); MArGin: 0px 0px 0px 38px; pADDinG-LeFT: 10px; pADDinG-riGHT: 0px; FonT-siZe: 1em; pADDinG-Top: 0px">
<span STYLE="CoLor: black"><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&lt;</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">weblogic-web-app</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&gt;</SPAN><span STYLE="CoLor: black">&nbsp;&nbsp;&nbsp;</SPAN></SPAN></LI>
<li STYLE="BorDer-LeFT: rgb(209,215,220) 1px solid; pADDinG-BoTToM: 0px; Line-HeiGHT: 18px; BACKGroUnD-CoLor: rgb(250,250,250); MArGin: 0px 0px 0px 38px; pADDinG-LeFT: 10px; pADDinG-riGHT: 0px; FonT-siZe: 1em; pADDinG-Top: 0px">
<span STYLE="CoLor: black"><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&lt;</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">context-root</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&gt;</SPAN><span STYLE="CoLor: black">/</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&lt;/</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">context-root</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&gt;</SPAN><span STYLE="CoLor: black">&nbsp;&nbsp;&nbsp;</SPAN></SPAN></LI>
<li STYLE="BorDer-LeFT: rgb(209,215,220) 1px solid; pADDinG-BoTToM: 0px; Line-HeiGHT: 18px; BACKGroUnD-CoLor: rgb(250,250,250); MArGin: 0px 0px 0px 38px; pADDinG-LeFT: 10px; pADDinG-riGHT: 0px; FonT-siZe: 1em; pADDinG-Top: 0px">
<span STYLE="CoLor: black"><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&lt;/</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">weblogic-web-app</SPAN><span STYLE="CoLor: rgb(0,102,153); FonT-WeiGHT: bold">&gt;</SPAN><span STYLE="CoLor: black">&nbsp;&nbsp;&nbsp;</SPAN></SPAN></LI>
</OL>
<br />
<br />
&nbsp;&nbsp;&nbsp;
2:部署1project1和1project2项目,点击weblogic控制台左侧的Deployments-&gt;lock&amp;edit-&gt;install
按照提示可以将2个项目部署好&nbsp;<br />
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
3:建2个虚拟主机&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
大体步骤:控制台左侧的Environment-&gt;Virtual
Hosts-&gt;左侧的lock&amp;edit解锁-&gt;
new -&gt; Name 写 test1 -&gt; Virtual Host
Names -&gt; www.test1.com -&gt; 在 Targets
里将 AdminServe 选上,&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;
同样方法创建 test2 虚拟主机&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
4:建立关联&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
制台左侧的Deployments,点击 test1 进入 ,在Targets 的 Virtual
Hosts选上test1,将AdminServer 不要选.&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
同样方法关联test2 项目.&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
重启服务,分别访问www.test1.com和www.test2.com,分别到test1和test2项目首页,别是配置成功.&nbsp;]]></description>
            <author>独月繁星</author>
            <category>Java</category>
            <comments>http://blog.sina.com.cn/s/blog_49540f440100pho2.html#comment</comments>
            <pubDate>Mon, 17 Jan 2011 17:07:09 +0800</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49540f440100pho2.html</guid>
        </item>
        <item>
            <title>Weblogic应用程序部署指南</title>
            <link>http://blog.sina.com.cn/s/blog_49540f440100phmx.html</link>
            <description><![CDATA[<p>1.1&nbsp;&nbsp;&nbsp; 部署JAVA
EE应用程序<br />
将编译好的Web应用程序复制到WebLogic的服务器目录下。例如路径D:\bea10\user_projects\domains\base_domain\autodeploy；</P>
<p>这样，当启动WebLogic时候，WebLogic会自动发布该项目。在
WebLogic有个BUG，有时候不能自动发布项目，这时候我们手动修改config.xml配置文件,，配置如下：</P>
<p>&lt;app-deployment&gt;</P>
<p>&nbsp;&nbsp;&nbsp;
&lt;name&gt;_appsdir_QCGroup_dir&lt;/name&gt;</P>
<p>&nbsp;&nbsp;&nbsp;
&lt;target&gt;AdminServer&lt;/target&gt;</P>
<p>&nbsp;&nbsp;&nbsp;
&lt;module-type&gt;war&lt;/module-type&gt;</P>
<p>&nbsp;&nbsp;&nbsp;
&lt;source-path&gt;autodeploy\QCGroup&lt;/source-path&gt;</P>
<p>&nbsp;&nbsp;&nbsp;
&lt;security-dd-model&gt;DDOnly&lt;/security-dd-model&gt;</P>
<p>&nbsp;&nbsp;&nbsp;
&lt;staging-mode&gt;nostage&lt;/staging-mode&gt;</P>
<p>&nbsp;
&lt;/app-deployment&gt;</P>
<p>
注意：该配置应在&lt;configuration-version&gt;9.2.0.0&lt;/configuration-version&gt;和&lt;admin-server-name&gt;AdminServer&lt;/admin-server-name&gt;之间<br />

启动服务，在控制台中看到web程序的相关信息，例如日志信息等，说明应用程序已经发布成功。</P>
<p>我不建议使用WebLogic的web控制程序进行部署 ，因为所果出错的话，我们很难找到具体原因。</P>
<p>1.2&nbsp;&nbsp;&nbsp;
部署EJB程序<br />
EJB程序的部署与JAVA EE程序的部署相同，只需要更改module-type为ejb即可，如下所示：</P>
<p>&nbsp;
&lt;app-deployment&gt;</P>
<p>&nbsp;&nbsp;&nbsp;
&lt;name&gt;AppEJB&lt;/name&gt;</P>
<p>&nbsp;&nbsp;&nbsp;
&lt;target&gt;AdminServer&lt;/target&gt;</P>
<p>&nbsp;&nbsp;&nbsp;
&lt;module-type&gt;ejb&lt;/module-type&gt;</P>
<p>&nbsp;&nbsp;&nbsp;
&lt;source-path&gt;autodeploy\EJB\appEJB.jar&lt;/source-path&gt;</P>
<p>&nbsp;&nbsp;&nbsp;
&lt;security-dd-model&gt;DDOnly&lt;/security-dd-model&gt;</P>
<p>&nbsp;
&lt;/app-deployment&gt;</P>
<p>1.3&nbsp;&nbsp;&nbsp;
应用程序架构、编译环境及WebLogic版本选择<br />
WebLogic对JDK的适应性相当差，必须使用他自带的JDK版本，或者相同的JDK版本。如果JDK版本不同，会直接导致服务无法启动。</P>
<p>如果web应用程序使用的框架是JDK 1.5或以上的版本，并且XML DTD是2.5或以上的版本。则必须使用WebLogic10
进行部署，否则应用程序无法正常运行，提示项目描述信息出错。即使使用了WebLogic10布署，应用程序也不定可以正常运行，下面的章节将提到。</P>
<p>例如使用了 Struts2框架，如果是WebLogic9或者以下版本，是没法编译Struts2的EL表达式的。</P>
<p>1.4&nbsp;&nbsp;&nbsp;
Hibernate3与WebLogic部署注意事项<br />
&nbsp;Hibernate3与WebLogic部署出现异常：ClassNotFoundException:
org.hibernate.hql.ast.HqlToken</P>
<p>Hibernate3.0
采用新的基于ANTLR的HQL/SQL查询翻译器，在Hibernate的配置文件中，hibernate.query.factory_class属性用来选择查询翻译器。<br />

&nbsp; （1）选择Hibernate3.0的查询翻译器：<br />
&nbsp;&nbsp;&nbsp;
hibernate.query.factory_class=
org.hibernate.hql.ast.ASTQueryTranslatorFactory<br />
&nbsp; （2）选择Hibernate2.1的查询翻译器<br />
&nbsp;&nbsp; hibernate.query.factory_class=
org.hibernate.hql.classic.ClassicQueryTranslatorFactory</P>
<p>&nbsp;</P>
<p>&nbsp;</P>
<p><br />
为了使用3.0的批量更新和删除功能，</P>
<p>
只能选择（1）否则不能解释批量更新的语句，当使用的时候出现了不支持条件输入中文的情况。选择（2）可以支持输入中文，但没法解释批量更新语句了。</P>
<p><br />
&nbsp;&nbsp;&nbsp;
在hibernate3中需要用到antlr，然而这个包在weblogic.jar中已经包含了antrl类库，就会产生一些类加载的错误，无法找到在war或者ear中的hibernate3.jar。<br />

出现这个错误之后，antlr会调用System.exit()，这样weblogic就会中止服务。<br />
解决方法:<br />
&nbsp;&nbsp;&nbsp;
1.是在hibernate.properties文件中增加属性：hibernate.query.factory_class，属性的值是org.hibernate.hql.classic.ClassicQueryTranslatorFactory，这样就可以解决问题了。<br />

但是部分功能会有问题，譬如 但本系在批量删除和更新会有问题,本系统不采用。</P>
<p><br />
&nbsp;&nbsp;&nbsp;
2.将antlr-2.7.5H3.jar到Weblogic的pre_Classpath
:用WinRar或Winzip打开C:\bea\weblogic81\server\lib\weblogic.jar
删除里面的antlr目录,
然后再antlr-2.7.5H3.jar放在weblogic.jar的同一目录(注:替换之后没做做过严格测试,尚不知是否有后遗症)</P>
<p><br />
&nbsp;&nbsp;&nbsp; 2.1.
拷贝Hibernate3里带的包antlr-2.7.5H3.jar到%WL_HOME%\server\lib下</P>
<p><br />
&nbsp;&nbsp;&nbsp; 2.2、修改%
mydomain% \ startWebLogic.cmd ：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
在set CLASSPATH之前加上下面一句（注意包的版本）：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.6.jar<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
在set CLASSPATH之后加上下面一句：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%</P>
<p>&nbsp;</P>
<p>1.5&nbsp;&nbsp;&nbsp;
JAR包冲突<br />
在weblogic配置文件中去掉如下配置<br />
&lt;container-descriptor&gt;</P>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;prefer-web-inf-classes&gt;true&lt;/prefer-web-inf-classes&gt;</P>
<p>&lt;/container-descriptor&gt;</P>
<p>1.6&nbsp;&nbsp;&nbsp;
weblogic9.2中部署JAVA EE项目<br />
web.xml中配置的schema如果为2.4.xsd，则是j2ee项目，但是目前大多数应用程序都为2.5.xsd，这个时候我们应该将schema改成如下如格式：</P>
<p>&lt;web-app version="2.4" xmlns="<a HREF="http://java.sun.com/xml/ns/j2ee">http://java.sun.com/xml/ns/j2ee</A>"</P>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;
xmlns:xsi="<a HREF="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</A>"</P>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;
xsi:schemaLocation="<a HREF="http://java.sun.com/xml/ns/j2ee">http://java.sun.com/xml/ns/j2ee</A></P>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;
<a HREF="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd</A>"&gt;</P>
<p>&nbsp;</P>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;
建议使用weblogic10部署应用程序，因为weblogic9不支持struts2。</P>
<p>&nbsp;</P>]]></description>
            <author>独月繁星</author>
            <category>Java</category>
            <comments>http://blog.sina.com.cn/s/blog_49540f440100phmx.html#comment</comments>
            <pubDate>Mon, 17 Jan 2011 16:19:12 +0800</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49540f440100phmx.html</guid>
        </item>
        <item>
            <title>ie8下通过meta方式获取不到来源地址的解决方法【Request.ServerVariables(&quot;HTTP_REFERER&quot;)】</title>
            <link>http://blog.sina.com.cn/s/blog_49540f440100o1ir.html</link>
            <description><![CDATA[<p>在很多程序中往往会通过检查来源地址来判断是否来源地址安全，一般我们用下面的函数进行对比：<br />
<br />
&nbsp;Public Function CheckPost()<br />
<br />
&nbsp;&nbsp;Dim server_v1, server_v2<br />
&nbsp;&nbsp;CheckPost = False<br />
&nbsp;&nbsp;server_v1 =
CStr(Request.ServerVariables("HTTP_REFERER"))<br />
&nbsp;&nbsp;server_v2 =
CStr(Request.ServerVariables("SERVER_NAME"))<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;If Mid(server_v1, 8,
Len(server_v2)) = server_v2 Then<br />
&nbsp;&nbsp;&nbsp;CheckPost =
True<br />
&nbsp;&nbsp;End If<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />

&nbsp;End Function</P>
<p>
如果得出的结果是true，则可以继续访问，并且设置一个自动返回的页面，一般是多少秒后，自动返回；如果是false，则不能访问，这在IE6下是行的通的，但是在IE8下用通过meta方式跳转到新页面的时候获取不到来源地址。一般这样只有通过JS跳转来解决问题，下面这段函数，就是用来替换：<font FACE="Verdana">Response.Write
"&lt;meta http-equiv=""refresh"" c;url='"
&amp; strFileName &amp;
"'&gt;"此类语句。<br />
<br />
&nbsp;&nbsp; Response.Write
"&lt;script language=""javascript""&gt; "
&amp; vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write " function nextpage(){" &amp;
vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write
"&nbsp;&nbsp;&nbsp; var url =
document.getElementById_x('rsfreshurl');" &amp;
vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write
"&nbsp;&nbsp;&nbsp; if
(document.all) {" &amp; vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
url.click();" &amp; vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write
"&nbsp;&nbsp;&nbsp; }"
&amp; vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write "&nbsp;&nbsp; else if
(document.createEvent) {" &amp; vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write
"&nbsp;&nbsp;&nbsp;&nbsp;
var ev = document.createEvent('HTMLEvents');" &amp;
vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ev.initEvent('click', false, true);" &amp; vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
url.dispatchEvent(ev);" &amp; vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write
"&nbsp;&nbsp;&nbsp; }"
&amp; vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write " }" &amp; vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write " setTimeout(""nextpage();"",3000);"
&amp; vbCrLf&nbsp;</FONT> <font FACE="Verdana"><span STYLE="CoLor: #ff0000">'这边的3000代表3秒时间跳转，可以改成其他的<br /></SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write "&lt;/script&gt;"
&amp; vbCrLf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Response.Write "&lt;a name=""rsfreshurl""
id=""rsfreshurl""
href="&amp;&nbsp;&nbsp;&nbsp;
Request.ServerVariables("HTTP_REFERER")
&amp;"&gt;"<br />
<br />
换上上面的Js跳转，测试通过！</FONT></P>]]></description>
            <author>独月繁星</author>
            <category>网站开发</category>
            <comments>http://blog.sina.com.cn/s/blog_49540f440100o1ir.html#comment</comments>
            <pubDate>Fri, 19 Nov 2010 11:53:20 +0800</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49540f440100o1ir.html</guid>
        </item>
        <item>
            <title>PHP操作MYSQL函数手册大全</title>
            <link>http://blog.sina.com.cn/s/blog_49540f440100nne4.html</link>
            <description><![CDATA[<div>
<p>&nbsp;</P>
<table CELLSPACING="0" CELLPADDING="0" BORDER="1">
<tbody>
<tr>
<td><span STYLE="CoLor: #800000"><strong><font SIZE="2">说
明</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #800000"><strong><font SIZE="2">函 数
名</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #800000"><strong><font SIZE="2">函 数 详
细</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #800000"><strong><font SIZE="2">函 数 说
明</FONT></STRONG></SPAN></TD>
</TR>
<tr>
<td><strong><font SIZE="2">建立数据库连接</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_connect()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">resource mysql_connect([string
hostname [:port] [:/path/to/socket] [, string username] [, string
password]])</SPAN><br />
示例：$conn = @mysql_connect("localhost", "username", "password") or
dir("不能连接到Mysql Server");</TD>
<td>使用该连接必须显示的关闭连接</TD>
</TR>
<tr>
<td><strong><font SIZE="2">建立数据库连接</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_pconnect()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">resource mysql_pconnect([string
hostname [:port] [:/path/to/socket] [, string username] [, string
password]])<br /></SPAN>示例：$conn = @mysql_pconnect("localhost",
"username", "password") or dir("不能连接到Mysql Server");</TD>
<td>使用该连接函数不需要显示的关闭连接，它相当于使用了连接池</TD>
</TR>
<tr>
<td><strong><font SIZE="2">关闭数据库连接</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_close()</FONT></STRONG></SPAN></TD>
<td>$conn = @mysql_connect("localhost", "username", "password") or
die("不能连接到Mysql Server");<br />
@mysql_select_db("MyDatabase") or die("不能选择这个数据库，或数据库不存在");<br />
echo "你已经连接到MyDatabase数据库";<br />
mysql_close();</TD>
<td>　</TD>
</TR>
<tr>
<td><strong><font SIZE="2">选择数据库</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_select_db()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">boolean mysql_select_db(string
db_name [, resource link_id])<br /></SPAN>$conn =
@mysql_connect("localhost", "username", "password") or
die("不能连接到Mysql Server");<br />
@mysql_select_db("MyDatabase") or die("不能选择这个数据库，或数据库不存在");</TD>
<td>　</TD>
</TR>
<tr>
<td><strong><font SIZE="2">查询MySQL</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_query()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">resource mysql_query (string
query, [resource link_id])</SPAN><br />
$linkId = @mysql_connect("localhost", "username", "password") or
die("不能连接到Mysql Server");<br />
@mysql_select_db("MyDatabase") or die("不能选择这个数据库，或者数据库不存在");<br />
$query = "select * from MyTable";<br />
$result = mysql_query($query);<br />
mysql_close();</TD>
<td>若SQL查询执行成功，则返回资源标识符，失败时返回FALSE。若执行更新成功，则返回TRUE，否则返回FALSE</TD>
</TR>
<tr>
<td><strong><font SIZE="2">查询MySQL</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_db_query()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">resource mysql_db_query(string
database, string query [, resource link_id])<br /></SPAN>$linkId =
@mysql_connect("localhost", "username", "password") or
die("不能连接到MysqlServer");<br />
$query = "select * from MyTable";<br />
$result = mysql_db_query("MyDatabase", $query);<br />
mysql_close();</TD>
<td>为了使代码清晰，不推荐使用这个函数调用</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取和显示数据</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_result()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">mixed mysql_result (resource
result_set, int row [, mixed field])<br /></SPAN>$query = "select
id, name from MyTable order by name";<br />
$result = mysql_query($query);<br />
$c_id = mysql_result($result, 0, "id");<br />
$c_name = mysql_result($result, 0, "name");</TD>
<td>最简单、也是效率最低的数据获取函数</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取和显示数据</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_fetch_row()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">array mysql_fetch_row (resource
result_set)<br /></SPAN>$query = "select id, name from MyTable
order by name";<br />
$result = mysql_query($query);<br />
while (list($id, $name) = mysql_fetch_row($result)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
echo( "Name: $name ($id) &lt;br
/&gt;");<br />
}</TD>
<td>函数从result_set中获取整个数据行，将值放在一个索引数组中。通常会结使list()函数使用</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取和显示数据</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_fetch_array()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">array mysql_fetch_array (resource
result_set [, int result_type])</SPAN><br />
$query = "select id, name from MyTable order by name";<br />
$result = mysql_query($query);<br />
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$id = $row[ "id"];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$name = $row[ "name"];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
echo "Name: $name ($id) &lt;br
/&gt;";<br />
}</TD>
<td>result_type的值有：<br />
MYSQL_ASSOC: 字段名表示键，字段内容为值<br />
MYSQL_NUM: 数值索引数组，操作与mysql_fetch_ros()函数一样<br />
MYSQL_BOTH: 即作为关联数组又作为数值索引数组返回。result_type的默认值。</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取和显示数据</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_fetch_assoc()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">array mysql_fetch_assoc (resource
result_set)</SPAN><br />
相当于调用 mysql_fetch_array(resource, MYSQL_ASSOC);</TD>
<td>　</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取和显示数据</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_fetch_object()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">object mysql_fetch_object(resource
result_set)</SPAN><br />
$query = "select id, name from MyTable order by name";<br />
while ($row = mysql_fetch_object($result)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$id = $row- &gt;id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$name = $row- &gt;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
echo "Name: $name ($id) &lt;br
/&gt;";<br />
}</TD>
<td>在操作上与mysql_fetch_array()相同</TD>
</TR>
<tr>
<td><strong><font SIZE="2">所选择的记录</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_num_rows()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">int mysql_num_rows(resource
result_set)<br /></SPAN>#query = "select id, name from MyTable
where id &gt; 65";<br />
$result = mysql_query($query);<br />
echo "有".mysql_num_rows($result)."条记录的ID大于65";</TD>
<td>只在确定select查询所获取的记录数时才有用。</TD>
</TR>
<tr>
<td><strong><font SIZE="2">受影响的记录</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_affected_rows()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">int mysql_affected_rows([resource
link_id])</SPAN><br />
$query = "update MyTable set name='CheneyFu' where
id&gt;=5";<br />
$result = mysql_query($query);<br />
echo "ID大于等于5的名称被更新了的记录数：".mysql_affected_rows();</TD>
<td>该函数获取受INSERT,UPDATE或DELETE更新语句影响的行数</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取数据库列表信息</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_list_dbs()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">resource mysql_list_dbs([resource
link_id])</SPAN><br />
mysql_connect("localhost", "username", "password");<br />
$dbs = mysql_list_dbs();<br />
echo "Databases: &lt;br /&gt;";<br />
while (list($db) = mysql_fetch_rows($dbs)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
echo "$db &lt;br /&gt;";<br />
}</TD>
<td>　</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取数据库名</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_db_name()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">string mysql_db_name(resource
result_set, integer index)</SPAN></TD>
<td>该函数获取在mysql_list_dbs()所返回result_set中位于指定index索引的数据库名</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取数据库表列表</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_list_tables()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">resource mysql_list_tables(string
database [, resource link_id])</SPAN><br />
mysql_connect("localhost", "username", "password");<br />
$tables = mysql_list_tables("MyDatabase");<br />
while (list($table) = mysql_fetch_row($tables)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
echo "$table &lt;br /&gt;";<br />
}</TD>
<td>该函数获取database中所有表的表名</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取数据库表名</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_tablename()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">string mysql_tablename(resource
result_set, integer index)</SPAN><br />
mysql_connect("localhost", "username", "password");<br />
$tables = mysql_list_tables("MyDatabase");<br />
$count = -1;<br />
while (++$count &lt; mysql_numrows($tables)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
echo mysql_tablename($tables, $count). "&lt;br
/&gt;";<br />
}</TD>
<td>该函数获取mysql_list_tables()所返回result_set中位于指定index索引的表名</TD>
</TR>
<tr HEIGHT="240">
<td HEIGHT="240"><strong><font SIZE="2">获取字段信息</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_fetch_field()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">object mysql_fetch_field(resource
result [, int field_offset])</SPAN><br />
mysql_connect("localhost", "username", "password");<br />
mysql_select_db("MyDatabase");<br />
$query = "select * from MyTable";<br />
$result = mysql_query($query);<br />
$fields = mysql_num_fields($result);<br />
for($count = 0; $count &lt; $fieds; $count++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
$field = mysql_fetch_field($result, $count);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
echo "&lt;p&gt;$field-&gt;name
$field-&gt;type ($field-&gt;max_length)
&lt;/p&gt;";<br />
}</TD>
<td>返回的对象共有12个对象属性：<br />
name: 字段名<br />
table: 字段所在的表<br />
max_length: 字段的最大长度<br />
not_null: 如果字段不能为null，则为1，否则0<br />
primary_key: 如果字段为主键，则为1，否则0<br />
unique_key: 如果字段是唯一键，则为1， 否则0<br />
multiple_key: 如果字段为非唯一，则为1，否则0<br />
numeric: 如果字段为数值则为1，否则0<br />
blob: 如果字段为BLOB则为1，否则为0<br />
type: 字段的数据类型<br />
unsigned: 如果字段为无符号数则为1，否则为0<br />
zerofill: 如果字段为“零填充”则为1， 否则为0</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取查询的字段数</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_num_fields()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">integer mysql_num_fields (resource
result_set)</SPAN><br />
$query = "select id, name from MyTable order by name";<br />
$result = mysql_query($query);<br />
echo "这个查询的字段数是：".mysql_num_fields($result)."&lt;br
/&gt;";</TD>
<td>返回查询result_set中的字段数</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取指定表的所有字段的字段名</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_list_fields()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">resource mysql_list_fields (string
database_name, string table_name [, resource link_id])</SPAN><br />
$fields = mysql_list_fields("MyDatabase", "MyTable");<br />
echo "数据库MyDatabase中表MyTable的字段数：
".mysql_num_fields($fields)."&lt;br
/&gt;";</TD>
<td>　</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取指定的字段选项</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_field_flags()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">string mysql_field_flags (resource
result_set, integer field_offset)</SPAN></TD>
<td>　</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取指定的字段的最大长度</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_field_len()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">integer mysql_field_len (resource
result_set, integer field_offset)<br /></SPAN>$query = "select name
from MyTable";<br />
$result = mysql_query($query);<br />
$row = mysql_fetch_row($result);<br />
echo mysql_field_len($result, 0)."&lt;br
/&gt;";</TD>
<td>如果mysql_field_len($reseult, 0) = 16777215<br />
那么numer_format(mysql_field_len($result))等于16,777,215</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取字段名</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_field_name()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">string mysql_field_name (resource
result_set, int field_offset)<br /></SPAN>$query = "select id as
PKID, name from MyTable order by name";<br />
$result = mysql_query($query);<br />
$row = mysql_fetch_row($result);<br />
echo mysql_field_name($result, 0); // Result: PKID</TD>
<td>　</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取字段类型</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_field_type()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">string mysql_field_type (resource
result_set, int field_offset)</SPAN><br />
$query = "select id, name from MyTable order by name";<br />
$result = mysql_query($query);<br />
$row = mysql_fetch_row($result);<br />
echo mysql_field_type($result, 0); // Result: int</TD>
<td>　</TD>
</TR>
<tr>
<td><strong><font SIZE="2">获取字段所在表名</FONT></STRONG></TD>
<td><span STYLE="CoLor: #333399"><strong><font SIZE="2">mysql_field_table()</FONT></STRONG></SPAN></TD>
<td><span STYLE="CoLor: #ff0000">string mysql_field_table (resource
result_set, int field_offset)</SPAN><br />
$query = "select id as PKID, name from MyTable order by
name";<br />
$result = mysql_query($query);<br />
$row = mysql_fetch_row($result);<br />
echo mysql_field_table($result, 0); // Result: MyTable</TD>
</TR>
</TBODY>
</TABLE>
<p>&nbsp;</P>
<p>PHP操作MYSQL函数手册大全:</P>
<p><font COLOR="#D2691E" SIZE="3">对于mysql数据库，用ASP和PHP语言都可以对其进行数据操作，所要实现的目标都是相同的，结果也会一致，但是方法和过程却有很打的差别；一般来说，ASP的编程、使用以及操作要远比PHP简单的多，只有是你想学习网络编程，掌握ASP是很容易的，也是大多初学者的首选；但是要掌握PHP就不是那么简单了。<a TARGET="_blank"><span STYLE="CoLor: #ffcc99">php项目开发</SPAN></A>整理尽管ASP也可以操作mysql数据库，但是与PHP相比，在速度上可能要比PHP慢一下；在语法上PHP似乎也更复杂。下面我也实现同一数据库查询为例，总结一下这两种语言在操作mysql数据库中的实现过程。<br />

&nbsp;&nbsp; 数据库：gaorui<br />
&nbsp;&nbsp; 数据表:user<br />
&nbsp;&nbsp; 字段:username &amp;
password<br />
&nbsp;&nbsp;
目的:从同一数据库中分别查询出最新插入的3条数据记录<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp; 用PHP实现过程代码：</FONT></P>
<p><font STYLE="BACKGroUnD-CoLor: #f0ffff">&lt;html&gt;<br />

&lt;body&gt;<br />
&lt;?php<br />
$db=mysql_connect("localhost","root","luo");<br />
mysql_select_db("gaorui",$db);<br />
mysql_query("set names 'gb2312'");<br />
$sql="select * from user order by username desc";<br />
$result=mysql_query($sql,$db);<br />
for($i=0;$i&lt;3;$i++) {<br />
printf("姓名:%s&amp;nbsp;&amp;nbsp;&amp;nbsp;",mysql_result($result,$i,"username"));<br />

printf("密码:%s&lt;br
/&gt;",mysql_result($result,$i,"password"));}<br />
mysql_free_result($result);<br />
?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</FONT></P>
<p><font COLOR="#D2691E" SIZE="3">结果：</FONT></P>
<p>姓名:西安&nbsp;&nbsp;&nbsp;
密码:123<br />
姓名:石油&nbsp;&nbsp;&nbsp;
密码:123<br />
姓名:商务&nbsp;&nbsp;&nbsp;
密码:123</P>
<p>----------------------------</P>
<p>&lt;?php</P>
<p>$ip= $_POST['select'];</P>
<p>$flag= substr($ip, -2);</P>
<p>&nbsp;</P>
<p>$mysql_server_name="172.16.16.16"; //数据库服务器名称</P>
<p>$mysql_username="bill"; // 连接数据库用户名</P>
<p>$mysql_password="bill"; // 连接数据库密码</P>
<p>$mysql_database="isd_pttc_info"; // 数据库的名字</P>
<p>&nbsp;</P>
<p>// 连接到数据库</P>
<p>$conn=mysql_connect($mysql_server_name, $mysql_username,</P>
<p>$mysql_password);</P>
<p>&nbsp;</P>
<p>// 从表中提取信息的sql语句</P>
<p>$strsql="select * from t_pttc_info where ip=\"$ip\";";</P>
<p>// 执行sql查询</P>
<p>$result=mysql_db_query($mysql_database, $strsql, $conn);</P>
<p>// 获取查询结果</P>
<p>$row=mysql_fetch_row($result);</P>
<p>&nbsp;</P>
<p>echo '&lt;font face="verdana"&gt;';</P>
<p>echo '&lt;table border="1" cellpadding="1"
cellspacing="2"&gt;';</P>
<p>// 显示字段名称</P>
<p>echo "\n&lt;tr&gt;\n";</P>
<p>for ($i=0; $i&lt;mysql_num_fields($result);
$i++)</P>
<p>{</P>
<p>echo '&lt;td
bgcolor="#AE57A4"&gt;&lt;b&gt;'.</P>
<p>mysql_field_name($result, $i);</P>
<p>echo
"&lt;/b&gt;&lt;/td&gt;\n";</P>
<p>}</P>
<p>echo "&lt;/tr&gt;\n";</P>
<p>// 定位到第一条记录</P>
<p>mysql_data_seek($result, 0);</P>
<p>// 循环取出记录</P>
<p>while ($row=mysql_fetch_row($result))</P>
<p>{</P>
<p>echo "&lt;tr&gt;\n";</P>
<p>for ($i=0; $i&lt;mysql_num_fields($result); $i++
)</P>
<p>{</P>
<p>echo '&lt;td bgcolor="#B8B8E8"&gt;';</P>
<p>echo "$row[$i]";</P>
<p>echo '&lt;/td&gt;';</P>
<p>}</P>
<p>echo "&lt;/tr&gt;\n";</P>
<p>}</P>
<p>&nbsp;</P>
<p>echo "&lt;/table&gt;\n";</P>
<p>echo "&lt;/font&gt;";</P>
<p>// 释放资源</P>
<p>mysql_free_result($result);</P>
<p>// 关闭连接</P>
<p>mysql_close();</P>
<p>?&gt;</P>
</DIV>]]></description>
            <author>独月繁星</author>
            <category>PHP</category>
            <comments>http://blog.sina.com.cn/s/blog_49540f440100nne4.html#comment</comments>
            <pubDate>Thu, 04 Nov 2010 11:55:10 +0800</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49540f440100nne4.html</guid>
        </item>
        <item>
            <title>cannot find the word template:WordToRqm.dot的解决方法</title>
            <link>http://blog.sina.com.cn/s/blog_49540f440100nmil.html</link>
            <description><![CDATA[<p ALIGN="center"><font STYLE="FonT-siZe: 24px" COLOR="#FF0000"><strong>cannot find the word
template:WordToRqm.dot的解决方法</STRONG></FONT></P>
<p ALIGN="center">&nbsp;</P>
<p>powerdesigner安装后：</P>
<p>C:"Program Files"Sybase"PowerDesigner 12"Add-ins"Microsoft Word
Import Export</P>
<p>下的 WordToRqm.dot自动加载到word Normal.dot中，还死活去不掉。只能采取注册表隐</P>
<p>含了：</P>
<p>运行regedit.exe 打开注册表编辑器，定位到：</P>
<p>HKEY_CURRENT_USER"Software"Microsoft"Office"Word"Addins"
WordToRQM12.Connect</P>
<p>键，双击右边的“LoadBehavior”，在弹出的修改值对话框中将其值从3改为2，然后关</P>
<p>闭注册表编辑器，重新启动Word，一切OK！！</P>
<p>或者是HKEY_LOCAL_MACHINE"Software"Microsoft"Office"Word"Addins"</P>
<p>WordToRQM12.Connect</P>
<p>两个根键都应该找一下</P>]]></description>
            <author>独月繁星</author>
            <category>杂谈</category>
            <comments>http://blog.sina.com.cn/s/blog_49540f440100nmil.html#comment</comments>
            <pubDate>Wed, 03 Nov 2010 09:02:58 +0800</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49540f440100nmil.html</guid>
        </item>
        <item>
            <title>PHP初学者常见问题总结</title>
            <link>http://blog.sina.com.cn/s/blog_49540f440100ndq8.html</link>
            <description><![CDATA[<p>【1】页面之间无法传递变量
get,post,session在最新的php版本中自动全局变量是关闭的，所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到<br />

当然也可以修改自动全局变量为开(php.ini改为register_globals =
On)；考虑到兼容性，还是强迫自己熟悉新的写法比较好。<br />
【2】Win32下apache2 用get方法传递中文参数会出错<br />
test.php?a=你好&amp;b=你也好<br />
传递参数是会导致一个内部错误<br />
解决办法:"test.php?a=".urlencode(你好)."&amp;b=".urlencode(你也好)<br />

.............</P>
<p>【3】win32下的session不能正常工作<br />
php.ini默认的session.save_path = /tmp<br />
这显然是linux下的配置，win32下php无法读写session文件导致session无法使用<br />
把它改成一个绝对路径就可以了，例如session.save_path = c:\windows\temp<br />
【4】显示错误信息<br />
当php.ini的display_errors = On并且error_reporting =
E_ALL时，将显示所有的错误和提示，调试的时候最好打开以便纠错，如果你用以前php写法错误信息多半是关于未定义变量的。变量在赋值以前调用会有提示，解决办法是探测或者屏蔽<br />

例如显示$foo，可以if(isset($foo)) echo $foo 或者echo @$foo<br />
【5】Win32下mail()不能发送电子邮件<br />
在linux下配置好的sendmail可以发送，在win32下需要调用smtp服务器来发送电子邮件<br />
修改php.ini的SMTP = ip //ip是不带验证功能的smtp服务器(网上很难找到)<br />
php发送邮件的最好解决方法是用socket直接发送到对方email服务器而不用转发服务器<br />
【6】初装的MySQL如果没有设置密码，应该使用<br />
update mysql.user set passWord="yourpassword" where
user="root"<br />
修改密码<br />
【7】header already sent<br />
这个错误通常会在你使用HEADER的时候出现，他可能是几种原因：1，你在使用HEADER前PRING或者ECHO了2.你当前文件前面有空行3.你可能INCLUDE了一个文件,该文件尾部有空行或者输出也会出现这种错误。！<br />

【8】更改php.ini后没有变化<br />
重新启动web server，比如IIS，Apache等等，然后才会应用最新的设置<br />
【9】php在2003上面安装（ISAPI的安装方法恳请高手指教）<br />
PHP4的php4isapi.dll好像和2003有些冲突，只能用CGI模式安装<br />
步骤一，先<a HREF="http://www.php.net">www.php.net</A>下在一个安装程序，我是装的是：php-4.2.3-installer.exe，你也可以去找最新的版本，在安装php-4.2.3-installer.exe之前保证你的IIS6.0启动了，并能够访问。
安装好以后，在默认网站--&gt;应用程序配置<br />
步骤二：点击 web服务扩展 --&gt;新建web服务扩展.<br />
步骤三： 扩展名--&gt;php,然后添加<br />
步骤四：找到php.exe的路径添加上去。<br />
步骤五： 确定就可以了！<br />
步骤六： 选择php的服务扩展，然后点击允许。<br />
【10】<br />
有时候sql语句不起作用，对数据库操作失败<br />
最简便的调试方法，echo那句sql，看看变量的值能得到不<br />
【11】include和require的区别<br />
两者没有太大的区别，如果要包含的文件不存在，include提示notice，然后继续执行下面的语句，require提示致命错误并且退出<br />

据我测试，win32平台下它们都是先包含后执行，所以被包含文件里最好不要再有include或require语句，这样会造成目录混乱。或许*nux下情况不同，暂时还没测试<br />

如果一个文件不想被包含多次可以使用include_once或require_once## 读取，写入文档数据<br />
function r($file_name) {<br />
<a HREF="mailto:$filenum=@fopen($file_name,'r">$filenum=@fopen($file_name,"r</A>");<br />

@flock($filenum,LOCK_SH);<br />
<a HREF="mailto:$file_data=@fread($filenum,filesize($file_name">$file_data=@fread($filenum,filesize($file_name</A>));<br />

@fclose($filenum);<br />
return $file_data;<br />
}<br />
function w($file_name,$data,$method="w"){<br />
<a HREF="mailto:$filenum=@fopen($file_name,$method">$filenum=@fopen($file_name,$method</A>);<br />

flock($filenum,LOCK_EX);<br />
$file_data=fwrite($filenum,$data);<br />
fclose($filenum);<br />
return $file_data;<br />
}</P>
<p>【12】isset()和empty()的区别<br />
两者都是测试变量用的<br />
但是isset()是测试变量是否被赋值，而empty()是测试一个已经被赋值的变量是否为空<br />
如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示<br />
如果一个变量被赋空值，$foo=""或者$foo=0或者
$foo=false,那么empty($foo)返回真，isset($foo)也返回真，就是说赋空值不会注销一个变量。<br />
要注销一个变量，可以用 unset($foo)或者$foo=NULL<br />
【13】mysql查询语句包含有关键字<br />
php查询mysql的时候，有时候mysql表名或者列名会有关键字<br />
这时候查询会有错误。例如表名是order,查询时候会出错<br />
简单的办法是sql语句里表名或者列名加上`[tab键上面]来加以区别<br />
例如select * from `order`<br />
【14】通过HTTP协议一次上传多个文件的方法<br />
有两个思路，是同一个方法的两种实现。具体程序还需自己去设计<br />
1,在form中设置多个文件输入框，用数组命名他们的名字，如下：<br />
&lt;form action="" method=post&gt;<br />
&lt;input type=file
name=usefile[]&gt;<br />
&lt;input type=file
name=usefile[]&gt;<br />
&lt;input type=file
name=usefile[]&gt;<br />
&lt;/form&gt;<br />
这样，在服务器端做以下测试<br />
echo "&lt;pre&gt;";<br />
print_r($_FILES);<br />
echo "&lt;/pre&gt;";</P>
<p>1,在form中设置多个文件输入框，但名字不同，如下：<br />
&lt;form action="" method=post&gt;<br />
&lt;input type=file
name=usefile_a&gt;<br />
&lt;input type=file
name=usefile_b&gt;<br />
&lt;input type=file
name=usefile_c&gt;<br />
&lt;/form&gt;<br />
在服务器端做同样测试：<br />
echo "&lt;pre&gt;";<br />
print_r($_FILES);<br />
echo "&lt;/pre&gt;";</P>
<p><br />
&nbsp;</P>]]></description>
            <author>独月繁星</author>
            <category>PHP</category>
            <comments>http://blog.sina.com.cn/s/blog_49540f440100ndq8.html#comment</comments>
            <pubDate>Sat, 23 Oct 2010 09:21:31 +0800</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49540f440100ndq8.html</guid>
        </item>
    </channel>
</rss>

