kitten

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            11 隨筆 :: 0 文章 :: 0 評論 :: 0 Trackbacks

          2014年8月25日 #

          Web 應用在接受表單提交的數據后都需要對其進行合法性檢查,如果表單數據不合法,請求將被駁回。類似的,當我們在編寫類的方法時,也常常需要對方法入參進行合法性檢查,如果入參不符合要求,方法將通過拋出異常的方式拒絕后續處理。舉一個例子:有一個根據文件名獲取輸入流的方法:InputStream getData(String file),為了使方法能夠成功執行,必須保證 file 入參不能為 null 或空白字符,否則根本無須進行后繼的處理。這時方法的編寫者通常會在方法體的最前面編寫一段對入參進行檢測的代碼,如下所示:

          public InputStream getData(String file) {     if (file == null || file.length() == 0|| file.replaceAll("\\s", "").length() == 0) {         throw new IllegalArgumentException("file入參不是有效的文件地址");     } … }

          類似以上檢測方法入參的代碼是非常常見,但是在每個方法中都使用手工編寫檢測邏輯的方式并不是一個好主意。閱讀 Spring 源碼,您會發現 Spring 采用一個 org.springframework.util.Assert 通用類完成這一任務。

          Assert 翻譯為中文為“斷言”,使用過 JUnit 的讀者都熟知這個概念,它斷定某一個實際的運行值和預期想一樣,否則就拋出異常。Spring 對方法入參的檢測借用了這個概念,其提供的 Assert 類擁有眾多按規則對方法入參進行斷言的方法,可以滿足大部分方法入參檢測的要求。這些斷言方法在入參不滿足要求時就會拋出 IllegalArgumentException。

           轉自:http://www.ibm.com/developerworks/cn/java/j-lo-spring-utils2/
          posted @ 2014-08-25 10:53 云③+_+輸 閱讀(217) | 評論 (0)編輯 收藏

          2014年4月11日 #

          1.用戶標識:
              $ 表示普通用戶
              #表示超級用戶

          2.注釋、命令分隔符
              #表示注釋
              ~代表用戶home路徑
              bash中每個命令或命令序列使用分號或換行來分隔
              如: $ cmd1;cmd2 
                        <=> 
            $cmd1
            $cmd2

          3.shell腳本運行
              shell腳本通常以#!起始 如:#!/bin/bash 
              腳本有2種運行方式:
              1>.作為sh的命令行參數(此時shebang行無用)
                如:$ sh script.sh #當前目錄下或路徑
              2>.作為具有可執行權限的文件(需要a.可執行權限  b.利用shebang行)
                如:a. chmod a+x script.sh
                     b. ./script.sh  # ./表當前目錄
          4.終端打印
              1>.echo 默認在調用后添加換行符
               打印文本可用雙引號、單引號、不帶引號
               不帶引號echo時,無法在顯示文本用(有空格時,空格被作為命令界定符)
               單引號時,bash不會對文本中變量($var)求值
              2>.格式化字符串printf
               printf "%-5s %-10s %-4.2f\n" 1 tom 80.3456
              3>. echo轉義換行符
                使用-n  如:echo "hello"
                使用轉義序列 如:echo -e "hello 1\t"
          posted @ 2014-04-11 00:01 云③+_+輸 閱讀(184) | 評論 (0)編輯 收藏

          2014年4月8日 #

               摘要: struts2.X配置文件默認存放路徑在/WEB-INF/classes目錄下,即將struts.xml放在src的目錄下。但是為了方便管理,開發人員把struts.xml放到其他位置,處理方法如下。首先要明白struts2加載配置文件都是從自己的jar包和/WEB-INF/classes兩個默認的位置加載的。若修改struts2.x配置文件的存放位置,在web.xml配置過慮器時,具體配置如下:...  閱讀全文
          posted @ 2014-04-08 20:45 云③+_+輸 閱讀(7323) | 評論 (0)編輯 收藏

          Struts2.0.11.1/2 + Tiles 2.0.4(是Struts2.0.11的一部分)

          Struts2.0.11.2比Struts2.0.11.1修改了一些安全性問題。

          配置根據網上的例子Tiles的時候,出現兩個比較頭疼的問題,終于弄明白錯在什么地方了。

          1. org.apache.tiles.taglib.UseAttributeTag$Tei 找不到的問題。

          10:12:31,343 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception 
          java.lang.ClassNotFoundException: org.apache.tiles.taglib.UseAttributeTag$Tei

          這個是因為在layout.jsp里面的taglib說明行里面:

          原來使用的是/WEB-INF/tiles.tld。跟當前版本不對應。 從tiles-jsp-2.0.4.jar中解壓出tiles-jsp.tld。放到合適的位置,在聲明的時候寫對就可以了。

          另外: WEB-INF/lib 添加jar:  tiles-api-2.0.6.jar tiles-core-2.0.6.jar tiles-jsp-2.0.6.jar 

          2. Attribute 'header' not found.

          10:36:05,734 ERROR [RenderTagSupport] Error during rendering 
          javax.servlet.jsp.JspException: Error executing tag: Attribute 'header' not found.

          這個問題出在struts.xml中定義的

          本文來自:http://www.xuebuyuan.com/675702.html

                    org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG 
                  
                  /WEB-INF/tiles.xml 
               

          這個tiles.xml中的DOCTYPE 說明字段是這樣的:

                 "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" 
                 "http://jakarta.apache.org/struts/dtds/tiles-config.dtd">

          這樣是錯誤的,應該寫成

                 "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" 
                "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">

          來自:
          http://www.xuebuyuan.com/675702.html

          posted @ 2014-04-08 20:24 云③+_+輸 閱讀(899) | 評論 (0)編輯 收藏

          在struts2.3.16.1下,web.xml中使用

          <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class>

          會出現
          ***********************************************************************
          *                               WARNING!!!                            *
          *                                                                     *
          * >>> FilterDispatcher <<< is deprecated! Please use the new filters! *
          *                                                                     *
          *           This can be a source of unpredictable problems!           *
          *                                                                     *
          *              Please refer to the docs for more details!             *
          *            http://struts.apache.org/2.x/docs/webxml.html            *
          *                                                                     *
          ***********************************************************************

          原因在于:


          Class FilterDispatcher Deprecated. Since Struts2.3.16.1, use StrutsPrepareAndExecuteFilter instead or StrutsPrepareFilterand StrutsExecuteFilter if needing using the ActionContextCleanUp filter in addition to this one..即,從Struts 2.1.3起已被標注為過時的,改用StrutsPrepareAndExecuteFilter

          解決方法,將web.xml上述代碼改為:

          復制代碼


          <
          filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter>
          來自:http://www.cnblogs.com/babybluevino/
          posted @ 2014-04-08 20:23 云③+_+輸 閱讀(546) | 評論 (0)編輯 收藏

          2014年1月21日 #

          1.javascript程序使用unicode字符集編寫的
          2.javascript區分大小寫,但是HTML并不區分大小寫(xhtml區分大小寫)
          3.javascript注釋使用//  或 /*  */
          4. 直接量(literal) 即程序中直接使用的數據值
              如 12 //數字
              'hello world' //字符串
          5. javascript標識符必須以字母、下劃線或美元開始
          posted @ 2014-01-21 21:57 云③+_+輸 閱讀(122) | 評論 (0)編輯 收藏

          2014年1月2日 #

          安裝流程設計器
          一、eclipse安裝插件2種方法
                  1、將相關jar復制到eclipse的plugins目錄
                  2、link方式(推薦)
                  選擇2安裝,在eclipse下新建links目錄,目錄下新建jbpm-designer3.1.3sp2.link文本文件
                  在文件中輸入path=d:/designer
                  注:path所指插件要放在一個名為eclipse的目錄下,如:designer/eclise/plugins+links+features目錄。
                  重啟即可 或 eclipse -clean
          二、檢測
              安裝成功,則在window-preferences下 看到jboss jbpm選項,
              然后再runtime location可指定jbpm套件所在位置(jbpm-jpdl-suite-3.2.3\jbpm-jpdl-3.2.3)
          posted @ 2014-01-02 10:12 云③+_+輸| 編輯 收藏

          2012年1月26日 #

          在eclipse中安裝m2eclipse
          1、help - install new software -- add --。。。。    
               sites:http://m2eclipse.sonatype.org/sites/m2e
          2、檢查安裝
               1>about eclipse - install details 
                        
                2>eclipse是否支持創建Maven項目
                   


          但是可能會有類似錯誤:
             12-1-26 下午10時48分09秒: Eclipse is running in a JRE, but a JDK is required
              Some Maven plugins may not work when importing projects or updating source folders.    
          reason:eclipse默認運行在JRE上,而m2eclipse的一些功能要走使用JDK
          resolve:eclipse.ini中,添加vm配置指向JDK:
                       -vm
                       C:\Java\jdk1.6.0_24\bin\javaw.exe
          Maven最佳實踐
          1、設置MAVEN_OPTS環境變量-- 【-Xms128m -Xmx512m】
              reason:在項目較大時,java默認內存往往不夠用,出現 java.lang.OutOfMemeoryError。
          2、配置用戶范圍的settings.xml
              將M2_HOME下的settings.xml拷貝到~/.m2下即可。
              reason:M2_HOME下的settings.xml是全局范圍的,修改會對所有用戶影響,后者影響當前用戶。
          3、不使用IDE內嵌的Maven
            

             reason:自帶的maven通常較新,有很多不穩定因素等。
          設置HTTP代理
          1、首先確認無法連接公共的Maven中央倉庫,運行命令:
              ping repo1.maven.org
             若是代理則先檢查代理是否暢通: telnet  192.168.1.111 3128 
          2、檢查完畢,編輯~/.m2/settings.xml文件 

            <proxies>

              <proxy>
                <id>my-proxy1</id>
                <active>true</active>     --  激活代理
                <protocol>http</protocol> 
                 <host> ip 地址 </host>  - 主機名
                <port>80</port>
                <username>proxyuser</username>
                <password>proxypass</password>
                <nonProxyHosts>local.net|some.host.com|*.google.com</nonProxyHosts>   -- 那些主機名不用代理,用 |  分隔,支持*通配符。
              </proxy>
             。。。。。。。。。。。。。。
            </proxies>
            注:如果聲明多個proxy,則默認第一個被激活proxy有效。
          ----------------------------------------------------------------------------------------------------------
          注:以上筆記來自 許曉斌的<<Maven實戰>>


               
             
          posted @ 2012-01-26 23:36 云③+_+輸 閱讀(501) | 評論 (0)編輯 收藏

              前言
              在做一個項目,做的很無語,項目管理很混亂,本人菜鳥一個,但是一個項目做到讓每個開發人員都抱怨,真是。。。。。和一個師兄聊了下,說:也許你可以從這個項目里了解到許多開發中需要注意的問題。就項目管理這塊,有時間看下maven吧。這就上了這條道了。
              maven 安裝(Windows 下)
            
          1、JDK安裝
                 Maven可以運行在JDK1.4及以上版本,檢查java安裝。
                 路徑:    echo %JAVA_HOME%
                 版本號: jave -version.
             2、下載Maven
                   website:http://maven.apache.org/download.html 
                   下載zip:apache-maven-3.0.4-bin.zip
                   解壓至目錄,如:D:\Develop\apache-maven-3.0.3
                   配置環境變量:
                     
                  并且在環境變量path中添加其bin(注:多個值之間要有分號隔開):  
                
          3、檢查安裝
               echo %M2_HOME%
               mvn -v
              至此,安裝完畢。
           Maven 的  ~/.m2 目錄
           
          1、  運行一個命令:mvn help:system  注:該命令會打印出所有java系統屬性和環境變量。
               此時會看到Maven下載maven-help-plugin 插件,下載到地址 Maven本地倉庫中(用戶目錄下.m2文件夾,默認的本地庫-.m2/repository).
               在用戶目錄(~) 下會看到如:C:\Users\Administrator\.m2\repository
           2、所有的maven構件都被存儲在改倉庫中,以方便重用。    
               在此目錄下: C:\Users\Administrator\.m2\repository\org\apache\maven\plugins\maven-help-plugin    會看到剛才下載的help插件。

          注:以上筆記來自 徐曉斌的<<Maven實戰>>
                  
                       
           

          posted @ 2012-01-26 22:24 云③+_+輸 閱讀(363) | 評論 (0)編輯 收藏

          僅列出標題  下一頁
          主站蜘蛛池模板: 吴桥县| 滨州市| 苍溪县| 绍兴县| 廊坊市| 游戏| 梁河县| 潞城市| 东方市| 河津市| 馆陶县| 常熟市| 玉山县| 舟山市| 固安县| 基隆市| 庆阳市| 类乌齐县| 措美县| 巨野县| 丰顺县| 姜堰市| 红桥区| 千阳县| 南康市| 东光县| 湄潭县| 荣昌县| 佛学| 富裕县| 泸定县| 环江| 江北区| 哈尔滨市| 江山市| 原阳县| 兴安县| 伊吾县| 宣化县| 手机| 辛集市|