隨筆-153  評論-235  文章-19  trackbacks-0
           
          1.    encode.html
          <script language="JavaScript">
          document.write(encodeURI('http:
          //www.aygfsteel.com/chenlb/abc 中文'));
          </script>

          2.
          decode.jsp

                  
          /*
                   * <script language="JavaScript">
                   * document.write(encodeURI('
          http://www.aygfsteel.com/chenlb/abc 中文'));
                   * </script>
                   
          */
                  String url 
          = "http://www.aygfsteel.com/chenlb/abc%20%E4%B8%AD%E6%96%87";
                  
          try {
                      System.out.println(URLDecoder.decode(url, 
          "UTF-8"));
                      System.out.println(URLDecoder.decode(url, 
          "GBK"));//亂碼
                  } catch (UnsupportedEncodingException e) {
                      e.printStackTrace();
                  }
                  

          posted @ 2007-10-13 21:27 流浪汗 閱讀(9859) | 評論 (6)編輯 收藏

               用了svn管理源碼已經好久了,但久了沒有配置也忘了,今天有同學問我svn怎么安裝配置,一時間命令忘記了。找了下文檔,還是可以把它搭起來,為了方便以后查閱,blog記錄下。

          下載
          svn-1.4.0-setup.exe(服務器)
          TortoiseSVN-1.4.3.8645-win32-svn-1.4.3.msi(客戶端)
          LanguagePack-1.4.3.8645-win32-zh_CN.exe(客戶端中文包)

          1.安裝
          安裝服務器(svn-1.4.0-setup.exe)和客戶端(TortoiseSVN-1.4.3.8645-win32-svn-1.4.3.msi),按照提示即可。

          2.創建資源庫

          svnadmin create d:/svnroot/repos

          3.運行svn服務
          svnserve -d -r d:/svnroot

          4.授權
          進入d:/svnroot/repos目錄下的conf目錄,打開svnserve.conf,去掉anon-access = read前面的#號注釋,最好anon-access = read前沒有空格也去掉,然后把anon-access = read改為anon-access = none,意思是說沒有用戶名與密碼的不能讀寫,同樣地把auth-access = write和password-db = passwd 去注釋(和前面的空格)

          5.設置密碼
          打開conf/passwd文件,在文件尾加如下:
          user_name = your_password

          6.導入
          右擊你待導入的目錄TortoiseSVN->Import(導入)...,然后URL里輸入svn://localhost/repos即可。

          7.檢出項目
          右擊一個新的目錄(待存放的項目的目錄)SVN Check Out(檢出)...,然后URL里輸入svn://localhost/repos即可。完成后,這個新的目錄左下角有一個綠色的鉤。
          posted @ 2007-10-09 22:05 流浪汗 閱讀(642) | 評論 (0)編輯 收藏
               前幾天開始寫代碼,在weblogic 8.1.4上用hibernate3寫hql語句,hql語句中出現有實體屬性名(而不表字段名,兩個不一樣),竟然報錯說表中沒有這個字段,同時出現org.hibernate.hql.ast.HqlToken異常。郁悶,于是網上搜索下,說是weblogic 8.1.4 與 hibernate3沖突。都用了antlr.jar。

          多謝 蹣跚而行的博客 http://blog.chinajavaworld.com/entry.jspa?id=829

          轉載他的

          ClassNotFoundException: org.hibernate.hql.ast.HqlToken 錯誤weblogic異常退出。
          原因:
          Hibernate3.0 采用新的基于ANTLR的HQL/SQL查詢翻譯器,在Hibernate的配置文件中,hibernate.query.factory_class屬性用來選擇查詢翻譯器。
          (1)選擇Hibernate3.0的查詢翻譯器:
          hibernate.query.factory_class= org.hibernate.hql.ast.ASTQueryTranslatorFactory
          (2)選擇Hibernate2.1的查詢翻譯器
          hibernate.query.factory_class= org.hibernate.hql.classic.ClassicQueryTranslatorFactory
          為了使用3.0的批量更新和刪除功能,只能選擇(1)否則不能解釋批量更新的語句,當使用的時候出現了不支持條件輸入中文的情況。選擇(2)可以支持輸入中文,但沒法解釋批量更新語句了
          在hibernate3中需要用到antlr,然而這個包在weblogic.jar中已經包含了antrl類庫,就會產生一些類加載的錯誤,無法找到在war或者ear中的hibernate3.jar。
          出現這個錯誤之后,antlr會調用System.exit(),這樣weblogic就會中止服務。
          解決方法:
          1.是在hibernate.properties文件中增加屬性:hibernate.query.factory_class,屬性的值是org.hibernate.hql.classic.ClassicQueryTranslatorFactory,這樣就可以解決問題了。
          但是部分功能會有問題,譬如
          但本系在批量刪除和更新會有問題,本系統不采用
          2.將antlr-2.7.5H3.jar到Weblogic的pre_Classpath :用WinRar或Winzip打開C:\bea\weblogic81\server\lib\weblogic.jar 刪除里面的antlr目錄, 然后再antlr-2.7.5H3.jar放在weblogic.jar的同一目錄(注:替換之后沒做做過嚴格測試,尚不知是否有后遺癥)
          3. 1、拷貝Hibernate3里帶的包antlr-2.7.5H3.jar到%WL_HOME%\server\lib下
          2、修改% mydomain% \ startWebLogic.cmd :
          在set CLASSPATH之前加上下面一句:
          set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.5H3.jar;
          在set CLASSPATH之后加上下面一句:
          set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%
          一切OK!
          具體原因可參照此頁:http://dev2dev.bea.com/blog/pmalani/archive/2005/07/configuring_web.html

           

          我用antlr-2.7.6.jar可以,我用的hibernate3.2.3ga
          posted @ 2007-10-07 16:37 流浪汗 閱讀(1226) | 評論 (0)編輯 收藏
                實驗室機房里安裝的Weblogic 每次想打開網頁看一下時都說連接不上,說頁面打不開。最后得出原因是:過久了Web服務就關閉了,遠程連下機器Web服務才開,每次都要這樣遠程鏈下機器,真煩,想到Windows服務方式運行不會這樣。于是就找了下。今天終于找到了,^_^
                 
          D:\bea\user_projects\domains\mydomain目錄下的installService.cmd文件中的:runAdmin下面的內容
          1.
          set WLS_USER=weblogic
          set WLS_PW
          =
           
          改為
          set WLS_USER=weblogic
          set WLS_PW
          =weblogic

          2.
          set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -classpath \"%CLASSPATH%\" -Dweblogic.Name=%SERVER_NAME% -Dweblogic.management.username=%WLS_USER% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy=\"%WL_HOME%\server\lib\weblogic.policy\" weblogic.Server"

          改為

          set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -classpath \"%CLASSPATH%\" -Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server"

          雙擊installService.cmd,就OK了
          注意防火墻要允許7001端口

          非常感謝囫圇不吞棗
          的博客 http://blog.sina.com.cn/s/blog_3ec64d78010005wu.html

          ^_^

          posted @ 2007-10-06 23:02 流浪汗 閱讀(1105) | 評論 (1)編輯 收藏

          前幾天用spring+hibernate+struts寫了個增/刪/改/查的例子。調試期間問題就來了,當查詢結果翻頁好幾次就沒N久沒有響應了。最后控制報錯。網上查了,它說數據庫連接(池)問題。

          出現錯誤如下:

          <2007-9-30 下午120303 CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteThread: '13' for queue: 'weblogic.kernel.Default' has been busy for "901" seconds working on the request "Http Request: /admin/school.do", which is more than the configured time (StuckThreadMaxTime) of "600" seconds.>

          先說下我配置

          1.環境:

          spring 2.0.6,hibernate 3.2.3,struts 1.2.9,oracle 10.2,weblogic 8.1.4

          jdbc是ojdbc14.jar

          2.連接池用DBCP

          <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">   
              
          <property name="driverClassName" value="${jdbc.driverClassName}"/>   
              
          <property name="url" value="${jdbc.url}"/>   
              
          <property name="username" value="${jdbc.username}"/>   
              
          <property name="password" value="${jdbc.password}"/>   
          bean>   

          3.分頁方法(參考springside的),此類繼承HibernateDaoSupport
          public Page listByPage(Class entityClass, int pageNo, int pageSize, List criterions, List orders) {    
              Criteria criteria 
          = createCriteria(entityClass, criterions);    
              CriteriaImpl impl 
          = (CriteriaImpl) criteria;    
             
              
          // 先把Projection和OrderBy條件取出來,清空兩者來執行Count操作    
              Projection projection = impl.getProjection();    
              
          //獲取總記錄數    
              int totalCount = ((Integer) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();    
             
                  
              
          if(totalCount < 1) {    
                  
          return new Page();    
              }    
                  
              
          //加排序    
              if(orders != null) {    
                  
          for(int i=0; i 
                      criteria.addOrder((Order) orders.get(i));    
                  }    
              }    
              
          //原來的投影    
              criteria.setProjection(projection);    
              
          int startIndex = Page.getStartOfPage(pageNo, pageSize);    
              
          //取得結果    
              List list = criteria.setFirstResult(startIndex).setMaxResults(pageSize).list();    
                  
              
          return new Page(startIndex, totalCount, pageSize, list);    
          }    
             
          public Criteria createCriteria(Class entityClass, List criterions) {    
              Criteria criteria 
          = getSession().createCriteria(entityClass);    
              
          if(criterions != null) {    
                  
          for(int i=0; i 
                      criteria.add((Criterion) criterions.get(i));    
                  }    
              }    
                  
              
          return criteria;    
          }   

          另外,沒有用OpenSessionInViewFilter,struts與spring的整合:DelegatingRequestProcessor、action path與bean name同名。

           

          翻頁不過10次,服務器就沒響應了,最后出現上面的錯誤的了。

          剛用weblogic,也剛用ssh套餐。郁悶。

          前天解決了。

          問題解決,問題的原因是數據庫連接耗盡,我用HiberanteDaoSupport的getSession()方法取得Session后沒有釋放Session。

          出問題的代碼處(紅色部分):

          public Criteria createCriteria(Class entityClass, List criterions) {        
              Criteria criteria 
          = getSession().createCriteria(entityClass);        
              
          if(criterions != null) {        
                  
          for(int i=0; i     
                      criteria.add((Criterion) criterions.get(i));        
                  }        
              }        
                      
              
          return criteria;        
          }   

          用完Session釋放后就沒事了,調用HiberanteDaoSupport的releaseSession(session);方法后即可解決。


          現在正確的代碼:


          public Page listByPage(Class entityClass, int pageNo, int pageSize, List criterions, List orders) {    
              Session session 
          = getSession();    
              
          //創建criteria    
              Criteria criteria = session.createCriteria(entityClass);    
              
          //為criteria添加criterions    
              createCriteria(entityClass, criteria, criterions);    
              CriteriaImpl impl 
          = (CriteriaImpl) criteria;    
             
              
          // 先把Projection和OrderBy條件取出來,清空兩者來執行Count操作    
              Projection projection = impl.getProjection();    
              
          //獲取總記錄數    
              int totalCount = ((Integer) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();    
             
                  
              
          if(totalCount < 1) {    
                  
          return new Page();    
              }    
                  
              
          //加排序    
              if(orders != null) {    
                  
          for(int i=0; i 
                      criteria.addOrder((Order) orders.get(i));    
                  }    
              }    
              
          //原來的投影    
              criteria.setProjection(projection);    
              
          int startIndex = Page.getStartOfPage(pageNo, pageSize);    
              
          //取得結果    
              List list = criteria.setFirstResult(startIndex).setMaxResults(pageSize).list();    
              
          //釋放hiberante資源,一定要釋放,要不然就數據庫連接耗盡.    
              releaseSession(session);    
              
          return new Page(startIndex, totalCount, pageSize, list);    
          }    
             
          public Criteria createCriteria(Class entityClass, Criteria criteria, List criterions) {    
              
          if(criterions != null) {    
                  
          for(int i=0; i 
                      criteria.add((Criterion) criterions.get(i));    
                  }    
              }    
                  
              
          return criteria;    
          }   


          ^_^
          posted @ 2007-10-06 21:10 流浪汗 閱讀(6122) | 評論 (4)編輯 收藏

          今天看了javascript的書,突然有點想法,javascript處理iframe中網頁,一開始,遇到引用iframe問題,如:a.htm里有iframe為subpage.htm,在a.htm引用iframe里的文檔(即:subpage.htm)。方法如下:
          1.

          var targetDoc = window.parent.frames['targetIframe'].document;

          2.
          var targetDoc = document.getElementById('targetIframe').contentWindow.document;

          解決引用問題后,src為其它網頁時雙拒絕訪問,郁悶,baidu下才得知是跨域不用被javascript處理。郁悶,想法又能實現了。不知誰有好的建議。^_^


          我想要的效果是:自己的網頁的一個區可以顯示其它網頁(這個很重要,顯示效果就像真的在瀏覽器里,被顯示的網頁我稱:subpage),然后javascript處理下subpage,使得實現想要的效果,比如:點subpage里鏈接時alert()出一些內容,等。
          posted @ 2007-09-24 20:34 流浪汗 閱讀(2304) | 評論 (1)編輯 收藏

          1、安裝好weblogic8.1
          2、利用Configuration Wizard配置Domain和server,按照缺省即可

          如:
          第二部后,我機上結果:有了D:\bea\user_projects\domains\mydomain目錄其中mydomain是向導中自己寫的。然后把web應用程序放到D:\bea\user_projects\domains\mydomain\applications目錄中,applications相當于Tomcat中的webapps目錄。

          WEB-INF目錄下可以不用weblogic.xml文件,文件內容如下:
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
          <weblogic-web-app>
              
          <context-root>/WebModule1</context-root>
          </weblogic-web-app>

          如果有<context-root>/WebModule1</context-root>,WebModule1才是web應用的根地址,訪問地址就成了這樣:http://localhost:7001/WebModule1/index.jsp

          如果沒有<context-root>/WebModule1</context-root>或沒有weblogic.xml文件,訪問地址為:http://localhost:7001/blank/index.jsp
          其中blank是applications下的Web應用程序的根目錄。
          posted @ 2007-09-22 18:48 流浪汗 閱讀(5891) | 評論 (0)編輯 收藏
              我等這些裝雙系統(Windows、Linux)的人,很關心的問題是在Linux下能訪問Windows的分區。在FC4下試過,FC4訪問ntfs分區下還要打上內核補丁。FC7不用了(可能FC5就不用了)。FC7手動掛載如下:
          mount -t ntfs /dev/sda5 /mnt/win/d

          說明:我的是SATA的硬盤,所以是sda,D盤(Windows下的第二個盤塊)是5。如果不知道硬盤順序情況,用fdisk -l查看。

          1.在/root下建立winmount.sh文件(vi winmount.sh),內容如下:
          #!/bin/bash
          case $1 in
              m)
                  mount 
          -t ntfs /dev/sda5 /mnt/win/d
              ;;
              u)
                  umount 
          /mnt/win/d
              ;;
          esac


          2.分可執行權限
          chmod u+x winmount.sh

          3.讓開機自動啟動
          在/etc/rc.d/rc.local里添加如下內容:
          sh ./root/winmount.sh m

          ^_^, 好重啟后就可以了,FC7上測試通過。

          這些得益于 紅客burton的博客 http://burton.bokee.com/1627823.html




          posted @ 2007-09-10 21:58 流浪汗 閱讀(1227) | 評論 (2)編輯 收藏
              一直想在Linux下安裝視頻播放器,以年前就在FC4下安裝了mplayer,安裝了兩個星期,安裝還是沒有界面的,郁悶。N久沒有用Linux了,這學期一開始就讓Linux的課,就又用Linux了,安裝的是FC7。用了幾天決定安裝mplayer,曾在虛擬機里安裝過,但make時說我硬件不支持界面。郁悶,今晚終于把mplayer安裝上了。得益于qwent寫的安裝手冊。
          如下(我在FC7下安裝沒事,現在一邊聽歌一邊寫blog):

          在fc5中安裝mplayer,安裝借鑒了qwent的《寫給初學者的mplayer安裝過程的拾遺》。
          在www.mplayerhq.hu下載mplayer及codecs文件:
          MPlayer-1.0rc1.tar.bz2
          blue-1.6.tar.bz2
          all-20061022.tar.bz2
          windows-all-20061022.zip
          #cd /usr/src/mplayer
          #tar xjvf all-20061022.tar.bz2
          #mv all-20061022 /usr/lib/codecs
          #chmod 644 /usr/lib/codecs/*
          #chown root.root /usr/lib/codecs/*
          #unzip windows-all-20061022.zip
          #mv windows-all-20061022 /usr/lib/wincodecs
          #chmod 644 /usr/lib/wincodecs/*
          #chown root.root /usr/lib/wincodecs/*
          #tar xjvf MPlayer-1.0rc1.tar.bz2
          #cd MPlayer-1.0rc1/
          #./configure --enable-gui --enable-largefiles --enable-menu --prefix=/usr --with-codecsdir=/usr/lib/codecs/ --with-win32libdir=/usr/lib/wincodecs/ --confdir=/etc/mplayer
          #make
          #make install

          安裝后提示(我自己加的):
          *** Download skin(s) at http://www.mplayerhq.hu/dload.html
          *** for GUI, and extract to /usr/share/mplayer/skins/
          install -m 644 etc/mplayer.xpm /usr/share/pixmaps/mplayer.xpm
          install -m 644 etc/mplayer.desktop /usr/share/applications/mplayer.desktop
           
          #cd ..
          #bzip2 -cd Blue-1.6.tar.bz2|tar xvf - -C /usr/share/mplayer/skins/
          #mv /usr/share/mplayer/skins/Blue/ /usr/share/mplayer/skins/default/
          #cd /usr/share/fonts/chinese/TrueType/
          #cp ukai.ttf ~/.mplayer/subfont.ttf
           (我的上面一行出錯,說沒有那個目錄或文件,先mkdir ~/.mplayer就好了)
          桌面建立一啟動器,命令為/usr/bin/gmplayer,圖標名稱是mplayer-desktop.xpm
           
           (我的沒有出現下面錯誤,安裝Linux時選擇開發的),  ^_^  好高興
          附:
          1,make時提示:Error: X11 support required for GUI compilation.
          缺少gtk+和gtk+-devel包
          #yum install gtk+
          #yum install gtk+-devel
          2,安裝完運行程序時提示:cannot load bitmap font:/usr/share/mplayer/font/font.desc
          缺少字體文件
          在http: //www.linuxfans.org/nuke/modules.php?name=Site_Downloads&op=geninfo& did=2858下載字體文件,解壓縮后將其中一個文件夾中的文件放入/usr/share/mplayer/font/下面
          #mv font-arial-cp1250.tar.tar font-arial-cp1250.tar.bz2
          #tar xjvf font-arial-cp1250.tar.bz2
          #cd font-arial-18-cp1250/font-arial-18-cp1250/
          #cp * /usr/share/mplayer/font/
          重啟mplayer,錯誤消失。

          posted @ 2007-09-09 23:44 流浪汗 閱讀(1642) | 評論 (0)編輯 收藏
              用過慮器,但只對post有效,get方式請看。http://www.aygfsteel.com/chenlb/archive/2007/07/17/130922.html

          1.用tomcat里面的例子(在webapps\servlets-examples\WEB-INF\classes\里把filters目錄放到你的classer\下,其實只要SetCharacterEncodingFilter就可以了,在web.xml里加

          <filter>     
            
          <filter-name>Set Character Encoding</filter-name>     
            
          <filter-class>filters.SetCharacterEncodingFilter</filter-class>     
            
          <init-param>     
              
          <param-name>encoding</param-name>     
              
          <param-value>utf8</param-value>     
            
          </init-param>     
          </filter>     
           
          <filter-mapping>     
              
          <filter-name>Set Character Encoding</filter-name>     
              
          <url-pattern>/*</url-pattern>     
           
          </filter-mapping>


          2.如果用spring,用spring提供的過慮器,同樣在web.xml里加
          <filter>  
            
          <filter-name>Set Character Encoding</filter-name>  
            
          <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
            
          <init-param>  
              
          <param-name>encoding</param-name>  
              
          <param-value>utf8</param-value>  
            
          </init-param>  
          </filter>  
           
          <filter-mapping>  
              
          <filter-name>Set Character Encoding</filter-name>  
              
          <url-pattern>/*</url-pattern>  
           
          </filter-mapping>


          posted @ 2007-09-09 09:47 流浪汗 閱讀(429) | 評論 (0)編輯 收藏
          僅列出標題
          共16頁: First 上一頁 5 6 7 8 9 10 11 12 13 下一頁 Last 
          主站蜘蛛池模板: 永福县| 化州市| 家居| 枣庄市| 祁东县| 高密市| 西乌珠穆沁旗| 胶州市| 巴彦县| 乐清市| 保康县| 永德县| 通渭县| 霍林郭勒市| 察隅县| 青铜峡市| 泉州市| 寻乌县| 平原县| 万年县| 商丘市| 黄山市| 武川县| 呼图壁县| 安西县| 青州市| 峨边| 平南县| 姜堰市| 时尚| 德安县| 太谷县| 东兰县| 临泉县| 正阳县| 昂仁县| 馆陶县| 武平县| 云霄县| 铜陵市| 郓城县|