實習所得


第一天實習:組件開發初探

    我的第一個實習任務,是基於DWR和JDIY等輕量級工具,進行針對某一特定功能的組件的開發。

    接到leader下發的項目原型圖以及數據庫模型,回去后自學了PowerDesigner、Axure8的基本使用,然后基於leader給的rp圖對項目每個模塊做出進一步的分析、設計,針對每個功能模塊涉及到的數據庫表、前端交互事件、BO層接口作出初步設計,補充到RP圖上。

    leader一次下發了六個組件任務,各個任務可以獨立開發,又可以組合使用,初步計划是按照耦合度低—>高,逐個攻克。

 

第二天實習:

    任務一:

    開始着手短信組件的開發——短信組件主要包括 發送短信、發送驗證碼、核對驗證碼、群發短信等功能。

    發送短信,使用了第三方平台——中國網建短信接口平台。

    所需jar包三個:

    

    實現發送短信的功能很簡單:拼接URL,向接口平台提交發送請求即可,url中攜帶開發者在平台的注冊賬戶名、接口密鑰、發送電話號碼、短信內容   

 

參數變量 說明
Gbk編碼Url http://gbk.sms.webchinese.cn/
Utf-8編碼Url http://utf8.sms.webchinese.cn/
Uid 本站用戶名(如您無本站用戶名請先注冊)[免費注冊]
Key 注冊時填寫的接口秘鑰(可到用戶平台修改接口秘鑰)[立刻修改]
如需要加密參數,請把Key變量名改成KeyMD5,
KeyMD5=接口秘鑰32位MD5加密,大寫。
smsMob 目的手機號碼(多個手機號請用半角逗號隔開)
smsText 短信內容,最多支持400個字,普通短信70個字/條,長短信64個字/條計費

 

短信發送后返回值 說 明
-1 沒有該用戶賬戶
-2 接口密鑰不正確 [查看密鑰]
不是賬戶登陸密碼
-21 MD5接口密鑰加密不正確
-3 短信數量不足
-11 該用戶被禁用
-14 短信內容出現非法字符
-4 手機號格式不正確
-41 手機號碼為空
-42 短信內容為空
-51 短信簽名格式不正確
接口簽名格式為:【簽名內容】
-6 IP限制
大於0 短信發送數量
3.JAVA開發樣例
import java.io.UnsupportedEncodingException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;

public class SendMsg_webchinese {

public static void main(String[] args)throws Exception
{

HttpClient client = new HttpClient();
PostMethod post = new PostMethod("http://gbk.sms.webchinese.cn"); 
post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在頭文件中設置轉碼
NameValuePair[] data ={ new NameValuePair("Uid", "本站用戶名"),new NameValuePair("Key", "接口安全秘鑰"),new NameValuePair("smsMob","手機號碼"),new NameValuePair("smsText","驗證碼:8888")};
post.setRequestBody(data);

client.executeMethod(post);
Header[] headers = post.getResponseHeaders();
int statusCode = post.getStatusCode();
System.out.println("statusCode:"+statusCode);
for(Header h : headers)
{
System.out.println(h.toString());
}
String result = new String(post.getResponseBodyAsString().getBytes("gbk")); 
System.out.println(result); //打印返回消息狀態


post.releaseConnection();

}

}

 

    任務二:

    短信發送后,需要在數據庫記錄。由於是組件,所以不能使用Hibernate/Mybatis等框架,這里選用了JDIY,一款小巧而友好的持久化工具。

    JDIY的使用十分簡單:下載jar包,導入項目—>修改配置文件jdiy.xml—>在代碼中使用。

    在代碼中使用主要分兩步:首先解析配置文件,創建JDIY上下文

//下面的URL對象用於指定jdiy.xml配置文件的位置(相對於class目錄):
URL xmlLocation = Fs.getResource("jdiy.xml");
//指定您的應用程序根路徑地址(APP_ROOT),也可以直接寫絕對路徑,例如:"e:\\myjava\\jdiy-test"
String rootPath = Fs.getResource("../../").getPath();
//創建一個JDiy上下文對象:
JDiyContext jdc = JDiyContext.newInstance(xmlLocation, rootPath);

    然后,就可以獲取dao(相當於框架中的sessionTemplate),創建查詢、插入、刪除等工作了。JDIY只使用了少量的方法,即實現了大部分數據庫操作。

    具體操作教程見:http://www.jdiy.org/article.jd?smId=y0gusbjakv

 

    摘抄三:

    隨機6位數驗證碼生成:

String code=""+(1 + (int)(Math.random() * ((999999 - 1) + 1)));

 

    摘抄四:

    獲取當前時間、獲取當前時間X分鍾后時間:

Calendar calendar = Calendar.getInstance();
String curr=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());//獲取當前時間


calendar.add(Calendar.MINUTE, 2);//當前時間加2分鍾 String outdate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()); //即可得到當前時間2分鍾后時間

 

    摘抄五:

    單元測試需要3個jar包,測試注解常用@Test,運行時,測試類中@Test方法會按照定義順序執行。其他@Before等比較少用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM