亚洲精品久久无码av片俺去也,亚洲精品白浆高清久久久久久,久久亚洲精品国产亚洲老地址http://www.tkk7.com/spark/智慧是第一生產(chǎn)力zh-cnMon, 12 May 2025 08:53:33 GMTMon, 12 May 2025 08:53:33 GMT60ftp實(shí)現(xiàn)上傳下載,解決了編碼問題。http://www.tkk7.com/spark/archive/2010/01/19/310032.html空空空空Tue, 19 Jan 2010 01:16:00 GMThttp://www.tkk7.com/spark/archive/2010/01/19/310032.htmlhttp://www.tkk7.com/spark/comments/310032.htmlhttp://www.tkk7.com/spark/archive/2010/01/19/310032.html#Feedback1http://www.tkk7.com/spark/comments/commentRss/310032.htmlhttp://www.tkk7.com/spark/services/trackbacks/310032.html閱讀全文

空空 2010-01-19 09:16 發(fā)表評論
]]>
mysql命令(轉(zhuǎn))http://www.tkk7.com/spark/archive/2009/12/04/304782.html空空空空Fri, 04 Dec 2009 07:38:00 GMThttp://www.tkk7.com/spark/archive/2009/12/04/304782.htmlhttp://www.tkk7.com/spark/comments/304782.htmlhttp://www.tkk7.com/spark/archive/2009/12/04/304782.html#Feedback0http://www.tkk7.com/spark/comments/commentRss/304782.htmlhttp://www.tkk7.com/spark/services/trackbacks/304782.html測試環(huán)境:mysql 5.0.45
【注:可以在mysql中通過mysql> SELECT VERSION();來查看數(shù)據(jù)庫版本】
整理:leo
一、連接MYSQL。
格式: mysql -h主機(jī)地址 -u用戶名 -p用戶密碼
1、連接到本機(jī)上的MYSQL。
首先打開DOS窗口,然后進(jìn)入目錄mysql\bin,再鍵入命令mysql -u root -p,回車后提示你輸密碼.注意用戶名前可以有空格也可以沒有空格,但是密碼前必須沒有空格,否則讓你重新輸入密碼.
如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進(jìn)入到MYSQL中了,MYSQL的提示符是: mysql>
2、連接到遠(yuǎn)程主機(jī)上的MYSQL。假設(shè)遠(yuǎn)程主機(jī)的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令:
mysql -h110.110.110.110 -u root -p 123;(注:u與root之間可以不用加空格,其它也一樣)
3、退出MYSQL命令: exit (回車)
二、修改密碼。
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
1、給root加個(gè)密碼ab12。首先在DOS下進(jìn)入目錄mysql\bin,然后鍵入以下命令
mysqladmin -u root -password ab12
注:因?yàn)殚_始時(shí)root沒有密碼,所以-p舊密碼一項(xiàng)就可以省略了。
2、再將root的密碼改為djg345。
mysqladmin -u root -p ab12 password djg345
三、增加新用戶。
(注意:和上面不同,下面的因?yàn)槭荕YSQL環(huán)境中的命令,所以后面都帶一個(gè)分號作為命令結(jié)束符)
格式:grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機(jī) identified by “密碼”
1、增加一個(gè)用戶test1密碼為abc,讓他可以在任何主機(jī)上登錄,并對所有數(shù)據(jù)庫有查詢、插入、修改、刪除的權(quán)限。首先用root用戶連入MYSQL,然后鍵入以下命令:
grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;
但增加的用戶是十分危險(xiǎn)的,你想如某個(gè)人知道test1的密碼,那么他就可以在internet上的任何一臺電腦上登錄你的mysql數(shù)據(jù)庫并對你的數(shù)據(jù)可以為所欲為了,解決辦法見2。
2、增加一個(gè)用戶test2密碼為abc,讓他只可以在localhost上登錄,并可以對數(shù)據(jù)庫mydb進(jìn)行查詢、插入、修改、刪除的操作(localhost指本地主機(jī),即MYSQL數(shù)據(jù)庫所在的那臺主機(jī)),
這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數(shù)據(jù)庫,只能通過MYSQL主機(jī)上的web頁來訪問了。
grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;
如果你不想test2有密碼,可以再打一個(gè)命令將密碼消掉。
grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;
下篇我是MYSQL中有關(guān)數(shù)據(jù)庫方面的操作。注意:你必須首先登錄到MYSQL中,以下操作都是在MYSQL的提示符下進(jìn)行的,而且每個(gè)命令以分號結(jié)束。
一、操作技巧
1、如果你打命令時(shí),回車后發(fā)現(xiàn)忘記加分號,你無須重打一遍命令,只要打個(gè)分號回車就可以了。
也就是說你可以把一個(gè)完整的命令分成幾行來打,完后用分號作結(jié)束標(biāo)志就OK。
2、你可以使用光標(biāo)上下鍵調(diào)出以前的命令。
二、顯示命令
1、顯示當(dāng)前數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)庫列表:
mysql> SHOW DATABASES;
注意:mysql庫里面有MYSQL的系統(tǒng)信息,我們改密碼和新增用戶,實(shí)際上就是用這個(gè)庫進(jìn)行操作。
2、顯示數(shù)據(jù)庫中的數(shù)據(jù)表:
mysql> USE 庫名;
mysql> SHOW TABLES;
3、顯示數(shù)據(jù)表的結(jié)構(gòu):
mysql> DESCRIBE 表名;
4、建立數(shù)據(jù)庫:
mysql> CREATE DATABASE 庫名;
5、建立數(shù)據(jù)表:
mysql> USE 庫名;
mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));
6、刪除數(shù)據(jù)庫:
mysql> DROP DATABASE 庫名;
7、刪除數(shù)據(jù)表:
mysql> DROP TABLE 表名;
8、將表中記錄清空:
mysql> DELETE FROM 表名;
9、顯示表中的記錄:
mysql> SELECT * FROM 表名;
10、往表中插入記錄:
mysql> INSERT INTO 表名 VALUES (”hyq”,”M”);
11、更新表中數(shù)據(jù):
mysql-> UPDATE 表名 SET 字段名1=’a',字段名2=’b’ WHERE 字段名3=’c';
12、用文本方式將數(shù)據(jù)裝入數(shù)據(jù)表中:
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE 表名;
13、導(dǎo)入.sql文件命令:
mysql> USE 數(shù)據(jù)庫名;
mysql> SOURCE d:/mysql.sql;
14、命令行修改root密碼:
mysql> UPDATE mysql.user SET password=PASSWORD(’新密碼’) WHERE User=’root’;
mysql> FLUSH PRIVILEGES;
15、顯示use的數(shù)據(jù)庫名:
mysql> SELECT DATABASE();
16、顯示當(dāng)前的user:
mysql> SELECT USER();
三、一個(gè)建庫和建表以及插入數(shù)據(jù)的實(shí)例
drop database if exists school; //如果存在SCHOOL則刪除
create database school; //建立庫SCHOOL
use school; //打開庫SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default ‘深圳’,
year date
); //建表結(jié)束
//以下為插入字段
insert into teacher values(”,’allen’,'大連一中’,'1976-10-10′);
insert into teacher values(”,’jack’,'大連二中’,'1975-12-23′);
如果你在mysql提示符鍵入上面的命令也可以,但不方便調(diào)試。
(1)你可以將以上命令原樣寫入一個(gè)文本文件中,假設(shè)為school.sql,然后復(fù)制到c:\\下,并在DOS狀態(tài)進(jìn)入目錄[url=file://\\mysql\\bin]\\mysql\\bin[/url],然后鍵入以下命令:
mysql -uroot -p密碼 < c:\\school.sql
如果成功,空出一行無任何顯示;如有錯(cuò)誤,會有提示。(以上命令已經(jīng)調(diào)試,你只要將//的注釋去掉即可使用)。
(2)或者進(jìn)入命令行后使用 mysql> source c:\\school.sql; 也可以將school.sql文件導(dǎo)入數(shù)據(jù)庫中。
四、將文本數(shù)據(jù)轉(zhuǎn)到數(shù)據(jù)庫中
1、文本數(shù)據(jù)應(yīng)符合的格式:字段數(shù)據(jù)之間用tab鍵隔開,null值用[url=file://\\n]\\n[/url]來代替.例:
3 rose 大連二中 1976-10-10
4 mike 大連一中 1975-12-23
假設(shè)你把這兩組數(shù)據(jù)存為school.txt文件,放在c盤根目錄下。
2、數(shù)據(jù)傳入命令 load data local infile “c:\\school.txt” into table 表名;
注意:你最好將文件復(fù)制到[url=file://\\mysql\\bin]\\mysql\\bin[/url]目錄下,并且要先用use命令打表所在的庫。
五、備份數(shù)據(jù)庫:(命令在DOS的[url=file://\\mysql\\bin]\\mysql\\bin[/url]目錄下執(zhí)行)
1.導(dǎo)出整個(gè)數(shù)據(jù)庫
導(dǎo)出文件默認(rèn)是存在mysql\bin目錄下
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 > 導(dǎo)出的文件名
mysqldump -u user_name -p123456 database_name > outfile_name.sql
2.導(dǎo)出一個(gè)表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
3.導(dǎo)出一個(gè)數(shù)據(jù)庫結(jié)構(gòu)
mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 沒有數(shù)據(jù) –add-drop-table 在每個(gè)create語句之前增加一個(gè)drop table
4.帶語言參數(shù)導(dǎo)出
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

 

本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/networld2002/archive/2009/04/23/4103407.aspx



空空 2009-12-04 15:38 發(fā)表評論
]]>
windows平臺下Apache2.2+php5+MySQL5+zend的環(huán)境搭建配置(轉(zhuǎn))http://www.tkk7.com/spark/archive/2009/12/04/304781.html空空空空Fri, 04 Dec 2009 07:35:00 GMThttp://www.tkk7.com/spark/archive/2009/12/04/304781.htmlhttp://www.tkk7.com/spark/comments/304781.htmlhttp://www.tkk7.com/spark/archive/2009/12/04/304781.html#Feedback0http://www.tkk7.com/spark/comments/commentRss/304781.htmlhttp://www.tkk7.com/spark/services/trackbacks/304781.html
網(wǎng)上已經(jīng)有很多此類文章了,但我在CSDN仍看到不少新人為此問題困擾。
 
1.便捷方法:裝一體化環(huán)境,如果你并非打算深入,或者剛?cè)腴T。則可以先用一體化環(huán)境來配置。優(yōu)點(diǎn)是下完安裝即可使用,1分鐘就能搞定。如果原來系統(tǒng)中裝有IIS,則把端口設(shè)為 81或者其他非80端口。(以下皆為apache+php+mysql+zend)
 
  1> php4的一體化環(huán)境
http://www.onlinedown.net/soft/22078.htm
 
  2> php5的一體化環(huán)境
http://www.onlinedown.net/soft/42567.htm
 
2.如果你需要一個(gè)較為穩(wěn)健而功能強(qiáng)勁的配置環(huán)境,則參看以下。本文采用最新版本的php、apache、mysql、zend。
 
其實(shí),因?yàn)榫W(wǎng)上很多文章其實(shí)也沒什么錯(cuò),但有些細(xì)節(jié)的地方有問題。特別是在apache2.2.4與php5模塊化安裝的整合上。
 
先準(zhǔn)備安裝文件,幾個(gè)安裝文件我用華軍軟件園的下載地址,大家放心下:
 
apache2.2.4
最新版http://www.onlinedown.net/soft/11528.htm
發(fā)帖時(shí)最新版http://ytcnc.onlinedown.net/down/apache_2.2.4-win32-x86-no_ssl.zip
 
php5.2.3
 
 
-----------------------------------------------------------------------
 
1.安裝apache2.2.4至某個(gè)目錄比如我的是D:"apache2
2.解壓php5到D:"apache2"php5目錄下
3.安裝mysql5到D:"apache2"mysql目錄下
 
4.配置apache
 1)打開d:"apache2"conf目錄下的httpd.conf文件。
 2)apache httpd.conf設(shè)置
  A.網(wǎng)站主目錄設(shè)置:搜索DocumentRoot "D:/apache2/htdocs"
  修改引號中的地址,為apache網(wǎng)頁主目錄。也就是http://localhost:端口號的目錄。
  B.端口設(shè)置:搜索 listen,改為 Listen 81(此例中以81為端口)。如不裝IIS可保留默認(rèn)值為80。設(shè)為81,則主頁為 http://localhost:81 否則為http://localhost
  C.加載php5模塊化安裝:搜索Loadmodule,在后面加一行:
