博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实习进度记录
阅读量:5885 次
发布时间:2019-06-19

本文共 3104 字,大约阅读时间需要 10 分钟。

第一天实习:组件开发初探

    我的第一个实习任务,是基于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只使用了少量的方法,即实现了大部分数据库操作。

    具体操作教程见:

 

    摘抄三:

    随机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等比较少用。

 

第三天实习:DWR实现异步

今天,为appcan做好的webapp页面设计业务类,并通过DWR提供给页面进行异步调用。

网上一大堆记录DWR使用的博文基本上都是误导人的,其中,最重要的一点:engine.js和util.js必须自己手动导入到项目的dwr文件夹下,不然dwr不生效。

具体步骤,另开一篇博文详细记录: 

 

转载地址:http://pklix.baihongyu.com/

你可能感兴趣的文章
MVC在添加控制器的时候发现没有添加的选项了?肿么办?
查看>>
Android AndroidManifest.xml配置文件
查看>>
[原创]自定义BaseAcitivity的实现,统一activity的UI风格样式
查看>>
C# LDAP认证登录
查看>>
spark源码 hashpartitioner
查看>>
Vue文件跳转$router传参数
查看>>
gitlab简单使用教程【转】
查看>>
《荣枯鉴》闻达卷二
查看>>
Java 8 新特性-菜鸟教程 (0) -Java 8 新特性
查看>>
使用R语言的RTCGA包获取TCGA数据--转载
查看>>
Android studio 3+版本apk安装失败问题
查看>>
PostgreSQL性能极限
查看>>
从舌绛如火说开去
查看>>
Windows下安装Eric5时出现的“Sorry, please install QtHelp.”问题解决办法
查看>>
[置顶] ARM指令集和常用寄存器
查看>>
socket连接和http连接的区别
查看>>
U盘安装SLES的方法
查看>>
ANDROID (eclipse)开发常见问题及解决办法汇总
查看>>
The connection to adb is down, and a severe error has occured. 问题解决
查看>>
在Jenkins中配置运行远程shell命令
查看>>