?????????在《J2EE》課程實驗里寫了些jsp和servlet代碼,將遇到的一些問題和解決方法貼上,自己mark一下?&& 供大家參考

          1、jsp:usebean標簽中, 若引用的bean不存在,會自動調用默認構造器生成一個javabean實例,所以不要在servlet里再用session.getAttribute來判斷bean是否為空(因為肯定不為空),應該判斷里面的字段是否為null或為初始化狀態。

          2、jsp:usebean 的class屬性應該是類的全名(包括包名)。在前面<%@ import>中import的包,在tag里不起作用,只對jsp里面的java代碼有用,所以tag里要使用類的全名

          3、post時如果表單里有中文,會出現中文亂碼,在servlet里調用request.getParameter之前執行request.setCharacterEncoding("gb2312");就可以正確識別和顯示中文了;

          如果是url中用中文參數,如someaction.jsp?q=中文問題,則要加一個filter來setEncoding,因為post和get傳送參數的處理方式不一樣。url中包含中文參數的設置參考:http://www.itet.cn/0512456328001529/JSP/0691214511318687.html

          posted @ 2007-01-09 21:28 羅明 閱讀(1075) | 評論 (16)編輯 收藏
           

          先講講做這個小程序的動機吧,昨天看了下以前學院的新聞,沒什么更新,但發現列表很長,保留了2003年1月至今的所有新聞。

          這個新聞列表是大學期間我們了解學院信息的主要來源,都養成了每天先看新聞再看BBS的習慣。在大連實習期間更是如此,也算是產生感情了^__^,所以。。。決定把這700+新聞全部保存下來...

          需求:指定一個網址,將這個網頁和里面所有的子鏈接頁面都下載下來,保存到指定的文件夾中。

          如下圖所示:
          news.jpg


          需求有了,怎么完成呢?用迅雷下載全部鏈接?嗯,這是個好主意,(我確實也這么做了一次,連接數開得太多了,差點被封orz ),但咱們是搞軟件的@_@,這個小功能是不是寫個程序就能搞定,用Java?想到那一堆Stream的封裝(new BufferedReader(new BufferedOutputStream(new FileOutputStream(new File("blabla.html")))))...我就頭暈。

          小程序用腳本語言?應該不錯!

          Perl還是Python?。。。經過一番網上查詢論證,似乎:Perl語法復雜,但簡練,API庫也超級多;Python語法清晰易懂,有點像Java,適合開發大型應用。

          Java是我的最愛,也算熟悉了,就學點bt的吧,用Perl

          完成代碼期間主要參考了Perl文檔中URL,HTML::LinkExtor,HTTP::Request的用法,Perl中國的一篇文章《LWP與WEB的基本使用》,還占用了J2EE的上課時間來編寫程序。。。

          ?1 #
          ?2 #?Copyright?(C)?2007?羅明?<andyluo197(at)gmail.com>
          ?3 #
          ?4
          ?5 use ?strict? " vars " ;? # 嚴格遵循my?scope定義
          ?6
          ?7 use ?LWP :: Simple;
          ?8 use ?HTML :: LinkExtor;
          ?9 use ?HTTP :: Request :: Common;
          10 use ?LWP :: UserAgent;
          11 use ?URI :: URL;
          12
          13 # ?從命令行參數中取主網頁地址和保存文件夾
          14 my ? $url ? = ? $ARGV [ 0 ];?
          15 my ? $location ? = ? $ARGV [ 1 ];
          16
          17 # ?子程序,解析主網頁中的鏈接地址
          18 my ? @urls ? = ?();
          19 sub ?urlCallback
          20 {
          21 ???? my ( $tag , ? %attr )? = ? @_ ;
          22 ???? return ? if ? $tag ?ne? ' a ' ;
          23 ???? push ( @urls , ? values ? %attr );
          24 }
          25
          26 # ?用于解析鏈接的LinkExtractor
          27 my ? $p ? = ?HTML :: LinkExtor -> new( \& urlCallback);
          28
          29 # ?載入主網頁內容,及解析鏈接地址
          30 my ? $ua ? = ?LWP :: UserAgent -> new;
          31 my ? $res ? = ? $ua -> request(HTTP :: Request -> new(GET? => ? $url ) , ? sub { $p -> parse( $_ [ 0 ])});
          32
          33 # ?將鏈接的相對路徑轉換為絕對路徑
          34 my ? $base ? = ? $res -> base;
          35 @urls ? = ? map ?{ $_ ? = ?url( $_ , ? $base )? -> ? abs }? @urls ;
          36
          37 # ?將網頁寫入文件
          38 $ua -> request(GET( $url ) , ? $location ? . ? ' \\index.html ' );
          39 my ? $index ? = ? 1 ;
          40 foreach ( @urls )
          41 {
          42 ???? $ua -> request(GET( $_ ) , ? $location ? . ? ' \\ ' ? . ? $index ? . ? ' .html ' );
          43 ???? $index += 1 ;
          44 }


          主網頁保存為index.html,子網頁按1、2、3排序生成1.html、2.html等

          因為有Google Desktop,即使文件名是1.html...,搜索起來也是很方便的。也可以擴充下,將<a></a>中的新聞主題抽出來作為文件名。但這個程序對我來說已經足夠了,所以就不繼續做了。

          總的來說用Perl還是很簡單的,庫也很多,寫起來挺方便!但是要記得常翻翻Perl手冊,呵呵

          Technorati Tag :? Perl?LWP? Download? web? script

          posted @ 2007-01-03 21:00 羅明 閱讀(2654) | 評論 (15)編輯 收藏
           

          原文照抄如下,^__^

          問題:裝了Google Toolbar的用戶在網頁搜索框里點右鍵,不會出現Custom Search菜單,導致不能將“迅雷搜索功能”添加到Toolbar。

          市場需求:很多用戶都裝了google toolbar,里面有一個定制搜索的功能(Custom Search),可以將一些自己喜歡的搜索功能添加到toolbar,方便搜索,比如百度mp3搜索,天網搜索,在線字典搜索 等等。

          建議:有可能是迅雷的搜索按鈕的樣式,導致Google Toolbar不能正確識別該搜索框。希望能做稍微修改,使其支持Google Toolbar的識別,讓Google Toolbar的用戶使用迅雷更加方便,謝謝你們Excellent的產品!

          我的Email:andyluo197(AT)gmail.com

          歡迎交流!

          Technorati Tag :? 迅雷googlecustom search

          posted @ 2006-12-30 18:56 羅明 閱讀(719) | 評論 (16)編輯 收藏
           
               摘要: CSS屬性列表 及 對應的JavaScript DOM屬性映射,手冊  閱讀全文
          posted @ 2006-12-09 21:40 羅明 閱讀(1863) | 評論 (16)編輯 收藏
           

          最開始 我在程序里使用SQL訪問數據庫時,都是直接用“+”將字段值嵌到SQL中。?

          String?sql? = ? " select?s.name?from?student?s?where?s.id=' " ? + ?sId? + ? " ' ";


          后來我開始使用PreparedStatement,在SQL里使用“?”標記參數,然后用setXXX方法給參數賦值。當時只知道這樣用是因為有setDate,setTimeStamp這些用“+”連接不能直接嵌入的值。

          感覺PreparedStatement在性能方面應該也能快點,可能DBMS會重用,但不明底層原理。

          這次《數據庫實現》課程終于讓我弄懂了:每個SQL語句都要通過 語法分析 -> 生成邏輯查詢計劃 -> 邏輯優化 -> 物理優化 等步驟生成具體的執行計劃,用PreparedStatement就可以生成一個執行計劃,以后只是參數改變(相當于執行計劃的執行環境改變),前面的四個步驟也會省略,從而提高了效率。

          如果一個SQL語句要被反復多次執行,或多用戶同時操作,則應選用PreparedStatement!

          posted @ 2006-11-01 20:18 羅明 閱讀(1790) | 評論 (19)編輯 收藏
           
          在MySQL里創建外鍵時(Alter table xxx add constraint fk_xxx foreign key),提示錯誤,但只提示很簡單的信息:ERROR 1005 (HY000): Can't create table '.\env_mon\#sql-698_6.frm' (errno: 150)。根本起不到解決問題的作用。

          要看錯誤的詳細提示,可以使用命令:(在MySQL Manual里搜索“errno 150”時找到)

          SHOW ENGINE INNODB STATUS;???? //針對用INNODB存儲方式的數據庫

          在信息中有一組【LATEST FOREIGN KEY ERROR】會有最近錯誤的詳細描述和解決辦法。
          如:
          Cannot find an index in the referenced table where the referenced columns appear as the first columns, or column types in the table and the referenced table do not match for constraint.
          (譯:不能在“被reference的表”里找到包含“被reference字段”的索引,或者是兩個關聯字段類型不匹配)

          (我犯的錯誤是沒有在主表中設置主鍵-_-!,即第一種原因)
          posted @ 2006-10-06 22:53 羅明 閱讀(4753) | 評論 (18)編輯 收藏
           
          SSA41779 (WinCE).JPG

          哈哈,還有一箱酒呢!中秋節快樂!
          posted @ 2006-10-05 21:49 羅明 閱讀(497) | 評論 (0)編輯 收藏
           
               摘要: 搞笑的火星人圖解  閱讀全文
          posted @ 2006-08-28 16:18 羅明 閱讀(597) | 評論 (14)編輯 收藏
           
               摘要: Sun公司一名員工自己創作的歌,關于Java EE 5,很有意思的一首歌,程序員業余生活也可以這么豐富!  閱讀全文
          posted @ 2006-06-30 08:40 羅明 閱讀(3654) | 評論 (2)編輯 收藏
           
               摘要: Google Earth若干景點  閱讀全文
          posted @ 2006-06-20 12:28 羅明 閱讀(1445) | 評論 (0)編輯 收藏
           
          在EJB3.0代碼里直接用select new EntityClass(p.attr1,substring(p.attr2),...) .....報錯,說不能識別“(”,估計就是substring后面的“(”,難道是EJB QL沒這種語法?

          在網上找這樣的代碼或實現方法未果,查EJB 3.0規范,里面有一個EJB QL的范式描述,原來在QL里只能在where條件里使用字符串函數,在select new里估計是不行了,后來想到select new 要調用EntityClass的構造函數來構建EntityClass實例,所以考慮在EntityClass的構造方法里調用substring等方法,實踐之,執行成功,mark!

          (文章短了點,但如果能解決別人的問題,也是不錯的。post完繼續寫程序,hoho)
          posted @ 2006-05-30 22:03 羅明 閱讀(1395) | 評論 (0)編輯 收藏
           
          今天聽了余世維先生的講座,沒白排一個多小時的隊-_-!,講得比想象的要激情,話題觸及到政治、社會、國際關系、歷史。。。感覺印象比較深,我要努力的地方,主要有以下幾點(總結^_^):

          1、多涉獵各個學科知識,知識多元化。工科的多閱讀工商管理、經濟、貿易、人文等方面的書籍和雜志,不說一本一本看,也要一月讀幾篇。

          2、遇事多溝通。這也是管理的五大要素之一。前幾天因為學習忙沒有搭理項目上的“老板”,沒有聯系,這也是缺乏溝通!

          3、逆境不可怕,心態最重要,逆商是人成功的重要因素。

          4、提高素質和修養,這是我們做每件小事時都要注意的。

          5、執行力。任務發下來了,能不能保質保量按時完成,這是執行力;盡職做好工作中的每一件事,也是一種執行力;

          執行力是工作中最重要的!

          人有7次改變命運的機遇,第一次和最后一次沒有精力抓住(too naive 或 too old),中間兩次機遇錯失,其余三次機遇就看你能否抓住了。

          posted @ 2006-05-19 23:24 羅明 閱讀(1507) | 評論 (3)編輯 收藏
           
          Google Page Creator可以上傳文件,當然就可以上傳網頁了,線下編輯網頁時可以加入Google AdSense廣告的JavaScript,然后再上傳到Pages(不過這種網頁不能用Page Creator在線編輯了,每次都得上傳更新).
          posted @ 2006-04-23 22:35 羅明 閱讀(1375) | 評論 (6)編輯 收藏
           
          發信站: BBS 珞珈山水站 (Fri Apr 21 09:24:12 2006)
          1.作為遺產留個我娃
          讓go-vern-ment抽走點遺產稅
          2.3個月未登陸被系統回收 就這么個下場
          我會在死前收購QQ,然后宣布解散.以后我不能用QQ,別人也別想用
          3.帶到那邊繼續使用!
          4.讓我小子幫我24小時開機不下,弄個骷髏圖標,就OK了,嘎嘎
          5.留給我的小蜜吧,她那時才二十出頭,這也算我這個老牛對她的一點補償
          6.給我的寶寶 ,西西 讓他泡MM
          7.叫活著的朋友每天把Q掛在線上,打開自動回復:“我真的死了”
          8.此人已葬于終南山,有事請到墳前燒紙。
          9.QQ死的肯定比我早。。。
          10.逢年過節叫你娃給你燒點QQ幣啥地!!~??
          posted @ 2006-04-22 11:19 羅明 閱讀(1146) | 評論 (0)編輯 收藏
           

          昨天看了IBM Developerworks上一篇介紹WTP的教程,對照著使用WTP1.0完成一個J2EE示例書簽應用程序,服務器使用JBoss,數據庫用的是Derby,Eclipse版本3.1.1。

          在新建JBoss Server時,因為本機上已有Tomcat占用了8080端口(未啟動),所以將監聽端口由默認的8080改成了8081,結果運行服務器后:JBoss進程明明正常啟動(根據Console得出),但WTP的Servers視圖卻提示“Timeout waiting for JBOSS 3.2.3 to start. Server did not start after 50000s”,服務器的狀態也顯示Stopped。但改成默認的8080就一切正常。怎么能出這種問題呢?難道WTP就是通過查詢8080有沒有JBoss在監聽,從而判斷JBoss是否啟動成功?強烈懷疑這是一個Bug,不知道在最新版Eclipse和WTP改過來沒有

          PS: 用老版的Eclipse3.1.1來開發也是迫不得已,本來已安裝了Callisto最新完整版(Eclipse3.2M5),但在J2EE透視圖中就是看不到EJB項目分類,新建EJB項目也拋出若干個異常,看Log發現是JFace插件里拋出了NullPointerException,總之是做不下去了,不知道這樣的Callisto怎么會算MileStone,: (

          那個50000s應該是50000ms吧,50000s可是13時53分啊!^_^

          posted @ 2006-04-18 10:10 羅明 閱讀(2910) | 評論 (3)編輯 收藏
           
               摘要: 110個知名Java項目,包括項目描述和鏈接。  閱讀全文
          posted @ 2006-04-15 18:49 羅明 閱讀(18276) | 評論 (8)編輯 收藏
           
               摘要: Google 拼音:輸入法,即時收錄網上的流行詞匯,多機同步自定義詞匯和常用詞匯;Google Browser Sync:(Firefox 插件)提供Firefox網頁訪問歷史的多機共享;Google Web History:記錄你訪問過的網頁歷史。。。。。  閱讀全文
          posted @ 2006-04-13 20:01 羅明 閱讀(2109) | 評論 (2)編輯 收藏
           
               摘要: PCWorld評出的2005年100佳產品  閱讀全文
          posted @ 2006-04-13 19:31 羅明 閱讀(1417) | 評論 (0)編輯 收藏
           
          今天第一次試用了Google Pages,有100MB空間,延續了Google簡單明了的風格。制作頁面的過程也是行云流水,一氣呵成,絕對的所見即所得,n多種風格可以挑選。整個網頁,包括布局、尾注、頁眉、網頁上所有文字,都是你說了算,沒有絲毫累贅。新建頁標題名即網頁文件名,又是簡單明了,估計也更便于信息的歸類和檢索。這就是我使用的感受了,總體感覺挺好!

          目前只知道在左欄可以列出所有文章,但不知道具體分頁怎么做,莫非自己在頁尾列出各個頁號及上下頁鏈接?

          要是再加一個Google搜索欄搜索整站內容就更好了,不過自己就應該可以實現哦,just try!
          posted @ 2006-04-13 16:55 羅明 閱讀(2198) | 評論 (42)編輯 收藏
           

          預覽報表時提示無法顯示網頁,查看D:\eclipse\workspace\.metadata\.log文件后發現錯誤:
          !MESSAGE Exception occurred starting the embedded application server.
          !STACK 0
          org.apache.commons.logging.LogConfigurationException:
          org.apache.commons.logging.LogConfigurationException:
          org.apache.commons.logging.LogConfigurationException:?
          ?????Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
          ...

          搜索plugins目錄下的log文件,發現既有Log4j又有CommonsLogging,將plugins目錄下的org.apache.jakarta_log4j_logging_version.jar移出Eclipse目錄(移出Classpath),重啟動Eclipse,就可以預覽了。

          其他Web服務器不能啟動(如Eclipse的Help打不開,JBoss提示上述Log異常)的錯誤也可以參照以上方法解決。

          posted @ 2006-04-09 18:44 羅明 閱讀(6618) | 評論 (6)編輯 收藏
          僅列出標題
          共14頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
           
          主站蜘蛛池模板: 民勤县| 鲁山县| 通渭县| 许昌县| 沁阳市| 武威市| 汶上县| 灌阳县| 阿勒泰市| 鹤岗市| 隆子县| 鸡泽县| 屯门区| 同德县| 常宁市| 红安县| 大足县| 淮滨县| 江陵县| 青浦区| 沙河市| 哈巴河县| 雷波县| 三穗县| 林州市| 漾濞| 双桥区| 望城县| 石河子市| 永平县| 无为县| 揭西县| 张家川| 余姚市| 仁布县| 永清县| 安阳县| 彝良县| 延吉市| 祁阳县| 彰化县|