LoadModule php5_module d:/apache2/php/php5apache2_2.dll
 
(這里是很多網(wǎng)上攻略出錯(cuò)的地方,apache2.2版本以下一般為
LoadModule php5_module d:/apache2/php/php5apache2.dll
apache2.2以上的版本則不行。更有甚者,竟然把php5apache2.dll改寫成支持apache2.2的了,牛是很牛了,但不知道中國搞技術(shù)的到底是怎么了,都懶得自主思考,一點(diǎn)懷疑精神都沒有。)
  
  D. php格式解析
   搜索 addType application在后面加一行:
   AddType application/x-httpd-php .php
  
  E.字符集

  搜索 AddDefaultCharset ISO-8859-1 將其改為

  AddDefaultCharset GB2312

5.配置php

  至D:"apache2"php目錄下,把 php.ini-dist或php.ini-recommended拷貝至c:"windows目錄下,改名為php.ini。拷貝D:"apache2"php目錄下的php5ts.dll,libmysql.dll至C:"windows"system32目錄下
 
   配置php.ini
   A.找到extension_dir設(shè)置為 "d:"apache2"php"ext"絕對路徑,否則有些環(huán)境中會出錯(cuò)。
    
   b.打開功能擴(kuò)展
搜索以下行,把前面的分號刪除。比如
“;extension=php_mysql.dll”改為“extension=php_mysql.dll

