<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 22,comments - 35,trackbacks - 0
    Windows XP的關(guān)機(jī)是由Shutdown.exe程序來(lái)控制的,位于Windows\System32文件夾中。如果想讓W(xué)indows 2000也實(shí)現(xiàn)同樣的效果,可以把Shutdown.exe復(fù)制到系統(tǒng)目錄下。

    比如你的電腦要在22:00關(guān)機(jī),可以選擇“開(kāi)始→運(yùn)行”,輸入“at 22:00 Shutdown -s”,這樣,到了22點(diǎn)電腦就會(huì)出現(xiàn)“系統(tǒng)關(guān)機(jī)”對(duì)話框,默認(rèn)有30秒鐘的倒計(jì)時(shí)并提示你保存工作。如果你想以倒計(jì)時(shí)的方式關(guān)機(jī),可以輸入“Shutdown.exe -s -t 3600”,這里表示60分鐘后自動(dòng)關(guān)機(jī),“3600”代表60分鐘。

    設(shè)置好自動(dòng)關(guān)機(jī)后,如果想取消的話,可以在運(yùn)行中輸入“shutdown -a”。另外輸入“shutdown -i”,則可以打開(kāi)設(shè)置自動(dòng)關(guān)機(jī)對(duì)話框,對(duì)自動(dòng)關(guān)機(jī)進(jìn)行設(shè)置。

    Shutdown.exe的參數(shù),每個(gè)都具有特定的用途,執(zhí)行每一個(gè)都會(huì)產(chǎn)生不同的效果,比如“-s”就表示關(guān)閉本地計(jì)算機(jī),“-a”表示取消關(guān)機(jī)操作,下面列出了更多參數(shù),大家可以在Shutdown.exe中按需使用。

    ? -f:強(qiáng)行關(guān)閉應(yīng)用程序
      -m:\\計(jì)算機(jī)名:控制遠(yuǎn)程計(jì)算機(jī)
      -i:顯示圖形用戶界面,但必須是Shutdown的第一個(gè)選項(xiàng)
      -l:注銷當(dāng)前用戶
      -r:關(guān)機(jī)并重啟
      -t:時(shí)間:設(shè)置關(guān)機(jī)倒計(jì)時(shí)
      -c:“消息內(nèi)容”:輸入關(guān)機(jī)對(duì)話框中的消息內(nèi)容(不能超127個(gè)字符)
    posted @ 2006-08-07 14:18 kelven 閱讀(422) | 評(píng)論 (0)編輯 收藏
    http://popkart.tiancity.com/homepage/
    posted @ 2006-07-10 13:18 kelven 閱讀(344) | 評(píng)論 (2)編輯 收藏
    1.將數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序的JAR文件放在Tomcat的?common/lib?中;
    2.在server.xml中設(shè)置數(shù)據(jù)源,以MySQL數(shù)據(jù)庫(kù)為例,如下:
    在<GlobalNamingResources>?</GlobalNamingResources>節(jié)點(diǎn)中加入,
    ??????<Resource
    ??????name="jdbc/DBPool"
    ??????type="javax.sql.DataSource"
    ??????password="root"
    ??????driverClassName="com.mysql.jdbc.Driver"
    ??????maxIdle="2"
    ??????maxWait="5000"
    ??????username="root"
    ??????url="jdbc:mysql://127.0.0.1:3306/test"
    ??????maxActive="4"/>
    ???屬性說(shuō)明:name,數(shù)據(jù)源名稱,通常取”jdbc/XXX”的格式;
    ????????????type,”javax.sql.DataSource”;
    ????????????password,數(shù)據(jù)庫(kù)用戶密碼;
    ????????????driveClassName,數(shù)據(jù)庫(kù)驅(qū)動(dòng);
    ????????????maxIdle,最大空閑數(shù),數(shù)據(jù)庫(kù)連接的最大空閑時(shí)間。超過(guò)空閑時(shí)間,數(shù)據(jù)庫(kù)連
    ?????????????????????接將被標(biāo)記為不可用,然后被釋放。設(shè)為0表示無(wú)限制。
    ????????????MaxActive,連接池的最大數(shù)據(jù)庫(kù)連接數(shù)。設(shè)為0表示無(wú)限制。
    ????????????maxWait?,最大建立連接等待時(shí)間。如果超過(guò)此時(shí)間將接到異常。設(shè)為-1表示
    ?????????????????????無(wú)限制。
    3.在你的web應(yīng)用程序的web.xml中設(shè)置數(shù)據(jù)源參考,如下:
    ??在<web-app></web-app>節(jié)點(diǎn)中加入,
    ??<resource-ref>
    ????<description>MySQL?DB?Connection?Pool</description>
    ????<res-ref-name>jdbc/DBPool</res-ref-name>
    ????<res-type>javax.sql.DataSource</res-type>
    ????<res-auth>Container</res-auth>
    ????<res-sharing-scope>Shareable</res-sharing-scope>
    ?</resource-ref>
    ??子節(jié)點(diǎn)說(shuō)明:?description,描述信息;
    ???????????????res-ref-name,參考數(shù)據(jù)源名字,同上一步的屬性name;
    ???????????????res-type,資源類型,”javax.sql.DataSource”;
    ???????????????res-auth,”Container”;
    ???????????????res-sharing-scope,”Shareable”;
    4.在web應(yīng)用程序的context.xml中設(shè)置數(shù)據(jù)源鏈接,如下:
    ??在<Context></Context>節(jié)點(diǎn)中加入,
    ??<ResourceLink
    ???name="jdbc/DBPool"?
    ???type="javax.sql.DataSource"?
    ???global="jdbc/DBPool"/>
    ???屬性說(shuō)明:name,同第2步和第3步的屬性name值,和子節(jié)點(diǎn)res-ref-name值;
    ?????????????type,同樣取”javax.sql.DataSource”;
    ?????????????global,同name值。
    ?
    至此,設(shè)置完成,下面是如何使用數(shù)據(jù)庫(kù)連接池。
    1.建立一個(gè)連接池類,DBPool.java,用來(lái)創(chuàng)建連接池,代碼如下:
    import?javax.naming.Context;
    import?javax.naming.InitialContext;
    import?javax.naming.NamingException;
    import?javax.sql.DataSource;

    public?class?DBPool?{
    ????private?static?DataSource?pool;
    ????static?{
    ?????????Context?env?=?null;
    ??????????try?{
    ??????????????env?=?(Context)?new?InitialContext().lookup("java:comp/env");
    ??????????????pool?=?(DataSource)env.lookup("jdbc/DBPool");
    ??????????????if(pool==null)?
    ??????????????????System.err.println("'DBPool'?is?an?unknown?DataSource");
    ???????????????}?catch(NamingException?ne)?{
    ??????????????????ne.printStackTrace();
    ??????????}
    ??????}
    ????public?static?DataSource?getPool()?{
    ????????return?pool;
    ????}
    }

    2.在要用到數(shù)據(jù)庫(kù)操作的類或jsp頁(yè)面中,用DBPool.getPool().getConnection(),獲得一個(gè)Connection對(duì)象,就可以進(jìn)行數(shù)據(jù)庫(kù)操作,最后別忘了對(duì)Connection對(duì)象調(diào)用close()方法,注意:這里不會(huì)關(guān)閉這個(gè)Connection,而是將這個(gè)Connection放回?cái)?shù)據(jù)庫(kù)連接池。
    posted @ 2006-06-14 11:17 kelven 閱讀(927) | 評(píng)論 (0)編輯 收藏

    <%@ page import="java.io.*"%>
    <%
    String root=application.getRealPath("/");
    String fileName=request.getParameter("fileName");
    String filePath=request.getParameter("filePath");

    response.setContentType("application/octet-stream");
    response.setHeader("Content-Disposition",
    "attachment; filename=\"" +fileName+ "\"");

    try{
    java.io.OutputStream os = response.getOutputStream(); //不加此行將只能下載文本文件.下載jpg等就會(huì)出現(xiàn)打不開(kāi)的現(xiàn)象.
    java.io.FileInputStream fis = new java.io.FileInputStream(root+filePath);
    byte[] b = new byte[1024];
    int i = 0;
    while ( (i = fis.read(b)) > 0 )
    {
    os.write(b, 0, i);
    }

    fis.close();
    os.flush();
    os.close();
    }
    catch ( Exception e )
    {
    System.out.println ( "IOException." + e );
    }
    %>

    java.io.FileInputStream fis = new java.io.FileInputStream(文件的真實(shí)路徑);
    也可以

    <%
    if (request.getParameter("fileUrl") != null)
    {
    String strFileUrl = request.getParameter("fileUrl");

    //獲取文件名(DealFile是自己寫的一個(gè)處理文件的一個(gè)類)
    DealFile dealFile = new DealFile(strFileUrl);
    String filename = dealFile.getFileName();

    response.setHeader("content-type","application/octet-stream");
    response.setHeader("Content-Disposition","attachment;filename=\""+ filename+"\"");

    BufferedInputStream bis = null;
    BufferedOutputStream bos = null;
    try
    {
    //從文件所在目錄以流的方式讀取文件
    bis = new BufferedInputStream(new FileInputStream(getServletContext().getRealPath(strFileUrl)));

    bos = new BufferedOutputStream(response.getOutputStream());

    byte[] buff = new byte[2048];
    int bytesRead;

    while(-1 != (bytesRead = bis.read(buff, 0, buff.length)))
    {
    bos.write(buff,0,bytesRead);
    }
    bos.flush();
    }
    catch(final IOException e)
    {
    System.out.println ( "IOException." + e );
    }
    finally
    {
    if (bis != null)
    bis.close();
    if (bos != null)
    bos.close();
    }
    return;
    }
    %>

    posted @ 2006-04-14 16:04 kelven 閱讀(1463) | 評(píng)論 (0)編輯 收藏

    [http://www.javaalmanac.com] - Java開(kāi)發(fā)者年鑒一書的在線版本. 要想快速查到某種Java技巧的用法及示例代碼, 這是一個(gè)不錯(cuò)的去處.
    [http://www.onjava.com] - O'Reilly的Java網(wǎng)站. 每周都有新文章.
    [http://java.sun.com] - 官方的Java開(kāi)發(fā)者網(wǎng)站 - 每周都有新文章發(fā)表.
    [http://www.developer.com/java] - 由Gamelan.com 維護(hù)的Java技術(shù)文章網(wǎng)站.
    [http://www.java.net] - Sun公司維護(hù)的一個(gè)Java社區(qū)網(wǎng)站.
    [http://www.builder.com] - Cnet的Builder.com網(wǎng)站 - 所有的技術(shù)文章, 以Java為主.
    [http://www.ibm.com/developerworks/java] - IBM的Developerworks技術(shù)網(wǎng)站; 這是其中的Java技術(shù)主頁(yè).
    [http://www.javaworld.com] - 最早的一個(gè)Java站點(diǎn). 每周更新Java技術(shù)文章.
    [http://www.devx.com/java] - DevX維護(hù)的一個(gè)Java技術(shù)文章網(wǎng)站.
    [http://www.fawcette.com/javapro] - JavaPro在線雜志網(wǎng)站.
    [http://www.sys-con.com/java] - Java Developers Journal的在線雜志網(wǎng)站.
    [http://www.javadesktop.org] - 位于Java.net的一個(gè)Java桌面技術(shù)社區(qū)網(wǎng)站.
    [http://www.theserverside.com] - 這是一個(gè)討論所有Java服務(wù)器端技術(shù)的網(wǎng)站.
    [http://www.jars.com] - 提供Java評(píng)論服務(wù). 包括各種framework和應(yīng)用程序.
    [http://www.jguru.com] - 一個(gè)非常棒的采用Q&A形式的Java技術(shù)資源社區(qū).
    [http://www.javaranch.com] - 一個(gè)論壇,得到Java問(wèn)題答案的地方,初學(xué)者的好去處。
    [http://www.ibiblio.org/javafaq/javafaq.html] - comp.lang.java的FAQ站點(diǎn) - 收集了來(lái)自comp.lang.java新聞組的問(wèn)題和答案的分類目錄.
    http://java.sun.com/docs/books/tutorial/] - 來(lái)自SUN公司的官方Java指南 - 對(duì)于了解幾乎所有的java技術(shù)特性非常有幫助.
    http://www.javablogs.com] - 互聯(lián)網(wǎng)上最活躍的一個(gè)Java Blog網(wǎng)站.
    http://java.about.com/] - 來(lái)自About.com的Java新聞和技術(shù)文章網(wǎng)站.

    posted @ 2006-04-05 14:03 kelven 閱讀(410) | 評(píng)論 (0)編輯 收藏
    http://www.021123.com/
    posted @ 2006-03-24 14:59 kelven 閱讀(362) | 評(píng)論 (0)編輯 收藏
    1.安裝JDK1.4和jakarta-tomcat-4.1.27.exe。

    ? 路徑分別為 D:\jdk1.4 和 D:\Tomcat 4.1。
    ? 安裝Tomcat 4時(shí),會(huì)要求填寫web訪問(wèn)端口、用戶名、密碼等信息。
    ? web訪問(wèn)端口默認(rèn)為8080,用戶名默認(rèn)為admin,密碼自己填寫。

    ? 啟動(dòng)Tomcat4,訪問(wèn)http://127.0.0.1:8080/ ,就能看到Apache Tomcat/4.1.27的歡迎訪問(wèn)頁(yè)面,頁(yè)面上有一些相關(guān)介紹信息等。


    2.設(shè)置數(shù)據(jù)庫(kù)的驅(qū)動(dòng)

    ? 以O(shè)racle的JDBC驅(qū)動(dòng)設(shè)置為例:

    ? Oracle8i的驅(qū)動(dòng)在\oracle\ora81\jdbc\lib\目錄下。名字為classes12.zip。

    ? Oracle9i的驅(qū)動(dòng)在\oracle9i\jdbc\lib\目錄下,名字為ojdbc14.jar。

    ? 將這個(gè)文件copy到D:\Tomcat 4.1\common\lib 下。

    ? 注意,如果使用Oracle8i 的驅(qū)動(dòng),則需要在D:\Tomcat 4.1\common\lib 目錄下將classes12.zip更名為classes12.jar,因?yàn)門omcat4不認(rèn)識(shí)zip的后綴名。


    3.設(shè)置Web應(yīng)用。

    ? 新建一個(gè)文件夾,名字為mypool,位置為D:\mypool。這個(gè)D:\mypool路徑將是web應(yīng)用的主目錄。

    ? 打開(kāi)D:\Tomcat 4.1\conf\server.xml 文件,找到如下行:
    ?
    ? ?<!-- Tomcat Root Context -->
    ? ? ?<!--
    ? ? ? ? ?<Context path="" docBase="ROOT" debug="0"/>
    ? ? ?-->
    ?
    ?
    ? 在這下面,加入如下行:
    ?
    ? <Context path="/mypool" docBase="D:\mypool" privileged="true" reloadable="true"/>

    ?
    ? 完成后,成為這個(gè)樣子:

    ? ? <!-- Tomcat Root Context -->
    ? ? ?<!--
    ? ? ? ? ? <Context path="" docBase="ROOT" debug="0"/>
    ? ? ? -->
    ? ?
    ? ? ?<Context path="/mypool" docBase="D:\mypool" privileged="true" reloadable="true"/>

    ? 保存D:\Tomcat 4.1\conf\server.xml 文件。

    ? 配置完成后,重新啟動(dòng)Tomcat,就可以這樣訪問(wèn)這個(gè)web應(yīng)用了: http://127.0.0.1:8080/mypool/


    4.設(shè)置Tomcat的連接池?cái)?shù)據(jù)源。

    ? 訪問(wèn) http://127.0.0.1:8080/admin 頁(yè)面,用剛才安裝 Tomcat4 時(shí)填寫的用戶名和密碼登錄。

    ? 登錄成功后,會(huì)出現(xiàn)Tomcat 的web應(yīng)用管理界面(Tomcat Web Server Administration Tool)。

    ? 然后在左邊的目錄樹(shù)點(diǎn)擊“Data Sources”項(xiàng),右邊可以看到JNDI配置的頁(yè)面。
    ?
    ? 在右上角的下拉框中選擇“Create New Data Source”,接下來(lái)填寫配置信息:
    ?
    ? JNDI Name: jdbc/myOrcl ?
    ? Data Source URL: jdbc:oracle:thin:@192.168.6.40:1521:dbserver
    ? JDBC Driver Class: oracle.jdbc.driver.OracleDriver
    ? User Name: myname
    ? Password: mypassword
    ? Max. Active Connections: ?可用默認(rèn)值
    ? Max. Idle Connections: ? ?可用默認(rèn)值
    ? Max. Wait for Connection: 可用默認(rèn)值
    ? Validation Query: 可不填寫。

    ? 然后,按下“save”按鈕保存。
    ? 再按下“Commit Changes”按鈕將配置更改提交完成。

    ? 此時(shí)如果看看 Tomcat4 的窗口,會(huì)發(fā)現(xiàn)在最下面有一行文字提示: ?

    ? ?Debugging -- changes saved to conf/server.xml
    ?
    ? 此時(shí) D:\Tomcat 4.1\conf\server.xml 文件的配置已經(jīng)更改保存完畢。


    ? 如果此時(shí)打開(kāi)D:\Tomcat 4.1\conf\server.xml 文件,會(huì)發(fā)現(xiàn)server.xml 文件的內(nèi)容改變了很多。
    ? 一些注釋文字都被去掉了。

    ? 還會(huì)發(fā)現(xiàn)上面第三步配置Web應(yīng)用的如下文字
    ? ?
    ? ?<!-- Tomcat Root Context -->
    ? ? ?<!--
    ? ? ? ? ? <Context path="" docBase="ROOT" debug="0"/>
    ? ? ? -->
    ? ?
    ? ? ?<Context path="/mypool" docBase="D:\mypool" privileged="true" reloadable="true"/>

    ? 則被自動(dòng)修改成了這樣的:

    ? ? ?<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="0" docBase="D:\mypool" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/mypool" privileged="true" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
    ? ? ? ? </Context>

    ? ?
    ? ?好了,至此位置,對(duì)Oracle的應(yīng)用連接池已經(jīng)配置完畢。
    ? ?
    ? ?仔細(xì)對(duì)照server.xml 文件,會(huì)發(fā)現(xiàn)剛才所配置的連接池信息被放置在<GlobalNamingResources>標(biāo)簽中,這意味著這個(gè)信息是可以被全局引用的,大致是如下的樣子:

    ? ? <GlobalNamingResources>
    ? ? <Environment name="simpleValue" override="true" type="java.lang.Integer" value="30"/>
    ? ? <Resource name="jdbc/myOrcl" scope="Shareable" type="javax.sql.DataSource"/>
    ? ? <Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" scope="Shareable" type="org.apache.catalina.UserDatabase"/>
    ? ?
    ? ? <ResourceParams name="jdbc/myOrcl">
    ? ? ? <parameter>
    ? ? ? ? <name>maxWait</name>
    ? ? ? ? <value>5000</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>maxActive</name>
    ? ? ? ? <value>200</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>password</name>
    ? ? ? ? <value>mypassword</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>url</name>
    ? ? ? ? <value>jdbc:oracle:thin:@192.168.6.40:1521:dbserver</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>driverClassName</name>
    ? ? ? ? <value>oracle.jdbc.driver.OracleDriver</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>maxIdle</name>
    ? ? ? ? <value>20</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>username</name>
    ? ? ? ? <value>myname</value>
    ? ? ? </parameter>
    ? ? </ResourceParams>
    ? ? <ResourceParams name="UserDatabase">
    ? ? ? <parameter>
    ? ? ? ? <name>factory</name>
    ? ? ? ? <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>pathname</name>
    ? ? ? ? <value>conf/tomcat-users.xml</value>
    ? ? ? </parameter>
    ? ? </ResourceParams>
    ? </GlobalNamingResources> ?


    5.設(shè)置web應(yīng)用對(duì)連接池的引用。
    ?
    ? 打開(kāi)D:\Tomcat 4.1\conf\server.xml 文件,找到剛才配置的web應(yīng)用文字,由于剛才server.xml 文件被自動(dòng)修改過(guò),并去掉了很多注釋內(nèi)容,所以剛才配置的web應(yīng)用

    ? ?<Context path="/mypool" docBase="D:\mypool" privileged="true" reloadable="true"/>

    ? 被自動(dòng)修改成了這樣的:

    ? ? ?<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="0" docBase="D:\mypool" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/mypool" privileged="true" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
    ? ? ? ? </Context>

    ? 在<Context></Context>的描述中加上本web應(yīng)用對(duì)全局連接池的引用說(shuō)明,如下文字:

    ? ? <ResourceLink global="jdbc/myOrcl" name="jdbc/myOrcl" type="javax.sql.DataSource"/> ?

    ? 設(shè)置完成后,web應(yīng)用的描述大致如下面的樣子:

    ? ? <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="0" docBase="D:\mypool" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/mypool" privileged="true" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper"> ?
    ? ?
    ? ? ? <ResourceLink global="jdbc/myOrcl" name="jdbc/myOrcl" type="javax.sql.DataSource"/> ? ? ?
    ? ?
    ?</Context>


    ? 保存D:\Tomcat 4.1\conf\server.xml 文件。

    ? 注意,設(shè)置這個(gè)連接池的引用說(shuō)明是非常重要的一步。
    ? 一些朋友在Tomcat4中配置連接池失敗的原因大都?xì)w咎與此。還有網(wǎng)上一些文章說(shuō)這是一個(gè)Tomcat4的一個(gè)Bug。
    ? 我用了整整兩天兩夜的時(shí)間才明白其中的奧秘。[:(]
    ? 當(dāng)時(shí)離瘋掉只查一點(diǎn)點(diǎn)。因?yàn)楫吘古渲靡粋€(gè)連接池是很簡(jiǎn)單的。[:(]


    6.一般情況下,到此,連接池的設(shè)置就完成了。

    ? 然后需要重新啟動(dòng)Tomcat,這樣就可以使用連接池來(lái)工作了。

    ? 但是,看到很多文章上說(shuō),還需要設(shè)置一下web.xml才能應(yīng)用。我沒(méi)有設(shè)置web.xml,連接池也可以完全使用。

    ? 現(xiàn)在說(shuō)一下web.xml的配置方法。

    ? 在D:\mypool中新建文件夾,命名為WEB-INF,注意是大寫的字母。

    ? 然后在D:\mypool\WEB-INF\ 下新建文件web.xml,其內(nèi)容為:

    ? <web-app>
    ? ? <resource-ref>
    ? ? ? ? <description>Oracle DataSource example</description>
    ? ? ? ? <res-ref-name>jdbc/myOrcl</res-ref-name>
    ? ? ? ? <res-type>javax.sql.DataSource</res-type>
    ? ? ? ? <res-auth>Container</res-auth>
    ? ? </resource-ref>
    ? </web-app>

    ? 保存D:\mypool\WEB-INF\web.xml 文件。


    7.一個(gè)簡(jiǎn)單的應(yīng)用示例。

    ? 寫了一個(gè)簡(jiǎn)單的JSP頁(yè)面,用連接池來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。

    內(nèi)容如下:
    ---------------------
    <%@ page contentType="text/html;charset=GBK"%>
    <%@ page import="javax.naming.*"%>
    <%@ page import="javax.sql.*"%>
    <%@ page import="java.sql.*"%>
    <%
    ? ? try
    ? ? { ? ? ? ? ? ? ? ? ?
    ? ? ? ?Context initCtx = new InitialContext();
    ?
    ? ? ? ?if(initCtx==null)
    ? ? ? ? ? throw new Exception("沒(méi)有匹配的環(huán)境");

    ? ? ? ?Context ctx = (Context) initCtx.lookup("java:comp/env");
    ? ? ?
    ? ? ? ?//獲取連接池對(duì)象 ? ? ? ? ? ? ? ? ?
    ? ? ? ?Object obj = (Object) ctx.lookup("jdbc/myOrcl"); ?
    ? ? ?
    ? ? ? //類型轉(zhuǎn)換
    ? ? ? ?javax.sql.DataSource ds = (javax.sql.DataSource)obj;
    ? ? ? ? ?
    ? ? ? ?if(ds==null)
    ? ? ? ? ? throw new Exception("沒(méi)有匹配數(shù)據(jù)庫(kù)"); ?
    ? ?
    ? ? ? ?Connection conn = ds.getConnection();
    ? ? ?
    ? ? ? ?Statement stmt = conn.createStatement(); ? ? ? ? ? ? ? ? ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
    ? ? ? ?String strSql="select * from grade"; ?//SQL,要保證grade數(shù)據(jù)表里面有記錄。
    ? ? ? ? ? ? ? ? ? ? ?
    ? ? ? ?ResultSet rs=stmt.executeQuery(strSql);

    ? ? ? ?if(rs.next())
    ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ?
    ? ? ? ? ? out.println(rs.getString(1)); ? ? ? ? ? ? ? ? ? ? ? ? ?
    ? ? ? ? ? out.println(rs.getString(2)); ? ? ? ? ? ? ? ? ? ? ?
    ? ? ? ? ?}
    ? ? ? ?rs.close(); ? ? ?//關(guān)閉ResultSet ?
    ? ? ? ?stmt.close(); ? ?//關(guān)閉Statement
    ? ? ? ?conn.close(); ? ?//將連接放回到連接池
    ? ? ?}

    ? ? ?catch(Exception ex)

    ? ? ?{ ? ?
    ? ? ? ? ?ex.printStackTrace();
    ? ? ? ? ?throw new SQLException("cannot get Connection pool."+ex);
    ? ? ?}
    %>

    <hr>
    --------------------
    ?
    記住,用完后的數(shù)據(jù)庫(kù)連接要釋放。
    不然當(dāng)打開(kāi)的連接過(guò)多或惡意刷屏,連接池的連接數(shù)目會(huì)被用完。
    當(dāng)連接池的連接數(shù)目用完后,再訪問(wèn)jsp頁(yè)面時(shí),會(huì)在頁(yè)面出現(xiàn)如下的錯(cuò)誤信息,報(bào)告連接池的連接被耗盡:
    java.sql.SQLException: DBCP could not obtain an idle db connection, pool exhausted




    二、Win2k下Tomcat5 的連接池的配置

    安裝jakarta-tomcat-5.0.13.exe,假如Tomcat5的安裝目錄為 D:\Tomcat 5.0 。

    別忘了把oracle的驅(qū)動(dòng)程序classes12.jar文件copy到目錄 D:\Tomcat 5.0\common\lib\ 下。

    Tomcat5的連接池設(shè)置和Tomcat4 的差不多,僅說(shuō)明一下不同點(diǎn)或需要特別注意的地方。


    1. Tomcat5啟動(dòng)后,訪問(wèn) http://127.0.0.1:8080/admin 頁(yè)面,當(dāng)設(shè)置完Tomcat的連接池?cái)?shù)據(jù)源后,打開(kāi)D:\Tomcat 5.0\conf\server.xml 文件,會(huì)看到配置的連接池相關(guān)信息大致如下樣子:

    <GlobalNamingResources>
    ? ? <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    ? ? <Resource name="jdbc/myOrcl" type="javax.sql.DataSource"/>
    ? ? <Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/>
    ? ? <ResourceParams name="jdbc/myOrcl">
    ? ? ? <parameter>
    ? ? ? ? <name>maxWait</name>
    ? ? ? ? <value>5000</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>maxActive</name>
    ? ? ? ? <value>4</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>password</name>
    ? ? ? ? <value>mypassword</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>url</name>
    ? ? ? ? <value>jdbc:oracle:thin:@127.0.0.1:1521:dbserver</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>driverClassName</name>
    ? ? ? ? <value>oracle.jdbc.driver.OracleDriver</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>maxIdle</name>
    ? ? ? ? <value>2</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>username</name>
    ? ? ? ? <value>myusername</value>
    ? ? ? </parameter>
    ? ? </ResourceParams>
    ? ? <ResourceParams name="UserDatabase">
    ? ? ? <parameter>
    ? ? ? ? <name>factory</name>
    ? ? ? ? <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
    ? ? ? </parameter>
    ? ? ? <parameter>
    ? ? ? ? <name>pathname</name>
    ? ? ? ? <value>conf/tomcat-users.xml</value>
    ? ? ? </parameter>
    ? ? </ResourceParams>
    ? </GlobalNamingResources>

    可以看到,一些連接池的信息配置參數(shù)已經(jīng)和Tomcat4不同了。
    但大致配置步驟和方法都是一樣的。


    2.設(shè)置web應(yīng)用對(duì)連接池的引用。

    ?打開(kāi)D:\Tomcat 5.0\conf\Catalina\localhost\ 目錄,找到和web應(yīng)用同名的xml文件(mypool.xml),打開(kāi)這個(gè)文件,
    修該其<Context></Context>的描述信息,添加如下行:

    ? ?<ResourceLink global="jdbc/myOrcl" name="jdbc/myOrcl" type="javax.sql.DataSource"/> ?

    使mypool.xml文件的內(nèi)容看起來(lái)大致這個(gè):
    ?
    ? ?<Context docBase="D:/mypool" path="/mypool" privileged="true" reloadable="true">
    ? ? ?<ResourceLink global="jdbc/myOrcl" name="jdbc/myOrcl" type="javax.sql.DataSource"/>
    ? ?</Context>

    然后保存mypool.xml,需要重新Tomcat5服務(wù),使之生效。


    3.JSP頁(yè)面測(cè)試文件的寫法也是一樣的,不再贅述。

    4.一些補(bǔ)充:

    ? 如果web應(yīng)用沒(méi)有配置對(duì)連接池的引用,即沒(méi)有配置<ResourceLink>,則會(huì)在訪問(wèn)jsp頁(yè)面時(shí)出現(xiàn)如下錯(cuò)誤:
    ? ? NameNotFoundException: Name jdbc is not bound in this Context

    ? 如果缺少Oracle的JDBC驅(qū)動(dòng),則會(huì)在訪問(wèn)jsp頁(yè)面時(shí)出現(xiàn)如下錯(cuò)誤:
    ? ? java.sql.SQLException: Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'
    posted @ 2006-03-22 11:30 kelven 閱讀(1643) | 評(píng)論 (1)編輯 收藏
         摘要:         首先XMLHttpRequest不是web標(biāo)準(zhǔn),而是大部分主流瀏覽器都支持的一種擴(kuò)展技術(shù)。它被認(rèn)為是一種異步調(diào)用的實(shí)現(xiàn)技術(shù),因?yàn)樗緛?lái)是被設(shè)計(jì)在后臺(tái)取數(shù)據(jù)用的。在IE中它被作為一個(gè)ActiveX控件提供,而其他一些瀏覽器都提供一些本地API以供調(diào)用。下面是一些關(guān)于XMLHttpRequest的基本方法: 1、獲...  閱讀全文
    posted @ 2006-02-26 13:42 kelven 閱讀(394) | 評(píng)論 (0)編輯 收藏
    1、女人永遠(yuǎn)也不知道男人為什么要學(xué)會(huì)堅(jiān)強(qiáng)?
    因?yàn)樗麄冏约褐?他們雖然外表堅(jiān)強(qiáng).但內(nèi)心很脆弱.他們永遠(yuǎn)想讓自己身邊的她覺(jué)得自己是最棒的.

    2、女人永遠(yuǎn)也不知道男人為什么不會(huì)輕易掉眼淚?
    因?yàn)樗麄冏约褐?他們不是不會(huì)掉眼淚.只是他明白.一但眼淚掉下來(lái)了.這段感情也就結(jié) 束了.


    3、女人永遠(yuǎn)也不知道男人為什么每次在心煩的時(shí)候那么喜歡抽煙?
    因?yàn)樗麄冏约褐?只有在煙霧中才能憶起他們過(guò)去美好的時(shí)光來(lái)尋求一點(diǎn)心里的平衡.


    4、女人永遠(yuǎn)也不知道男人為什么要在分手以后還會(huì)對(duì)她噓寒問(wèn)暖?
    因?yàn)樗麄冏约褐?他們并不是想跟你做朋友.只是想挽回這段曾經(jīng)屬于他的感情.


    5、女人永遠(yuǎn)也不知道男人為什么每次在聽(tīng)到她被欺負(fù)了會(huì)顯得那么發(fā)狂?
    因?yàn)樗麄冏约褐?哪怕這次架打輸了.躺下了.他也會(huì)覺(jué)得高興.因?yàn)樗麄儗幵缸约菏艿絺?/FONT>害.也不愿意看到你哭泣.


    6、女人永遠(yuǎn)也不知道男人為什么在分手以后會(huì)夜夜買醉?

    因?yàn)樗麄冎?如果今晚不麻醉自己.那么今晚只能在思念中度過(guò).


    7. 女人永遠(yuǎn)也不知道男人為什么每次出門會(huì)出手那么大方?

    因?yàn)樗麄冎?他們寧愿自己一個(gè)人省吃檢用.也不愿意你看到你被別人看不起.


    8.女人永遠(yuǎn)也不知道男人為什么會(huì)那么愛(ài)對(duì)她發(fā)脾氣?
    因?yàn)樗麄冏约褐?對(duì)她發(fā)脾氣并不是不愛(ài)她.只是希望她在以后的路上不被別人所欺騙.

    9.女人永遠(yuǎn)也不知道男人為什么會(huì)那么在意你以前的男朋友?
    因?yàn)樗麄冏约褐?并不是他們不自信.只是他們害怕有一天你會(huì)離他而去.

    10. 女人永遠(yuǎn)也不知道男人為什么看到你為別人寫的日記之后還會(huì)那么鎮(zhèn)靜的聽(tīng)你解釋?

    因?yàn)樗麄冏约褐?自己并不是不想發(fā)火.只是希望能從你的口中得知到底是他重要還是別人重要?


    11、女人永遠(yuǎn)也不知道男人為什么不對(duì)她說(shuō)我愛(ài)你⒊個(gè)字?

    因?yàn)樗麄冎?并不是不想說(shuō).只是他們自己明白.⒈萬(wàn)句我愛(ài)你用在身上也不夠.

    12. 女人永遠(yuǎn)也不知道男人為什么會(huì)跑到這里來(lái)發(fā)貼?
    因?yàn)樗麄冎?希望有一天這貼能被你看見(jiàn).以此來(lái)證明你對(duì)他的不理解.只有他自己心里明 白.這貼要是沒(méi)人回的話.很快便會(huì)消失了.你更不知道一個(gè)男人的幸福生活來(lái)之不易,那是 他將每一個(gè)看過(guò)的貼子都頂了的緣故。


    (如果你不能為你心愛(ài)的女人穿上嫁衣,請(qǐng)停下你解她衣扣的手)


    愿天下有情人終成眷屬.當(dāng)你們看到這貼時(shí)心里最想的那個(gè)人也就是你們最愛(ài)的那個(gè)人!
    posted @ 2006-02-25 11:50 kelven 閱讀(388) | 評(píng)論 (0)編輯 收藏
    Java文件中,連接SQLserver數(shù)據(jù)庫(kù)時(shí),需要一個(gè)連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng)文件。

    在你安裝JDK的路徑下的lib文件夾里拷貝一個(gè)文件jtds-0.6.jar,并且在環(huán)境變量里設(shè)置classpath,例如:你的jdk裝在c:\jdk,那么環(huán)境變量classpath的路徑應(yīng)設(shè)為c:\jdk\lib\jtds-0.6.jar。(環(huán)境變量知道這么設(shè)吧?在我的電腦的屬性,高級(jí)里。多個(gè)路徑之間用分號(hào)隔開(kāi)。)

    這里提供SQLserver連接驅(qū)動(dòng)文件jtds-0.6.jar,下載解壓后拷貝到j(luò)dk路徑下的lib文件夾里。

    具體在文件中的應(yīng)用:

    import java.sql.*;
    String url="JDBC:jtds:sqlserver://localhost:1433/‘?dāng)?shù)據(jù)庫(kù)名′";
    String driver="net.sourceforge.jtds.jdbc.Driver";
    Class.forName(driver);
    Connection conn=DriverManager.getConnection(url,"用戶名","密碼");
    就可以連接到你的數(shù)據(jù)庫(kù)了。

    1433是SQLserver默認(rèn)的端口號(hào),如果要連接到其他機(jī)器上,要將localhost改為其他機(jī)器的IP地址,如192.168.0.101。


    其中數(shù)據(jù)庫(kù)名是你所新建的數(shù)據(jù)庫(kù)的名稱,用戶名和密碼是你登陸SQLserver是的用戶名和密碼。

    有的人安裝SQLserver時(shí)用的是Windows身份驗(yàn)證,那么用戶名和密碼都為空。如果不能登陸,或者要用SQL身份驗(yàn)證的話,需要修改注冊(cè)表。在運(yùn)行里打開(kāi)regedit,然后查找loginmode(具體位置:hkey_local_machine\software\microsoft\MSSQLserver\
    mssqlserver\),僅用Windows身份驗(yàn)證的值為1,混合身份驗(yàn)證的值為2。只要將1改為2,就可以用SQL身份驗(yàn)證了,用戶名為‘sa',密碼為空。
    posted @ 2006-02-17 11:59 kelven 閱讀(590) | 評(píng)論 (0)編輯 收藏


        String root = getServletContext().getRealPath("/");
        String path 
    = request.getParameter("path");
        String name 
    = request.getParameter("name");


        response.setContentType(
    "unknown");
        response.addHeader(
    "Content-Disposition""filename=\"" + name + "\"");


        
    try
        
    {
            java.io.OutputStream    os  
    = response.getOutputStream();
            java.io.FileInputStream fis 
    = new java.io.FileInputStream(root + path + name);


            
    byte[] b = new byte[1024];
            
    int    i = 0;


            
    while ( (i = fis.read(b)) > 0 ) 
            
    {
                os.write(b, 
    0, i);
            }



            fis.close();
            os.flush();
            os.close();
        }

        
    catch ( Exception e )
        
    {
        }
    posted @ 2006-02-16 12:21 kelven 閱讀(1984) | 評(píng)論 (1)編輯 收藏
    諾基亞手機(jī)限制碼-1234
      保密碼 -12345
      *#06#:看手機(jī)序列號(hào)。  
      *#2820# :看蘭牙版本信息,需要先將藍(lán)牙設(shè)置為打開(kāi)狀態(tài)。
      *#92702689# :這個(gè)也是大家常用的一條命令,用來(lái)查看系統(tǒng)信息。
      *#335738#:刪除Email, GPRS, MMS的設(shè)置信息
      *#7370925538#:刪除電子錢包的內(nèi)容和 密碼 ,這個(gè)比較實(shí)用,要是忘記了,你既可以用這個(gè)命令,也可以 恢復(fù)出廠 設(shè)置,不過(guò)這個(gè)更實(shí)用。
      *#7370#:軟件格式化。刪除存儲(chǔ)空間的內(nèi)容。
      *#7780#:一個(gè) 恢復(fù)出廠 設(shè)置的快捷操作。
      *#7220#:恢復(fù)一些功能
        *#92702689#LIFE:查系統(tǒng)版本
        *#0000#:查系統(tǒng)版本

    以上是一些NOKIA機(jī)型的查詢指令,不一定適合所有的NOKIA機(jī)型,但是基本上都可以使用。
    posted @ 2006-02-09 12:35 kelven 閱讀(1064) | 評(píng)論 (0)編輯 收藏
    下載地址:http://download.17hk.com/soft.asp?softid=44   (21.6M)
                        http://www.it1848.com/Soft/cyrjxz/yyrjxz/200510/Soft_20051014114011.html (46.4M)

    (WindowsXP SP2系統(tǒng)上SQLServer2000必須要安裝SP3之后的補(bǔ)丁才能正常使用)

    由于SQL Server Service Packs按照累積形式進(jìn)行組織,因此,SP3包含了先期發(fā)布的 Service Pack 1(SP1)與 Service Pack 2(SP2)中的所有修正程序,它既可應(yīng)用于全新安裝的系統(tǒng),也可在已經(jīng)安裝SP1或SP2的系統(tǒng)上加以應(yīng)用。

      優(yōu)勢(shì)
      除提供最新更新內(nèi)容與修正程序外,SQL Server 2000 SP3還能夠?yàn)槟峁┮韵聝?yōu)勢(shì):

      可維護(hù)性
      在可維護(hù)性方面的改進(jìn)包括:
    得以增強(qiáng)的錯(cuò)誤報(bào)告功能。通過(guò)適當(dāng)配置,SQL Server能夠?qū)㈥P(guān)鍵性錯(cuò)誤信息自動(dòng)發(fā)送至Microsoft公司。
      得以改進(jìn)的多服務(wù)器管理功能。
      用于實(shí)現(xiàn)監(jiān)控的新增API。數(shù)據(jù)庫(kù)管理員(DBA)或第三方工具可以對(duì)出現(xiàn)問(wèn)題的進(jìn)程加以診斷
      性能
      SP3引入了針對(duì)QLogic’s VI-enabled SANblade QLA2350 Fibre Channel控制器的支持能力。通過(guò)在SQL Server網(wǎng)絡(luò)互連層上應(yīng)用虛擬接口(Virtual Interface)技術(shù),在服務(wù)器和客戶端系統(tǒng)上針對(duì)每條消息所消耗的CPU資源得以顯著降低,同時(shí),系統(tǒng)整體性能得到了相應(yīng)提高。
      安全性
      最新提供的安全特性與工具包括:
      針對(duì)SQL Server 2000在線圖書的內(nèi)容更新。SQL Server 2000在線圖書為廣大客戶提供了用以進(jìn)一步增強(qiáng)應(yīng)用環(huán)境安全性所需的更多指導(dǎo)信息。
      安全修補(bǔ)程序。SP3針對(duì)用戶反映或在持續(xù)測(cè)試過(guò)程中發(fā)現(xiàn)的各種已知薄弱環(huán)節(jié)提供了相應(yīng)的修復(fù)程序。
      SQL Server Agent增強(qiáng)。SP3允許您在不具備管理員權(quán)限的情況下運(yùn)行SQL Server Agent。
    posted @ 2006-01-17 01:37 kelven 閱讀(3222) | 評(píng)論 (1)編輯 收藏
        現(xiàn)在多數(shù)host裝的還是MySQL 4.0x 版本以下,如果升級(jí)到了4.1x 或者移動(dòng)到使用4.1x 的主機(jī)上,估計(jì)會(huì)遇到一些問(wèn)題。我在這上面遇到了兩個(gè)問(wèn)題。
        一是數(shù)據(jù)導(dǎo)入。在phpMyAdmin內(nèi)導(dǎo)入后,發(fā)現(xiàn)中文變成了亂碼。搜索學(xué)習(xí)后,了解到需要設(shè)置數(shù)據(jù)庫(kù)的collation (校勘),如果你的數(shù)據(jù)庫(kù)是utf-8的,設(shè)置為utf8_general_ci就可以了。
        二是,即使正確導(dǎo)入了,在phpMyAdmin里也能正確顯示,但頁(yè)面上顯示的文章內(nèi)容都是“???”,而模板里面的漢字都能正常顯示。這讓我頭疼了很久。搜索到Windix’s Weblog上有對(duì)此的說(shuō)明:
        “從MySQL 4.1開(kāi)始引入的多語(yǔ)言支持確實(shí)很棒,而且一些特性已經(jīng)超過(guò)了其他的數(shù)據(jù)庫(kù)系統(tǒng)。不過(guò)我在測(cè)試過(guò)程中發(fā)現(xiàn)使用適用于MySQL 4.1之前的PHP語(yǔ)句操作MySQL數(shù)據(jù)庫(kù)會(huì)造成亂碼,即使是設(shè)置過(guò)了表字符集也是如此。我讀了一下新的MySQL在線手冊(cè)中第十章‘Character Set Support’后終于找到了解決方法并測(cè)試通過(guò)。MySQL 4.1的字符集支持(Character Set Support)有兩個(gè)方面:字符集(Character set)和排序方式(Collation)。對(duì)于字符集的支持細(xì)化到四個(gè)層次: 服務(wù)器(server),數(shù)據(jù)庫(kù)(database),數(shù)據(jù)表(table)和連接(connection)。當(dāng)我們按照原來(lái)的方式通過(guò)PHP存取MySQL數(shù)據(jù)庫(kù)時(shí),就算設(shè)置了表的默認(rèn)字符集為utf8并且通過(guò)UTF-8編碼發(fā)送查詢,你會(huì)發(fā)現(xiàn)存入數(shù)據(jù)庫(kù)的仍然是亂碼。問(wèn)題就出在這個(gè)connection連接層上。解決方法是在發(fā)送查詢前執(zhí)行一下下面這句:
    SET NAMES ‘utf8′;”
        但是我依舊不知道,如何,在何處讓W(xué)ordPress運(yùn)行這個(gè)SQL語(yǔ)句。后來(lái)在阿修的部落格上查到辦法:
      “為著解決這個(gè)問(wèn)題必須去修改wp-includes/wp-db.php內(nèi)的資料連線設(shè)定。詳細(xì)的修改方式是這樣的:
    $this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
    //加上下面這行
    $this->query(”SET NAMES ‘utf8′”);”
    這樣子終于能正常顯示中文的WordPress了。雖然后來(lái)還是沒(méi)用,但是覺(jué)得這個(gè)經(jīng)驗(yàn)會(huì)對(duì)別人有用。記得有人用email和我討論過(guò)這樣子的中文顯示問(wèn)題,但是我那時(shí)哪里知道問(wèn)題出在MySQL 4.1x上。
    還有,4.1x的數(shù)據(jù)庫(kù)不向下兼容,所以升級(jí)的時(shí)候要三思啊。
    posted @ 2006-01-01 08:02 kelven 閱讀(457) | 評(píng)論 (0)編輯 收藏
    (此為個(gè)人學(xué)習(xí)心得,以后會(huì)逐漸完善)

    (本例使用的數(shù)據(jù)庫(kù)是:MySql)

    1.當(dāng)你用流讀取文件或者從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)時(shí),取得的字符串的編碼要與頁(yè)面的一致,否則會(huì)亂碼

    例如:

    public class FileOperation {

        
    //path為文件的全路徑
        public static String readFile(String path){
            String templateContent
    ="";
            
    try{
                BufferedReader br
    =new BufferedReader(new FileReader(path));
                String temp
    =null;
                
    while((temp=br.readLine())!=null){
                    templateContent
    =templateContent+temp+"\n";
                }

                br.close();
            }

            
    catch(Exception e){
                System.out.println(
    "讀取文件出錯(cuò)");
                e.printStackTrace();
            }

            
            
    return templateContent;
        }

    }


    (假設(shè)頁(yè)面的編碼為UTF-8)

    調(diào)用以上函數(shù)只需要傳遞一個(gè)完整的文件路徑就可以以字符串的形式讀取文件.

    ......

    String str
    =FileOperation.readFile("d:\11.txt");

    ......

    request.setAttribute("str",str);

    ......

    則頁(yè)面用requset.getAttribute("str")取得的中文字符將會(huì)是亂碼.

    解決方案:

    將上段取中文字符串的代碼改成:



    String str
    =new String(FileOperation.readFile("d:\11.txt").getBytes("UTF-8"));



    request.setAttribute(
    "str",str);




    posted @ 2005-12-28 16:16 kelven 閱讀(538) | 評(píng)論 (0)編輯 收藏
    主站蜘蛛池模板: sss日本免费完整版在线观看| 精品无码国产污污污免费网站国产 | 亚洲一二成人精品区| 中文字幕在线成人免费看| 最近中文字幕mv免费高清在线| 男女交性永久免费视频播放| 亚洲中文字幕无码爆乳AV| 全部免费a级毛片| 亚洲av日韩av无码| 亚洲国产精品美女久久久久| 最新久久免费视频| 成人啪精品视频免费网站| 亚洲精品无码永久中文字幕| 亚洲三级在线免费观看| 国产成人无码免费看片软件 | 久久精品亚洲AV久久久无码| 一本久久免费视频| 国内精品免费麻豆网站91麻豆| 亚洲国产小视频精品久久久三级| 亚洲人成电影在线播放| 亚洲高清免费在线观看| 特黄特色大片免费| 国产成人无码区免费内射一片色欲 | 亚洲精品电影天堂网| 春意影院午夜爽爽爽免费| 最近最新高清免费中文字幕 | 亚洲乱色熟女一区二区三区蜜臀| 国产永久免费高清在线| 免费观看国产精品| 亚洲香蕉网久久综合影视| 亚洲福利一区二区| 久久WWW免费人成—看片| 在线播放高清国语自产拍免费| 亚洲精品天天影视综合网| 无码人妻一区二区三区免费视频| 99久久久精品免费观看国产| 亚洲综合国产一区二区三区| 亚洲aⅴ天堂av天堂无码麻豆| 国产精品久久永久免费| 亚洲爆乳无码专区| 亚洲综合色一区二区三区|