Windows XP的關(guān)機是由Shutdown.exe程序來控制的,位于Windows\System32文件夾中。如果想讓Windows 2000也實現(xiàn)同樣的效果,可以把Shutdown.exe復制到系統(tǒng)目錄下。
比如你的電腦要在22:00關(guān)機,可以選擇“開始→運行”,輸入“at 22:00 Shutdown -s”,這樣,到了22點電腦就會出現(xiàn)“系統(tǒng)關(guān)機”對話框,默認有30秒鐘的倒計時并提示你保存工作。如果你想以倒計時的方式關(guān)機,可以輸入“Shutdown.exe -s -t 3600”,這里表示60分鐘后自動關(guān)機,“3600”代表60分鐘。
設(shè)置好自動關(guān)機后,如果想取消的話,可以在運行中輸入“shutdown -a”。另外輸入“shutdown -i”,則可以打開設(shè)置自動關(guān)機對話框,對自動關(guān)機進行設(shè)置。
Shutdown.exe的參數(shù),每個都具有特定的用途,執(zhí)行每一個都會產(chǎn)生不同的效果,比如“-s”就表示關(guān)閉本地計算機,“-a”表示取消關(guān)機操作,下面列出了更多參數(shù),大家可以在Shutdown.exe中按需使用。
? -f:強行關(guān)閉應用程序
-m:\\計算機名:控制遠程計算機
-i:顯示圖形用戶界面,但必須是Shutdown的第一個選項
-l:注銷當前用戶
-r:關(guān)機并重啟
-t:時間:設(shè)置關(guān)機倒計時
-c:“消息內(nèi)容”:輸入關(guān)機對話框中的消息內(nèi)容(不能超127個字符)
posted @
2006-08-07 14:18 kelven 閱讀(422) |
評論 (0) |
編輯 收藏
http://popkart.tiancity.com/homepage/
posted @
2006-07-10 13:18 kelven 閱讀(344) |
評論 (2) |
編輯 收藏
1.將數(shù)據(jù)庫驅(qū)動程序的JAR文件放在Tomcat的?common/lib?中;
2.在server.xml中設(shè)置數(shù)據(jù)源,以MySQL數(shù)據(jù)庫為例,如下:
在<GlobalNamingResources>?</GlobalNamingResources>節(jié)點中加入,
??????<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"/>
???屬性說明:name,數(shù)據(jù)源名稱,通常取”jdbc/XXX”的格式;
????????????type,”javax.sql.DataSource”;
????????????password,數(shù)據(jù)庫用戶密碼;
????????????driveClassName,數(shù)據(jù)庫驅(qū)動;
????????????maxIdle,最大空閑數(shù),數(shù)據(jù)庫連接的最大空閑時間。超過空閑時間,數(shù)據(jù)庫連
?????????????????????接將被標記為不可用,然后被釋放。設(shè)為0表示無限制。
????????????MaxActive,連接池的最大數(shù)據(jù)庫連接數(shù)。設(shè)為0表示無限制。
????????????maxWait?,最大建立連接等待時間。如果超過此時間將接到異常。設(shè)為-1表示
?????????????????????無限制。
3.在你的web應用程序的web.xml中設(shè)置數(shù)據(jù)源參考,如下:
??在<web-app></web-app>節(jié)點中加入,
??<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é)點說明:?description,描述信息;
???????????????res-ref-name,參考數(shù)據(jù)源名字,同上一步的屬性name;
???????????????res-type,資源類型,”javax.sql.DataSource”;
???????????????res-auth,”Container”;
???????????????res-sharing-scope,”Shareable”;
4.在web應用程序的context.xml中設(shè)置數(shù)據(jù)源鏈接,如下:
??在<Context></Context>節(jié)點中加入,
??<ResourceLink
???name="jdbc/DBPool"?
???type="javax.sql.DataSource"?
???global="jdbc/DBPool"/>
???屬性說明:name,同第2步和第3步的屬性name值,和子節(jié)點res-ref-name值;
?????????????type,同樣取”javax.sql.DataSource”;
?????????????global,同name值。
?
至此,設(shè)置完成,下面是如何使用數(shù)據(jù)庫連接池。
1.建立一個連接池類,DBPool.java,用來創(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ù)庫操作的類或jsp頁面中,用DBPool.getPool().getConnection(),獲得一個Connection對象,就可以進行數(shù)據(jù)庫操作,最后別忘了對Connection對象調(diào)用close()方法,注意:這里不會關(guān)閉這個Connection,而是將這個Connection放回數(shù)據(jù)庫連接池。
posted @
2006-06-14 11:17 kelven 閱讀(927) |
評論 (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等就會出現(xiàn)打不開的現(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(文件的真實路徑);
也可以
<%
if (request.getParameter("fileUrl") != null)
{
String strFileUrl = request.getParameter("fileUrl");
//獲取文件名(DealFile是自己寫的一個處理文件的一個類)
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) |
評論 (0) |
編輯 收藏
[http://www.javaalmanac.com] - Java開發(fā)者年鑒一書的在線版本. 要想快速查到某種Java技巧的用法及示例代碼, 這是一個不錯的去處.
[http://www.onjava.com] - O'Reilly的Java網(wǎng)站. 每周都有新文章.
[http://java.sun.com] - 官方的Java開發(fā)者網(wǎng)站 - 每周都有新文章發(fā)表.
[http://www.developer.com/java] - 由Gamelan.com 維護的Java技術(shù)文章網(wǎng)站.
[http://www.java.net] - Sun公司維護的一個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ù)主頁.
[http://www.javaworld.com] - 最早的一個Java站點. 每周更新Java技術(shù)文章.
[http://www.devx.com/java] - DevX維護的一個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的一個Java桌面技術(shù)社區(qū)網(wǎng)站.
[http://www.theserverside.com] - 這是一個討論所有Java服務(wù)器端技術(shù)的網(wǎng)站.
[http://www.jars.com] - 提供Java評論服務(wù). 包括各種framework和應用程序.
[http://www.jguru.com] - 一個非常棒的采用Q&A形式的Java技術(shù)資源社區(qū).
[http://www.javaranch.com] - 一個論壇,得到Java問題答案的地方,初學者的好去處。
[http://www.ibiblio.org/javafaq/javafaq.html] - comp.lang.java的FAQ站點 - 收集了來自comp.lang.java新聞組的問題和答案的分類目錄.
http://java.sun.com/docs/books/tutorial/] - 來自SUN公司的官方Java指南 - 對于了解幾乎所有的java技術(shù)特性非常有幫助.
http://www.javablogs.com] - 互聯(lián)網(wǎng)上最活躍的一個Java Blog網(wǎng)站.
http://java.about.com/] - 來自About.com的Java新聞和技術(shù)文章網(wǎng)站.
posted @
2006-04-05 14:03 kelven 閱讀(410) |
評論 (0) |
編輯 收藏
http://www.021123.com/
posted @
2006-03-24 14:59 kelven 閱讀(362) |
評論 (0) |
編輯 收藏
1.安裝JDK1.4和jakarta-tomcat-4.1.27.exe。
? 路徑分別為 D:\jdk1.4 和 D:\Tomcat 4.1。
? 安裝Tomcat 4時,會要求填寫web訪問端口、用戶名、密碼等信息。
? web訪問端口默認為8080,用戶名默認為admin,密碼自己填寫。
? 啟動Tomcat4,訪問
http://127.0.0.1:8080/ ,就能看到Apache Tomcat/4.1.27的歡迎訪問頁面,頁面上有一些相關(guān)介紹信息等。
2.設(shè)置數(shù)據(jù)庫的驅(qū)動
? 以O(shè)racle的JDBC驅(qū)動設(shè)置為例:
? Oracle8i的驅(qū)動在\oracle\ora81\jdbc\lib\目錄下。名字為classes12.zip。
? Oracle9i的驅(qū)動在\oracle9i\jdbc\lib\目錄下,名字為ojdbc14.jar。
? 將這個文件copy到D:\Tomcat 4.1\common\lib 下。
? 注意,如果使用Oracle8i 的驅(qū)動,則需要在D:\Tomcat 4.1\common\lib 目錄下將classes12.zip更名為classes12.jar,因為Tomcat4不認識zip的后綴名。
3.設(shè)置Web應用。
? 新建一個文件夾,名字為mypool,位置為D:\mypool。這個D:\mypool路徑將是web應用的主目錄。
? 打開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"/>
?
? 完成后,成為這個樣子:
? ? <!-- 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 文件。
? 配置完成后,重新啟動Tomcat,就可以這樣訪問這個web應用了:
http://127.0.0.1:8080/mypool/ 。
4.設(shè)置Tomcat的連接池數(shù)據(jù)源。
? 訪問
http://127.0.0.1:8080/admin 頁面,用剛才安裝 Tomcat4 時填寫的用戶名和密碼登錄。
? 登錄成功后,會出現(xiàn)Tomcat 的web應用管理界面(Tomcat Web Server Administration Tool)。
? 然后在左邊的目錄樹點擊“Data Sources”項,右邊可以看到JNDI配置的頁面。
?
? 在右上角的下拉框中選擇“Create New Data Source”,接下來填寫配置信息:
?
? 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: ?可用默認值
? Max. Idle Connections: ? ?可用默認值
? Max. Wait for Connection: 可用默認值
? Validation Query: 可不填寫。
? 然后,按下“save”按鈕保存。
? 再按下“Commit Changes”按鈕將配置更改提交完成。
? 此時如果看看 Tomcat4 的窗口,會發(fā)現(xiàn)在最下面有一行文字提示: ?
? ?Debugging -- changes saved to conf/server.xml
?
? 此時 D:\Tomcat 4.1\conf\server.xml 文件的配置已經(jīng)更改保存完畢。
? 如果此時打開D:\Tomcat 4.1\conf\server.xml 文件,會發(fā)現(xiàn)server.xml 文件的內(nèi)容改變了很多。
? 一些注釋文字都被去掉了。
? 還會發(fā)現(xiàn)上面第三步配置Web應用的如下文字
? ?
? ?<!-- Tomcat Root Context -->
? ? ?<!--
? ? ? ? ? <Context path="" docBase="ROOT" debug="0"/>
? ? ? -->
? ?
? ? ?<Context path="/mypool" docBase="D:\mypool" privileged="true" reloadable="true"/>
? 則被自動修改成了這樣的:
? ? ?<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>
? ?
? ?好了,至此位置,對Oracle的應用連接池已經(jīng)配置完畢。
? ?
? ?仔細對照server.xml 文件,會發(fā)現(xiàn)剛才所配置的連接池信息被放置在<GlobalNamingResources>標簽中,這意味著這個信息是可以被全局引用的,大致是如下的樣子:
? ? <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應用對連接池的引用。
?
? 打開D:\Tomcat 4.1\conf\server.xml 文件,找到剛才配置的web應用文字,由于剛才server.xml 文件被自動修改過,并去掉了很多注釋內(nèi)容,所以剛才配置的web應用
? ?<Context path="/mypool" docBase="D:\mypool" privileged="true" reloadable="true"/>
? 被自動修改成了這樣的:
? ? ?<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應用對全局連接池的引用說明,如下文字:
? ? <ResourceLink global="jdbc/myOrcl" name="jdbc/myOrcl" type="javax.sql.DataSource"/> ?
? 設(shè)置完成后,web應用的描述大致如下面的樣子:
? ? <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è)置這個連接池的引用說明是非常重要的一步。
? 一些朋友在Tomcat4中配置連接池失敗的原因大都歸咎與此。還有網(wǎng)上一些文章說這是一個Tomcat4的一個Bug。
? 我用了整整兩天兩夜的時間才明白其中的奧秘。[:(]
? 當時離瘋掉只查一點點。因為畢竟配置一個連接池是很簡單的。[:(]
6.一般情況下,到此,連接池的設(shè)置就完成了。
? 然后需要重新啟動Tomcat,這樣就可以使用連接池來工作了。
? 但是,看到很多文章上說,還需要設(shè)置一下web.xml才能應用。我沒有設(shè)置web.xml,連接池也可以完全使用。
? 現(xiàn)在說一下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.一個簡單的應用示例。
? 寫了一個簡單的JSP頁面,用連接池來訪問數(shù)據(jù)庫。
內(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("沒有匹配的環(huán)境");
? ? ? ?Context ctx = (Context) initCtx.lookup("java:comp/env");
? ? ?
? ? ? ?//獲取連接池對象 ? ? ? ? ? ? ? ? ?
? ? ? ?Object obj = (Object) ctx.lookup("jdbc/myOrcl"); ?
? ? ?
? ? ? //類型轉(zhuǎn)換
? ? ? ?javax.sql.DataSource ds = (javax.sql.DataSource)obj;
? ? ? ? ?
? ? ? ?if(ds==null)
? ? ? ? ? throw new Exception("沒有匹配數(shù)據(jù)庫"); ?
? ?
? ? ? ?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ù)庫連接要釋放。
不然當打開的連接過多或惡意刷屏,連接池的連接數(shù)目會被用完。
當連接池的連接數(shù)目用完后,再訪問jsp頁面時,會在頁面出現(xiàn)如下的錯誤信息,報告連接池的連接被耗盡:
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ū)動程序classes12.jar文件copy到目錄 D:\Tomcat 5.0\common\lib\ 下。
Tomcat5的連接池設(shè)置和Tomcat4 的差不多,僅說明一下不同點或需要特別注意的地方。
1. Tomcat5啟動后,訪問
http://127.0.0.1:8080/admin 頁面,當設(shè)置完Tomcat的連接池數(shù)據(jù)源后,打開D:\Tomcat 5.0\conf\server.xml 文件,會看到配置的連接池相關(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應用對連接池的引用。
?打開D:\Tomcat 5.0\conf\Catalina\localhost\ 目錄,找到和web應用同名的xml文件(mypool.xml),打開這個文件,
修該其<Context></Context>的描述信息,添加如下行:
? ?<ResourceLink global="jdbc/myOrcl" name="jdbc/myOrcl" type="javax.sql.DataSource"/> ?
使mypool.xml文件的內(nèi)容看起來大致這個:
?
? ?<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頁面測試文件的寫法也是一樣的,不再贅述。
4.一些補充:
? 如果web應用沒有配置對連接池的引用,即沒有配置<ResourceLink>,則會在訪問jsp頁面時出現(xiàn)如下錯誤:
? ? NameNotFoundException: Name jdbc is not bound in this Context
? 如果缺少Oracle的JDBC驅(qū)動,則會在訪問jsp頁面時出現(xiàn)如下錯誤:
? ? java.sql.SQLException: Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'
posted @
2006-03-22 11:30 kelven 閱讀(1642) |
評論 (1) |
編輯 收藏
摘要: 首先XMLHttpRequest不是web標準,而是大部分主流瀏覽器都支持的一種擴展技術(shù)。它被認為是一種異步調(diào)用的實現(xiàn)技術(shù),因為它本來是被設(shè)計在后臺取數(shù)據(jù)用的。在IE中它被作為一個ActiveX控件提供,而其他一些瀏覽器都提供一些本地API以供調(diào)用。下面是一些關(guān)于XMLHttpRequest的基本方法:
1、獲...
閱讀全文
posted @
2006-02-26 13:42 kelven 閱讀(394) |
評論 (0) |
編輯 收藏
1、女人永遠也不知道男人為什么要學會堅強?
因為他們自己知道.他們雖然外表堅強.但內(nèi)心很脆弱.他們永遠想讓自己身邊的她覺得自己是最棒的.
2、女人永遠也不知道男人為什么不會輕易掉眼淚?
因為他們自己知道.他們不是不會掉眼淚.只是他明白.一但眼淚掉下來了.這段感情也就結(jié) 束了.
3、女人永遠也不知道男人為什么每次在心煩的時候那么喜歡抽煙?
因為他們自己知道.只有在煙霧中才能憶起他們過去美好的時光來尋求一點心里的平衡.
4、女人永遠也不知道男人為什么要在分手以后還會對她噓寒問暖?
因為他們自己知道.他們并不是想跟你做朋友.只是想挽回這段曾經(jīng)屬于他的感情.
5、女人永遠也不知道男人為什么每次在聽到她被欺負了會顯得那么發(fā)狂?
因為他們自己知道.哪怕這次架打輸了.躺下了.他也會覺得高興.因為他們寧愿自己受到傷害.也不愿意看到你哭泣.
6、女人永遠也不知道男人為什么在分手以后會夜夜買醉?
因為他們知道.如果今晚不麻醉自己.那么今晚只能在思念中度過.
7. 女人永遠也不知道男人為什么每次出門會出手那么大方?
因為他們知道.他們寧愿自己一個人省吃檢用.也不愿意你看到你被別人看不起.
8.女人永遠也不知道男人為什么會那么愛對她發(fā)脾氣?
因為他們自己知道.對她發(fā)脾氣并不是不愛她.只是希望她在以后的路上不被別人所欺騙.
9.女人永遠也不知道男人為什么會那么在意你以前的男朋友?
因為他們自己知道.并不是他們不自信.只是他們害怕有一天你會離他而去.
10. 女人永遠也不知道男人為什么看到你為別人寫的日記之后還會那么鎮(zhèn)靜的聽你解釋?
因為他們自己知道.自己并不是不想發(fā)火.只是希望能從你的口中得知到底是他重要還是別人重要?
11、女人永遠也不知道男人為什么不對她說我愛你⒊個字? 閫
因為他們知道.并不是不想說.只是他們自己明白.⒈萬句我愛你用在身上也不夠.
12. 女人永遠也不知道男人為什么會跑到這里來發(fā)貼?
因為他們知道.希望有一天這貼能被你看見.以此來證明你對他的不理解.只有他自己心里明 白.這貼要是沒人回的話.很快便會消失了.你更不知道一個男人的幸福生活來之不易,那是 他將每一個看過的貼子都頂了的緣故。
(如果你不能為你心愛的女人穿上嫁衣,請停下你解她衣扣的手)
愿天下有情人終成眷屬.當你們看到這貼時心里最想的那個人也就是你們最愛的那個人!
posted @
2006-02-25 11:50 kelven 閱讀(388) |
評論 (0) |
編輯 收藏
在
Java文件中,連接SQLserver數(shù)據(jù)庫時,需要一個連接數(shù)據(jù)庫的
驅(qū)動文件。
在你安裝
JDK的路徑下的lib文件夾里拷貝一個文件jtds-0.6.jar,并且在環(huán)境變量里設(shè)置classpath,例如:你的jdk裝在c:\jdk,那么環(huán)境變量classpath的路徑應設(shè)為c:\jdk\lib\jtds-0.6.jar。(環(huán)境變量知道這么設(shè)吧?在我的電腦的屬性,高級里。多個路徑之間用分號隔開。)
這里提供SQLserver連接驅(qū)動文件jtds-0.6.jar,
下載解壓后拷貝到j(luò)dk路徑下的lib文件夾里。
具體在文件中的應用:
import java.sql.*;
String url="
JDBC:jtds:sqlserver://localhost:1433/‘數(shù)據(jù)庫名′";
String driver="net.sourceforge.jtds.jdbc.Driver";
Class.forName(driver);
Connection conn=DriverManager.getConnection(url,"用戶名","密碼");
就可以連接到你的數(shù)據(jù)庫了。
1433是SQLserver默認的端口號,如果要連接到其他機器上,要將localhost改為其他機器的IP地址,如192.168.0.101。
其中數(shù)據(jù)庫名是你所新建的數(shù)據(jù)庫的名稱,用戶名和密碼是你登陸SQLserver是的用戶名和密碼。
有的人安裝SQLserver時用的是
Windows身份驗證,那么用戶名和密碼都為空。如果不能登陸,或者要用SQL身份驗證的話,需要修改
注冊表。在運行里打開regedit,然后查找loginmode(具體位置:hkey_local_machine\software\microsoft\
MSSQLserver\
mssqlserver\),僅用Windows身份驗證的值為1,混合身份驗證的值為2。只要將1改為2,就可以用SQL身份驗證了,用戶名為‘sa',密碼為空。
posted @
2006-02-17 11:59 kelven 閱讀(590) |
評論 (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) |
評論 (1) |
編輯 收藏