#下面兩行為mysql5必備,記得php_mysqli.dll必須加載,否則連不上。
extension=php_mysql.dll  
extension=php_mysqli.dll
 
#php連sql server,有用到的就設(shè)置一下
extension=php_mssql.dll

#curl功能擴(kuò)展,想用php寫些腳本處理遠(yuǎn)程服務(wù)期的響應(yīng)消息的可以打開
extension=php_curl.dll
 
#GD庫安裝,此功能打開可用數(shù)據(jù)庫以二進(jìn)制存儲圖片
extension=php_gd2.dll
 
#東亞語系必備,增加字符處理速度
extension=php_mbstring.dll
 
   C.實(shí)用功能自定義配置
 
#session的存儲目錄。如果有內(nèi)存虛擬硬盤,可以把用到的暫存處理目錄都設(shè)置到
內(nèi)存虛擬盤中進(jìn)一步提高服務(wù)器響應(yīng)速度。
   session.save_path = D:/apache2/htdocs/php_session 
 
#這個(gè)是每個(gè)腳本運(yùn)行的最長時(shí)間,可以自己修改加長,單位秒
max_execution_time = 30

#這是每個(gè)腳本可以消耗的時(shí)間,單位也是秒
max_input_time = 60

#這個(gè)是腳本運(yùn)行最大消耗的內(nèi)存,最好設(shè)為16M以上,有的程序要求,比如openads

memory_limit = 16M

#上載文件的最大許可大小,一般post大小>upload_max_filesize。比如我的設(shè)置:

post_max_size = 300M

upload_max_filesize = 250M

6.至此,配置完成大半。

mysql與zend只要按需安裝即可。裝完后重啟apache服務(wù)器即可。

7.最后推薦個(gè)好東西,apache的monitor.exe,可以控制apache、myql、IIS、sql server等服務(wù)器開關(guān)。好東西,我找了挺久的。感謝原作者,抱歉忘了大名

http://www.1thz.cn/apachemonitor.exe

  
8.如果您對服務(wù)器性能要求很高,我這里推薦您一個(gè)非常棒的平臺組合。lighttpd可以取代apache,更輕,性能更優(yōu)秀。 PostPre SQL 取代 Mysql,極其強(qiáng)大的開源數(shù)據(jù)庫,完全滿足企業(yè)商務(wù)級數(shù)據(jù)庫需求。


空空 2009-12-04 15:35 發(fā)表評論
]]>
使用dom4j的xPath解析XML(轉(zhuǎn))http://www.tkk7.com/spark/archive/2009/10/19/298855.html空空空空Mon, 19 Oct 2009 07:11:00 GMThttp://www.tkk7.com/spark/archive/2009/10/19/298855.htmlhttp://www.tkk7.com/spark/comments/298855.htmlhttp://www.tkk7.com/spark/archive/2009/10/19/298855.html#Feedback0http://www.tkk7.com/spark/comments/commentRss/298855.htmlhttp://www.tkk7.com/spark/services/trackbacks/298855.html <?xml version="1.0" encoding="UTF-8"?>
<books>
    <!--This is a test for dom4j, jakoes, 2007.7.19-->
    <book show="yes" url="lucene.net">
        <title id="456">Lucene Studing</title>
    </book>
    <book show="yes" url="dom4j.com">
        <title id="123">Dom4j Tutorials</title>
    </book>
    <book show="no" url="spring.org">
        <title id="789">Spring in Action</title>
    </book>
    <owner>O'Reilly</owner>
