隨筆-46  評論-64  文章-2  trackbacks-0
           
          ct protect -r -chmod 775 directory-or-file-name #Set directory/file/element protection.
          posted @ 2007-11-06 12:07 jht 閱讀(564) | 評論 (0)編輯 收藏

          問題,向腳步傳遞參數的時候如何取得一個一個的option

          辦法一: 就是一個一個讀 用$#取得變量個數,然后讀$1 $2 $3,不是很方便

          查了一下命令手冊:發現用getopts命令更方便,man page不是很好懂

          直接看 Example.sh:

          # !/ bin / sh

          while ?getopts?'a:b:c'?myoption
          ????
          do
          ????
          case ?$myoption? in
          ????????a)?ls?
          - al
          ????????;;????
          ????????b)?ls?
          - l?$OPTARG????
          ????????;;
          ????????c)?ls?
          - l????
          ????esac
          ????done


          用法和效果:
          Example.sh -a stringa
          就會執行 ls -al 這個命令, stringa 其實不起左右,但是這個參數還是要的

          Example.sh -b -lrt
          那就會執行 ls -l -lrt 傳進去的參數起作用了

          當然也可以這樣
          Example.sh -a 123 -b -lrt z, 這個作用就是兩個命令都執行了


          可以用變量保存這些OPTARG參數,在while循環外面接著使用

          posted @ 2007-10-30 14:46 jht 閱讀(2196) | 評論 (0)編輯 收藏
          Hibernate 提供了一個hibernate.properties的模板,稍加修改就能得到自己想要的配置效果

          下面這一段XML配置文件中關于數據庫連接方式的配置,可以在hibernate.properties中完成
          <?xml?version="1.0"?encoding="UTF-8"?>
          <!DOCTYPE?hibernate-configuration?PUBLIC
          ????????"-//Hibernate/Hibernate?Configuration?DTD?3.0//EN"
          ????????"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
          >
          <hibernate-configuration>
          ????
          <session-factory?name="sf">
          ????
          <!--?
          ????????<property?name="hibernate.connection.driver_class">
          ????????????org.hsqldb.jdbcDriver
          ????????</property>
          ????????<property?name="hibernate.connection.url">
          ????????????jdbc:hsqldb:hsql://localhost/HibernateMapping
          ????????</property>
          ????????<property?name="hibernate.connection.username">sa</property>
          ????????<property?name="hibernate.dialect">
          ????????????org.hibernate.dialect.HSQLDialect
          ????????</property>
          ?????
          -->
          ????????
          <mapping?package="cn.heapstack.models"?/>
          ????????
          <mapping?class="cn.heapstack.models.User"?/>
          ????????
          <mapping?class="cn.heapstack.models.UserInfo"?/>
          ????
          </session-factory>

          ????
          </hibernate-configuration>
          ##?HypersonicSQL
          #$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
          hibernate.dialect?org.hibernate.dialect.HSQLDialect
          hibernate.connection.driver_class?org.hsqldb.jdbcDriver
          hibernate.connection.username?sa
          hibernate.connection.password
          hibernate.connection.url?jdbc:hsqldb:hsql://localhost/HibernateMapping
          #$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$



          代碼示例:
          Configuration?cfg?=?new?AnnotationConfiguration().configure("./hibernate.cfg.xml");
          SessionFactory?sf?
          =?cfg.buildSessionFactory();
          Session?session?
          =?sf.openSession();
          org.hibernate.Transaction?tx
          =?session.beginTransaction();
          tx.commit();
          session.close();
          posted @ 2007-10-26 14:40 jht 閱讀(301) | 評論 (1)編輯 收藏

          AnyEdit??是一個挺好用的工具,在eclipse工具欄上加了幾個常用的工具按鈕,比如全部保存。
          Work Set導入導出的功能也挺有用。

          AnyEdit還有自動刪除行末空格的功能,支持tab和空格的相互轉換,支持在文本編輯狀態下高亮顯示空格。

          除此之外打開光標下所在類定義或者是文件的功能也非常實用。

          順便說一下,這個插件的作者還開發了不少有用的插件,可以從下面的鏈接里找到更詳細的信息

          地址:?http://andrei.gmxhome.de/eclipse.html

          posted @ 2007-09-29 10:20 jht 閱讀(2195) | 評論 (1)編輯 收藏
          首先看這一段簡單的log4j配置
          log4j.logger.cn=debug,stdout
          log4j.logger.cn.heapstack
          =debug,stdout
          log4j.appender.stdout
          =org.apache.log4j.ConsoleAppender
          log4j.appender.stdout.layout
          =org.apache.log4j.PatternLayout
          log4j.appender.stdout.layout.ConversionPattern
          =%d?[%t]?%-5p?%c?line.%L:?%m%n
          這個配置導致日志文件中輸出兩行相同的結果

          原因是這樣的,第二行的logger繼承自第一行的logger,兩個logger的apperder都是指向stdout
          Appender的輸出是獨立的,所以導致了我們使用如下代碼獲得logger的時候會輸出兩行

          public static Logger logger = Logger.getLogger(cn.heapstack.demopkg.Main.class);


          知道這個原因之后解決辦法也就簡單了,即我們不需要定義重復的appder,
          可以把第二行最后的stdout去掉,或者注釋掉第二行,如果輸出級別相同的話
          posted @ 2007-09-28 09:57 jht 閱讀(1316) | 評論 (0)編輯 收藏

          Download and some env configure
          ?1. download gwt version gwt-windows-1.4.60 from http://code.google.com/webtoolkit
          ?2. unzip gwt-windows-1.4.60.zip file
          ?3. set system env variable GWT_HOME to the path where you hold your gwt files
          ?4. add %GWT_HOME% to your env path

          Google Code Home > Google Web Toolkit > Getting Started Guide , it's a good place to get start.
          You could follow this guide and get a first impression of what GWT can do and how convenient it is.

          Usage
          projectCreator -eclipse MyProject
          ApplicationCreator [-eclipse projectName] [-out dir] [-overwrite] [-ignore] className

          ?

          Eclipse plugin

          cypal.studio.for.gwt
          ?1. download from http://code.google.com/p/cypal-studio/ version: cypal.studio.for.gwt-RC2.zip
          ?2. install this eclipse plugin (install it by new local site or just copy files, it's up on you )
          ?
          GWT Designer?

          ?1. download from http://www.instantiations.com/gwtdesigner/index.html
          ?2. during install you need to choose Eclipse base location and GWT_HOME location
          ?
          ?Study how to use this plugin,
          Webdemos
          http://www.instantiations.com/gwtdesigner/demos.html

          GWT desinger document homePage
          http://downloads.instantiations.com/DesignerDoc/integration/latest/docs/html/gwt/index.html

          Tutorial: Creating a Login application
          http://downloads.instantiations.com/DesignerDoc/integration/latest/docs/html/gwt/tutorial/tutorial_login.html
          ?

          posted @ 2007-09-25 15:09 jht 閱讀(465) | 評論 (1)編輯 收藏
          Groovy Eclipse Plugin 允許你編輯編譯允許groovy腳本和類。

          注意該插件正在不斷開發中,你可以查看該插件開發的最近進展: issues and bugs

          Eclipse 版本兼容性

          Eclipse 3.0 : 不能工作,因為和3.1Eclipse有依賴關系

          Eclipse 3.1 :?該插件的 1.0.1 與之不兼容,但是插件的1.0.0.20070118 版本可以正常工作

          Eclipse 3.2 : 兼容

          Eclipse 3.3 : 兼容(根據最小化的初始測試)


          通過UpdateSite安裝

          包含最近發布的站點: http://dist.codehaus.org/groovy/distributions/update/

          • 在Eclipse菜單里選擇: Help -> Software Updates -> Find and Install -> Search For New Features
          • 點擊?New Remote Site
          • 在?Name 字段里填名稱 (例如: Groovy)
          • 將上面的URL拷貝到?URL 字段里,然后點擊 OK
          • 選中新建Groovy站點然后確定
          • 在?Select the Features to Install 下選中Groovy 的選項(確保你選擇了最新的版本)點擊 Next
          • 接受,點擊?Next
          • 如何默認安裝位置可以的話,點擊 Finish (然后eclipse開始下載Plugin)
          • 如果你看到plugin為簽名的對話框彈出來了,點擊 Install or Install All

          這將下載并安裝Eclipse的Groovy插件.? 它需要重啟Eclipse來保證插件加載完成。

          如果你想嘗試最近的開發中的版本,??可以用這個站點: http://dist.codehaus.org/groovy/distributions/updateDev/

          創建一個 Groovy 工程

          按照如下步驟創建一個基本的Groovy工程:

          • 打開: File -> New -> Project
          • 選擇 Java Project?然后點 Next
          • Project Name?字段填上你工程的名字
          • Project Layout 下選擇 Create separate source and output folders?然后點擊 Finish
          • 在?Package Explorer 下找到剛剛新建的工程,右擊,?選擇 Groovy -> Add Groovy Nature

          到目前為止你有了一個src目錄,一個bin-groovy目錄,還有幾個庫文件。還有一個由Eclipse創建的bin目錄,但是因為過濾隱藏了。下面的幾步是為了讓bin-groovy目錄成為默認的輸出文件夾,并且將它和src文件夾關聯,使得調試工具知道從哪找關聯的源代碼和類。

          • Package Explorer,?右擊 "GroovyJava" 工程, 選擇: Build Path -> Configure Build Path
          • 使用?Browse?按鈕,將 Default Output Folderbin?改為 bin-groovy
          • 點擊?OK, OK
          posted @ 2007-09-23 11:19 jht 閱讀(4107) | 評論 (2)編輯 收藏
               摘要: 使用DWR做一個demo的時候,總是報出 JS Alert: Max depth exceeded when dereferencing ... function ?update()? {? // ...  閱讀全文
          posted @ 2007-08-12 17:54 jht 閱讀(4223) | 評論 (5)編輯 收藏

          這個問題出現發生的代碼如下:

          ????public?String?execute()?throws?Exception?{
          ????????
          //?String?path?=?getText("struts.multipart.saveDir");
          ????????try?{
          ????????????
          int?i?=?getMyDoc().length;

          ????????????
          for?(int?j?=?0;?j?<?i;?j++)?{
          ????????????????File?save?
          =?new?File("C:/upload/"?+?getMyDocFileName()[j]);
          ????????????????FileUtils.copyFile(getMyDoc()[j],?save);
          ????????????}

          ????????}
          ?catch?(Exception?e)?{
          ????????????
          return?ActionSupport.ERROR;
          ????????}

          ????????
          return?ActionSupport.SUCCESS;

          ????}


          這是用Struts2上傳多個文件時候的一段代碼,錯誤處理是遇到異常時return 一個ERROR,結果調用這個這個UploadAction報錯 No result defined for action .....

          應該修改成這樣,捕獲到異常時return ActionSupport.INPUT ,這樣當頁面第一次被載入時就不會報錯了

          posted @ 2007-07-26 17:29 jht 閱讀(3567) | 評論 (1)編輯 收藏
          這個問題是在使用Struts2想做一個上傳文件的頁面時候Tomcat報出來的錯誤,詳細信息如下:
          2007-7-19 21:34:09 org.apache.catalina.core.StandardWrapperValve invoke
          嚴重: Servlet.service() for servlet jsp threw exception
          java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
          ??? at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:136)
          ??? at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:476)
          ??? at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:486)
          ??? at com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:517)
          ??? at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:542)
          ??? at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:515)
          ??? at org.apache.struts2.dispatcher.Dispatcher.wrapRequest(Dispatcher.java:697)
          ??? at org.apache.struts2.dispatcher.FilterDispatcher.prepareDispatcherAndWrapRequest(FilterDispatcher.java:330)
          ??? at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:390)
          ??? at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
          ??? at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
          ??? at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
          ??? at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
          ??? at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
          ??? at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
          ??? at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
          ??? at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
          ??? at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
          ??? at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
          ??? at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
          ??? at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
          ??? at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
          ??? at java.lang.Thread.run(Thread.java:595)
          Caused by: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
          ??? at org.apache.struts2.config.BeanSelectionProvider$ObjectFactoryDelegateFactory.create(BeanSelectionProvider.java:246)
          ??? at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:134)
          ??? ... 22 more

          最后Google了不少文章,找到了原因:(缺少了必要的jar包)

          Struts2使用開源項目Apache Jakarta Commons FileUpload和內建的FileUploadInterceptor攔截器實現文件上傳,所需的jar包如下:

          commons-logging-1.1.jar
          freemarker-2.3.8.jar
          ognl-2.6.11.jar
          struts2-core-2.0.6.jar
          xwork-2.0.1.jar
          commons-io-1.3.1.jar
          commons-fileupload-1.2.jar


          參考資料:

          在Struts 2中實現文件上傳

          Struts2文件上傳



          posted @ 2007-07-19 21:57 jht 閱讀(17172) | 評論 (11)編輯 收藏
          僅列出標題
          共5頁: 上一頁 1 2 3 4 5 下一頁 
          主站蜘蛛池模板: 成武县| 元朗区| 鄂托克前旗| 巩义市| 尖扎县| 东阳市| 临沂市| 湘潭市| 淄博市| 桦川县| 肇州县| 五大连池市| 德保县| 呼伦贝尔市| 海伦市| 普安县| 镇江市| 武穴市| 泰安市| 平安县| 邳州市| 清远市| 泽库县| 宝山区| 翁源县| 贵南县| 买车| 明光市| 绥宁县| 龙山县| 布拖县| 潼南县| 黄平县| 渝北区| 奇台县| 湘潭县| 晋城| 镇原县| 儋州市| 赣榆县| 会宁县|