</books>

下面我們使用dom4j的xPath來解析:

segment of ParseXML.java:

    public void parseBooks(){
       
        SAXReader reader = new SAXReader();
        try {
            Document doc = reader.read("books.xml");
            Node root = doc.selectSingleNode("/books");
            List list = root.selectNodes("book[@url='dom4j.com']");
           
            for(Object o:list){
               
                Element e = (Element) o;
                String show=e.attributeValue("show");
                System.out.println("show = " + show);
            }
          
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

  Document doc = reader.read("books.xml");的意思是加載XML文檔,此是可以用doc.asXML()來查看,它將打印整個(gè)xml文檔。

  Node root = doc.selectSingleNode("/books");是讀取剛才加載的xml文檔內(nèi)的books節(jié)點(diǎn)下的所有內(nèi)容,對于本例也是整個(gè)xml文檔。
  當(dāng)然我們也可以加載/books下的某一個(gè)節(jié)點(diǎn),如:book節(jié)點(diǎn)
Node
root = doc.selectSingleNode("/books/book");
或:
Node root = doc.selectSingleNode("/books/*");
注意:如果有多個(gè)book節(jié)點(diǎn),它只會讀取第一個(gè)
root.asXML()將打印:
<book show="yes" url="lucene.net">
        <title id="456">Lucene Studing</title>
</book>

  既然加載了這么多,那我怎么精確的得到我想要的節(jié)點(diǎn)呢,別急,看下面:
List list = root.selectNodes("book[@url='dom4j.com']");
它的意思就是讀取books節(jié)點(diǎn)下的
book節(jié)點(diǎn),且book的節(jié)點(diǎn)的url屬性為dom4j.com
為什么使用list來接收呢,如果有兩個(gè)book節(jié)點(diǎn),且它們的url屬性都為dom4j.com,此時(shí)就封閉到list里了。

  如果想讀取books下的所有book節(jié)點(diǎn),可以這樣:
List list = root.selectNodes("book");

  如果想讀取books節(jié)點(diǎn)下的book節(jié)點(diǎn)下的title節(jié)點(diǎn),可以這樣:
List list2 = root.selectNodes("book[@url='dom4j.com']/title[@id='123']");

  注意:
selectNodes()參數(shù)的格式:
  節(jié)點(diǎn)名[@屬性名='屬性值'],如:
book[@url='dom4j.com']
  如果有多個(gè)節(jié)點(diǎn),用“/”分開,如:
book[@url='dom4j.com']/title[@id='123']

  最近就是讀取封閉在List里的內(nèi)容了,可以用Node來讀取,也可以用Element來轉(zhuǎn)換。
attributeValue("屬性")是讀取該節(jié)點(diǎn)的屬性值
getText()是讀取節(jié)點(diǎn)的的內(nèi)容。


空空 2009-10-19 15:11 發(fā)表評論
]]>
讀取struts配置文件的路徑問題http://www.tkk7.com/spark/archive/2009/09/28/296776.html空空空空Mon, 28 Sep 2009 06:39:00 GMThttp://www.tkk7.com/spark/archive/2009/09/28/296776.htmlhttp://www.tkk7.com/spark/comments/296776.htmlhttp://www.tkk7.com/spark/archive/2009/09/28/296776.html#Feedback0http://www.tkk7.com/spark/comments/commentRss/296776.htmlhttp://www.tkk7.com/spark/services/trackbacks/296776.html
一個(gè)是web.xml文件中的struts配置文件路徑的寫法問題,解決辦法是在struts配置文件路徑前加上"/"
<init-param>
   <param-name>config</param-name>
   <param-value>/struts_test.xml</param-value>
  </init-param>
拋的異常如下:
2009-9-28 13:33:53 org.apache.struts.action.ActionServlet handleConfigException
嚴(yán)重: Parsing error processing resource path struts_test.xml
java.net.MalformedURLException: Path struts_test.xml does not start with a "/" c
haracter
        at org.apache.catalina.core.ApplicationContext.getResource(ApplicationCo
ntext.java:473)


一個(gè)是web.xml中的struts文件的路徑,struts配置文件應(yīng)該是放在class目錄下,比如src的根目錄下,
配置就是<param-value>/struts_test.xml</param-value>,而不是WEB-INF中的路徑。

嚴(yán)重:   Servlet   /Message   threw   load()   exception
javax.servlet.UnavailableException:   Missing   configuration   resource   for   path   /WEB-INF/struts-config.xml
at   org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:732)
at   org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:687)
at   org.apache.struts.action.ActionServlet.init(ActionServlet.java:333)


空空 2009-09-28 14:39 發(fā)表評論
]]>
java 實(shí)現(xiàn)ftp上傳下載(轉(zhuǎn))http://www.tkk7.com/spark/archive/2009/09/22/295975.html空空空空Tue, 22 Sep 2009 03:02:00 GMThttp://www.tkk7.com/spark/archive/2009/09/22/295975.htmlhttp://www.tkk7.com/spark/comments/295975.htmlhttp://www.tkk7.com/spark/archive/2009/09/22/295975.html#Feedback5http://www.tkk7.com/spark/comments/commentRss/295975.htmlhttp://www.tkk7.com/spark/services/trackbacks/295975.html

package com.why.ftp;     
    
import java.io.DataInputStream;     
import java.io.File;     
import java.io.FileInputStream;     
import java.io.FileOutputStream;     
import java.io.IOException;     
import java.io.OutputStream;     
import java.util.ArrayList;     
import java.util.List;     
import java.util.StringTokenizer;     
import sun.net.TelnetInputStream;     
import sun.net.TelnetOutputStream;     
import sun.net.ftp.FtpClient;     
    
/**   
 * ftp上傳,下載   
 * @author why 2009-07-30   
 *   
 */    
public class FtpUtil {     
    
    private String ip = "";     
    
    private String username = "";     
    
    private String password = "";     
    
    private int port = -1;     
    
    private String path = "";     
    
    FtpClient ftpClient = null;     
    
    OutputStream os = null;     
    
    FileInputStream is = null;     
    
    public FtpUtil(String serverIP, String username, String password) {     
        this.ip = serverIP;     
        this.username = username;     
        this.password = password;     
    }     
         
    public FtpUtil(String serverIP, int port, String username, String password) {     
        this.ip = serverIP;     
        this.username = username;     
        this.password = password;     
        this.port = port;     
    }     
    
    /**   
     * 連接ftp服務(wù)器   
     *    
     * @throws IOException   
     */    
    public boolean connectServer(){     
        ftpClient = new FtpClient();     
        try {     
            if(this.port != -1){     
                    ftpClient.openServer(this.ip,this.port);     
            }else{     
                ftpClient.openServer(this.ip);     
            }     
            ftpClient.login(this.username, this.password);     
            if (this.path.length() != 0){     
                ftpClient.cd(this.path);// path是ftp服務(wù)下主目錄的子目錄                
            }     
            ftpClient.binary();// 用2進(jìn)制上傳、下載     
            System.out.println("已登錄到\"" + ftpClient.pwd() + "\"目錄");     
            return true;     
        }catch (IOException e){     
            e.printStackTrace();     
            return false;     
        }     
    }     
         
    /**   
     * 斷開與ftp服務(wù)器連接   
     *    
     * @throws IOException   
     */    
    public boolean closeServer(){     
        try{     
            if (is != null) {     
                is.close();     
            }     
            if (os != null) {     
                os.close();     
            }     
            if (ftpClient != null) {     
                ftpClient.closeServer();     
            }     
            System.out.println("已從服務(wù)器斷開");     
            return true;     
        }catch(IOException e){     
            e.printStackTrace();     
            return false;     
        }     
    }     
         
    /**   
     * 檢查文件夾在當(dāng)前目錄下是否存在   
     * @param dir   
     * @return   
     */    
     private boolean isDirExist(String dir){     
         String pwd = "";     
         try {     
             pwd = ftpClient.pwd();     
             ftpClient.cd(dir);     
             ftpClient.cd(pwd);     
         }catch(Exception e){     
             return false;     
         }     
         return true;      
     }     
         
    /**   
     * 在當(dāng)前目錄下創(chuàng)建文件夾   
     * @param dir   
     * @return   
     * @throws Exception   
     */    
     private boolean createDir(String dir){     
         try{     
            ftpClient.ascii();     
            StringTokenizer s = new StringTokenizer(dir, "/"); //sign     
            s.countTokens();     
            String pathName = ftpClient.pwd();     
            while(s.hasMoreElements()){     
                pathName = pathName + "/" + (String) s.nextElement();     
                try {     
                    ftpClient.sendServer("MKD " + pathName + "\r\n");     
                } catch (Exception e) {     
                    e = null;     
                    return false;     
                }     
                ftpClient.readServerResponse();     
            }     
            ftpClient.binary();     
            return true;     
        }catch (IOException e1){     
            e1.printStackTrace();     
            return false;     
        }     
     }     
          
     /**   
      * ftp上傳   
      * 如果服務(wù)器段已存在名為filename的文件夾,該文件夾中與要上傳的文件夾中同名的文件將被替換   
      *    
      * @param filename 要上傳的文件(或文件夾)名   
      * @return   
      * @throws Exception   
      */    
    public boolean upload(String filename){     
        String newname = "";     
        if(filename.indexOf("/") > -1){     
            newname = filename.substring(filename.lastIndexOf("/") + 1);     
        }else{     
            newname = filename;     
        }     
        return upload(filename, newname);     
    }     
          
     /**   
      * ftp上傳   
      * 如果服務(wù)器段已存在名為newName的文件夾,該文件夾中與要上傳的文件夾中同名的文件將被替換   
      *    
      * @param fileName 要上傳的文件(或文件夾)名   
      * @param newName 服務(wù)器段要生成的文件(或文件夾)名   
      * @return   
      */    
     public boolean upload(String fileName, String newName){     
         try{     
             String savefilename = new String(fileName.getBytes("ISO-8859-1"), "GBK");      
             File file_in = new File(savefilename);//打開本地待長傳的文件     
             if(!file_in.exists()){     
                 throw new Exception("此文件或文件夾[" + file_in.getName() + "]有誤或不存在!");     
             }     
             if(file_in.isDirectory()){     
                 upload(file_in.getPath(),newName,ftpClient.pwd());     
             }else{     
                 uploadFile(file_in.getPath(),newName);     
             }     
                  
             if(is != null){     
                 is.close();     
             }     
             if(os != null){     
                 os.close();     
             }     
             return true;     
         }catch(Exception e){      
                e.printStackTrace();      
                System.err.println("Exception e in Ftp upload(): " + e.toString());      
                return false;     
         }finally{     
             try{     
                 if(is != null){     
                     is.close();     
                 }     
                 if(os != null){      
                     os.close();      
                 }     
             }catch(IOException e){     
                 e.printStackTrace();     
            }      
         }     
     }     
          
     /**   
      * 真正用于上傳的方法   
      * @param fileName   
      * @param newName   
      * @param path   
      * @throws Exception   
      */    
     private void upload(String fileName, String newName,String path) throws Exception{     
             String savefilename = new String(fileName.getBytes("ISO-8859-1"), "GBK");      
             File file_in = new File(savefilename);//打開本地待長傳的文件     
             if(!file_in.exists()){     
                 throw new Exception("此文件或文件夾[" + file_in.getName() + "]有誤或不存在!");     
             }     
             if(file_in.isDirectory()){     
                 if(!isDirExist(newName)){     
                     createDir(newName);     
                 }     
                 ftpClient.cd(newName);     
                 File sourceFile[] = file_in.listFiles();     
                 for(int i = 0; i < sourceFile.length; i++){     
                     if(!sourceFile[i].exists()){     
                         continue;     
                     }     
                     if(sourceFile[i].isDirectory()){     
                         this.upload(sourceFile[i].getPath(),sourceFile[i].getName(),path+"/"+newName);     
                     }else{     
                         this.uploadFile(sourceFile[i].getPath(),sourceFile[i].getName());     
                      }     
                    }     
             }else{     
                 uploadFile(file_in.getPath(),newName);     
             }     
             ftpClient.cd(path);     
     }     
    
    /**   
     *  upload 上傳文件   
     *    
     * @param filename 要上傳的文件名   
     * @param newname 上傳后的新文件名   
     * @return -1 文件不存在 >=0 成功上傳,返回文件的大小   
     * @throws Exception   
     */    
    public long uploadFile(String filename, String newname) throws Exception{     
        long result = 0;     
        TelnetOutputStream os = null;     
        FileInputStream is = null;     
        try {     
            java.io.File file_in = new java.io.File(filename);     
            if(!file_in.exists())     
                return -1;     
            os = ftpClient.put(newname);     
            result = file_in.length();     
            is = new FileInputStream(file_in);     
            byte[] bytes = new byte[1024];     
            int c;     
            while((c = is.read(bytes)) != -1){     
                os.write(bytes, 0, c);     
            }     
        }finally{     
            if(is != null){     
                is.close();     
            }     
            if(os != null){     
                os.close();     
            }     
        }     
        return result;     
    }     
    
    /**   
     * 從ftp下載文件到本地   
     *    
     * @param filename 服務(wù)器上的文件名   
     * @param newfilename 本地生成的文件名   
     * @return   
     * @throws Exception   
     */    
    public long downloadFile(String filename, String newfilename){     
        long result = 0;     
        TelnetInputStream is = null;     
        FileOutputStream os = null;     
        try{     
            is = ftpClient.get(filename);     
            java.io.File outfile = new java.io.File(newfilename);     
            os = new FileOutputStream(outfile);     
            byte[] bytes = new byte[1024];     
            int c;     
            while ((c = is.read(bytes)) != -1) {     
                os.write(bytes, 0, c);     
                result = result + c;     
            }     
        }catch (IOException e){     
            e.printStackTrace();     
        }finally{     
            try {     
                if(is != null){     
                        is.close();     
                }     
                if(os != null){     
                    os.close();     
                }     
            } catch (IOException e) {     
                e.printStackTrace();     
            }     
        }     
        return result;     
    }     
    
    /**   
     * 取得相對于當(dāng)前連接目錄的某個(gè)目錄下所有文件列表   
     *    
     * @param path   
     * @return   
     */    
    public List getFileList(String path){     
        List list = new ArrayList();     
        DataInputStream dis;     
        try {     
            dis = new DataInputStream(ftpClient.nameList(this.path + path));     
            String filename = "";     
            while((filename = dis.readLine()) != null){     
                list.add(filename);     
            }     
        } catch (IOException e) {     
            e.printStackTrace();     
        }     
        return list;     
    }     
    
         
    
    public static void main(String[] args){     
        FtpUtil ftp = new FtpUtil("133.224.202.2","tstbill","tstbill");     
        ftp.connectServer();     
        boolean result = ftp.upload("C:/test_why", "test_why/test");     
        System.out.println(result?"上傳成功!":"上傳失敗!");     
        List list = ftp.getFileList("test_why/test");     
        for(int i=0;i<list.size();i++){     
            String name = list.get(i).toString();     
            System.out.println(name);     
        }     
        ftp.closeServer();     
        /**   
        FTP遠(yuǎn)程命令列表   
        USER    PORT    RETR    ALLO    DELE    SITE    XMKD    CDUP    FEAT   
        PASS    PASV    STOR    REST    CWD     STAT    RMD     XCUP    OPTS   
        ACCT    TYPE    APPE    RNFR    XCWD    HELP    XRMD    STOU    AUTH   
        REIN    STRU    SMNT    RNTO    LIST    NOOP    PWD     SIZE    PBSZ   
        QUIT    MODE    SYST    ABOR    NLST    MKD     XPWD    MDTM    PROT   
        在服務(wù)器上執(zhí)行命令,如果用sendServer來執(zhí)行遠(yuǎn)程命令(不能執(zhí)行本地FTP命令)的話,所有FTP命令都要加上\r\n   
        ftpclient.sendServer("XMKD /test/bb\r\n"); //執(zhí)行服務(wù)器上的FTP命令   
        ftpclient.readServerResponse一定要在sendServer后調(diào)用   
        nameList("/test")獲取指目錄下的文件列表   
        XMKD建立目錄,當(dāng)目錄存在的情況下再次創(chuàng)建目錄時(shí)報(bào)錯(cuò)   
        XRMD刪除目錄   
        DELE刪除文件   
         */    
    }     
    
}  


下面是FtpClient類的一些介紹:

sun.net.ftp.FtpClient.,該類庫主要提供了用于建立FTP連接的類。利用這些類的方法,編程人員可以遠(yuǎn)程登錄到FTP服務(wù)器,列舉該服務(wù)器上的目錄,設(shè)置傳輸協(xié)議,以及傳送文件。FtpClient類涵蓋了幾乎所有FTP的功能,F(xiàn)tpClient的實(shí)例變量保存了有關(guān)建立"代理"的各種信息。下面給出了這些實(shí)例變量:

  public static boolean useFtpProxy
  這個(gè)變量用于表明FTP傳輸過程中是否使用了一個(gè)代理,因此,它實(shí)際上是一個(gè)標(biāo)記,此標(biāo)記若為TRUE,表明使用了一個(gè)代理主機(jī)。

  public static String ftpProxyHost
  此變量只有在變量useFtpProxy為TRUE時(shí)才有效,用于保存代理主機(jī)名。

  public static int ftpProxyPort
  此變量只有在變量useFtpProxy為TRUE時(shí)才有效,用于保存代理主機(jī)的端口地址。

  FtpClient有三種不同形式的構(gòu)造函數(shù),如下所示:

  1、public FtpClient(String hostname,int port)
   此構(gòu)造函數(shù)利用給出的主機(jī)名和端口號建立一條FTP連接。

  2、public FtpClient(String hostname)
  此構(gòu)造函數(shù)利用給出的主機(jī)名建立一條FTP連接,使用默認(rèn)端口號。

  3、FtpClient()
  此構(gòu)造函數(shù)將創(chuàng)建一FtpClient類,但不建立FTP連接。這時(shí),F(xiàn)TP連接可以用openServer方法建立。

  一旦建立了類FtpClient,就可以用這個(gè)類的方法來打開與FTP服務(wù)器的連接。類ftpClient提供了如下兩個(gè)可用于打開與FTP服務(wù)器之間的連接的方法。

  public void openServer(String hostname)
  這個(gè)方法用于建立一條與指定主機(jī)上的FTP服務(wù)器的連接,使用默認(rèn)端口號。

  public void openServer(String host,int port)
  這個(gè)方法用于建立一條與指定主機(jī)、指定端口上的FTP服務(wù)器的連接。

  打開連接之后,接下來的工作是注冊到FTP服務(wù)器。這時(shí)需要利用下面的方法。

  public void login(String username,String password)
  此方法利用參數(shù)username和password登錄到FTP服務(wù)器。使用過Intemet的用戶應(yīng)該知道,匿名FTP服務(wù)器的登錄用戶名為anonymous,密碼一般用自己的電子郵件地址。

  下面是FtpClient類所提供的一些控制命令。

  public void cd(String remoteDirectory):該命令用于把遠(yuǎn)程系統(tǒng)上的目錄切換到參數(shù)remoteDirectory所指定的目錄。
  public void cdUp():該命令用于把遠(yuǎn)程系統(tǒng)上的目錄切換到上一級目錄。
  public String pwd():該命令可顯示遠(yuǎn)程系統(tǒng)上的目錄狀態(tài)。
  public void binary():該命令可把傳輸格式設(shè)置為二進(jìn)制格式。
  public void ascii():該命令可把傳輸協(xié)議設(shè)置為ASCII碼格式。
  public void rename(String string,String string1):該命令可對遠(yuǎn)程系統(tǒng)上的目錄或者文件進(jìn)行重命名操作。

  除了上述方法外,類FtpClient還提供了可用于傳遞并檢索目錄清單和文件的若干方法。這些方法返回的是可供讀或?qū)懙妮斎搿⑤敵隽鳌O旅媸瞧渲幸恍┲饕姆椒ā?/p>

  public TelnetInputStream list()
  返回與遠(yuǎn)程機(jī)器上當(dāng)前目錄相對應(yīng)的輸入流。

  public TelnetInputStream get(String filename)
  獲取遠(yuǎn)程機(jī)器上的文件filename,借助TelnetInputStream把該文件傳送到本地。

  public TelnetOutputStream put(String filename)
  以寫方式打開一輸出流,通過這一輸出流把文件filename傳送到遠(yuǎn)程計(jì)算機(jī)



空空 2009-09-22 11:02 發(fā)表評論
]]>
javax.naming.NameNotFoundException: Name jdbc is not bound in this Contexthttp://www.tkk7.com/spark/archive/2009/09/08/294339.html空空空空Tue, 08 Sep 2009 09:47:00 GMThttp://www.tkk7.com/spark/archive/2009/09/08/294339.htmlhttp://www.tkk7.com/spark/comments/294339.htmlhttp://www.tkk7.com/spark/archive/2009/09/08/294339.html#Feedback0http://www.tkk7.com/spark/comments/commentRss/294339.htmlhttp://www.tkk7.com/spark/services/trackbacks/294339.html 啟動的時(shí)候報(bào)錯(cuò)(在項(xiàng)目目錄下,在tomcat中配置context指向項(xiàng)目目錄就沒問題,打包發(fā)布到
tomcat就報(bào)錯(cuò)了),拋的異常是:
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context

在web.xml中添加配置如下:
<resource-ref>
  <description>DB Connection</description>
  <res-ref-name>jdbc/test</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>


空空 2009-09-08 17:47 發(fā)表評論
]]>
Seam中的transaction配置問題http://www.tkk7.com/spark/archive/2009/09/07/294203.html空空空空Mon, 07 Sep 2009 09:46:00 GMThttp://www.tkk7.com/spark/archive/2009/09/07/294203.htmlhttp://www.tkk7.com/spark/comments/294203.htmlhttp://www.tkk7.com/spark/archive/2009/09/07/294203.html#Feedback1http://www.tkk7.com/spark/comments/commentRss/294203.htmlhttp://www.tkk7.com/spark/services/trackbacks/294203.html 需要在components.xml 中設(shè)置一下transaction,先引入命名空間:
 xmlns:transaction="http://jboss.com/products/seam/transaction"
 http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.0.xsd

再添加下列設(shè)置:
 <core:init transaction-management-enabled="false"/>
 <transaction:no-transaction />

報(bào)的異常如下:
ERROR SeamPhaseListener:120 - uncaught exception
java.lang.IllegalStateException: Could not start transaction
at org.jboss.seam.jsf.SeamPhaseListener.begin(SeamPhaseListener.java:592)
at org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsBeforePhase(SeamPhaseListener.java:323)
at org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseListener.java:140)
at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:114)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:222)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.UnsupportedOperationException: no transaction
at org.jboss.seam.transaction.NoTransaction.begin(NoTransaction.java:36)
at org.jboss.seam.jsf.SeamPhaseListener.begin(SeamPhaseListener.java:587)
... 37 more
11:11:07,671 ERROR SeamPhaseListener:127 - swallowing exception



空空 2009-09-07 17:46 發(fā)表評論
]]>
faces-config.xml格式問題http://www.tkk7.com/spark/archive/2009/09/03/293715.html空空空空Thu, 03 Sep 2009 03:13:00 GMThttp://www.tkk7.com/spark/archive/2009/09/03/293715.htmlhttp://www.tkk7.com/spark/comments/293715.htmlhttp://www.tkk7.com/spark/archive/2009/09/03/293715.html#Feedback0http://www.tkk7.com/spark/comments/commentRss/293715.htmlhttp://www.tkk7.com/spark/services/trackbacks/293715.html <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config
PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
                            "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>

問題如下:

嚴(yán)重: Parse Error at line 2 column 14: Document is invalid: no grammar found.
org.xml.sax.SAXParseException: Document is invalid: no grammar found.
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSA
ParseException(ErrorHandlerWrapper.java:236)
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Er
orHandlerWrapper.java:172)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError
XMLErrorReporter.java:382)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError
XMLErrorReporter.java:316)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.sca
StartElement(XMLNSDocumentScannerImpl.java:177)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSC
ntentDispatcher.scanRootElementHook(XMLNSDocumentScannerImpl.java:779)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerIm
l$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1794)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerIm
l.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(
ML11Configuration.java:834)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(
ML11Configuration.java:764)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser
java:148)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(A
stractSAXParser.java:1242)
        at org.apache.commons.digester.Digester.parse(Digester.java:1572)
        at org.apache.myfaces.config.impl.digester.DigesterFacesConfigUnmarshal
erImpl.getFacesConfig(DigesterFacesConfigUnmarshallerImpl.java:183)
        at org.apache.myfaces.config.FacesConfigurator.feedClassloaderConfigura
ions(FacesConfigurator.java:251)
        at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigura
or.java:129)
        at org.apache.myfaces.webapp.StartupServletContextListener.initFaces(St
rtupServletContextListener.java:69)
        at org.apache.myfaces.webapp.StartupServletContextListener.contextIniti
lized(StartupServletContextListener.java:52)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardConte
t.java:3764)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:
216)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBas
.java:760)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:7
0)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544

        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825

        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:71
)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:49
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.jav
:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecyc
eSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022

        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014

        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:44
)
        at org.apache.catalina.core.StandardService.start(StandardService.java:
48)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:70
)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)



空空 2009-09-03 11:13 發(fā)表評論
]]>
Oracle域用戶安裝http://www.tkk7.com/spark/archive/2009/09/02/293641.html空空空空Wed, 02 Sep 2009 10:01:00 GMThttp://www.tkk7.com/spark/archive/2009/09/02/293641.htmlhttp://www.tkk7.com/spark/comments/293641.htmlhttp://www.tkk7.com/spark/archive/2009/09/02/293641.html#Feedback0http://www.tkk7.com/spark/comments/commentRss/293641.htmlhttp://www.tkk7.com/spark/services/trackbacks/293641.html問題:
如果在域中安裝Oracle 10G,

在DataBase Configuration Assisant安裝的時(shí)候,會報(bào)一個(gè)錯(cuò)誤,提示:


ORA-24324:未初始化服務(wù)句柄
ORA-24323:不允許此值
ORA-28547:連接服務(wù)器失敗,可能是Oracle Net管理錯(cuò)誤


這是因?yàn)椋糜蛴脩舻卿浿鳈C(jī)時(shí),Oracle會把主機(jī)在域當(dāng)中的名字當(dāng)作Host名。

解決辦法:

1.將sqlnet.ora文件中的
SQLNET_AUTHENTICATION_SERVICES= (NTS) 修改為 SQLNET_AUTHENTICATION_SERVICES= (NONE)


2.將listener.ora文件中LISTENER配置節(jié)中的主機(jī)名用IP地址代替
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))

重新安裝即可



空空 2009-09-02 18:01 發(fā)表評論
]]>
主站蜘蛛池模板: 成人妇女免费播放久久久| 亚洲午夜爱爱香蕉片| 午夜免费啪视频在线观看 | 亚洲精品av无码喷奶水糖心| 国产亚洲精品一品区99热| 国产大片91精品免费观看男同| 真人做A免费观看| 成全高清在线观看免费| 四虎影视久久久免费| 亚洲欧美乱色情图片| 亚洲国产成人综合| 亚洲成色在线影院| 亚洲一区二区女搞男| 免费一级毛片在线观看| 热99re久久免费视精品频软件| 99久久久精品免费观看国产| 国产无遮挡裸体免费视频在线观看| 日本中文字幕免费看| 亚洲Av永久无码精品黑人 | 久久国产乱子精品免费女| 国产成人无码免费看片软件| 亚洲AV无码一区二区三区性色| 中文字幕在线观看亚洲视频| 91亚洲国产成人久久精品网站| 亚洲电影一区二区三区| 国产精品亚洲精品日韩已满| 国内精品99亚洲免费高清| 亚洲午夜无码片在线观看影院猛 | 在线综合亚洲欧洲综合网站| 亚洲欧洲国产成人精品| 亚洲高清无在码在线无弹窗 | 七色永久性tv网站免费看| 久久一区二区免费播放| 一级一级一级毛片免费毛片| 羞羞视频在线观看免费| 四虎影视永久在线精品免费| eeuss影院免费92242部| 青青操在线免费观看| 久久精品国产这里是免费| 一级毛片免费毛片一级毛片免费| 久久久久久成人毛片免费看|