彩信平台实践.docx
- 文档编号:22906228
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:92
- 大小:142.84KB
彩信平台实践.docx
《彩信平台实践.docx》由会员分享,可在线阅读,更多相关《彩信平台实践.docx(92页珍藏版)》请在冰豆网上搜索。
彩信平台实践
彩信项目
目录
1背景4
2概述4
3系统结构4
3.1新建与配置项目5
3.1.1构建自己的项目5
3.1.2配置自己的工程项目的LOG4J5
3.1.3配置项目项目过滤器6
3.1.4自己工程配置文件读取类7
3.1.5项目初始化启动方法10
3.2彩信制作模块12
3.2.1制作平台的简单功能图12
3.2.2新增彩信模块13
3.2.2.1创建addMMS.jsp,用于方便用户制作彩信,把用户上传的图片,文本制作为一个简单的彩信,此界面只提供一帧彩信制作功能,请同学们实现可以制作多帧彩信的功能。
AddMMS.JSP代码如下:
13
3.2.2.2addMMSRes.jsp,用于接收用户制作彩信的资源,并把资源生产为一个完整的彩信,把彩信存的mmsRes的目录下面。
16
3.2.2.3建立存储彩信的数据库表:
20
3.2.2.4在com.imti.model建立封装彩信的body类MmsBody.java21
3.2.2.5在com.imti.mode包里面建立彩信封装类,MmsPackage.java.24
3.2.2.6在包com.imti.web里面创建类MmsMake.JAVA.用于彩信制作里面,一些彩信制作过程中的业务逻辑处理。
26
3.2.3查看彩信31
3.2.3.1查看彩信记录:
viewMMS.jsp31
3.2.3.2查看彩信:
mmsEdit.jsp34
3.2.3.3创建视图,查看一条完整彩信35
3.2.4包月用户查看35
3.2.5点播用户查看35
3.2.6下行彩信测试35
3.2.6.1下行彩信页面:
mtTest.jsp35
3.2.6.2下行测试逻辑处理页面:
mtTestRes.jsp38
3.2.6.3逻辑处理类:
mtService.JAVA39
3.2.7下行彩信统计40
3.2.8新增彩信群发任务40
3.2.8.1建立好数据库表40
3.2.8.2在制作管理平台页面上,新增addGroup.jsp。
这个页面主要方便用户预定彩信的群发任务。
定时发送某条信息。
41
3.2.8.3增加彩信群发入库过程41
3.2.8.4在MODEL包,建立类MmsGroup.java41
3.2.8.5在包service里面建立类GroupService.JAVA41
3.2.8.6新增addGroupRes.jsp,保存群发任务42
3.2.8.7学习使用JOB处理44
3.2.9查看彩信群发任务44
3.3彩信发送44
3.3.1发送设计思想44
3.3.2库表创建45
3.3.3下行彩信封装类MmsMtInfo.java46
3.3.4彩信发送业务逻辑处理类:
SendMmsServices.java47
3.4彩信的接收56
3.4.1接收类ReceiverService.JAVA56
3.4.2WEB.XML里面进行配置65
4业务处理模块66
4.1.1学习使用存储过程处理业务66
4.1.2业务处理过程参考66
Vishine短信平台(V1.0)
1背景
2概述
3系统结构
3.1新建与配置项目
3.1.1构建自己的项目
1.给自己的平台取一个名称,如我建的工程:
mmsplantform
2.构建一些常用的类包,如:
暂时我就建设了
,包名称都有特殊含义,方便自己记忆。
例如我的com.conf包里面,放置一些我们这个项目的一些配置文件读取类。
Com.imti.servlet包我放置一些初始化的servlet,业务处理servlet。
Com.imti.util包里面放置一些工具类,用于整个项目的。
3.在webRoot下面建立一些文件夹:
。
CSS文件夹放本工程的一些公共css文件。
Img放置一些图片。
JS放置一些JAVASCRIPT文件。
Logs放置一些运行时候的日志文件。
mmsRes放置一些彩信数据包。
Page放置一些JSP
3.1.2配置自己的工程项目的LOG4J
我用的Log4J是spring框架里面已经实现的类。
只要学习怎么使用,变成自己的东西。
方便日后编程,走捷径。
1.在工程的web.xml里面加上如下配置。
org.springframework.web.util.Log4jConfigServlet
2.LOG4的使用方法
privatestaticfinalLoggerlogger=Logger.getLogger(className.class);
3.1.3配置项目项目过滤器
这样就可以减少由于编码不统一造成乱码麻烦,减少我们项目代码量
1.在WEB.XML里面添加如下代码
org.springframework.web.filter.CharacterEncodingFilter
--配置过滤器,过滤字符集-->
.
3.1.4自己工程配置文件读取类
1.MmsConfigLoad.java类用于读取自己工程的配置文件。
这样,项目里面一些需要灵活配置的东西,就可以放到配置文件里面。
例如:
数据库的连接配置文件,或者一些常用的SQL。
我们工程的配置文件是在WEB-INF目录下面的:
config.properties
packagecom.conf;
importjava.io.BufferedInputStream;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.InputStream;
importjava.util.Enumeration;
importjava.util.Properties;
importorg.apache.log4j.Logger;
publicclassMmsConfigLoad{
privatestaticfinalLoggerlogger=Logger.getLogger(MmsConfigLoad.class);
static//根据key读取value
Propertiesprops;
InputStreamin;
//读取项目的配置文件到Properties
publicMmsConfigLoad(StringfilePath){
props=newProperties();
try{
in=newBufferedInputStream(newFileInputStream(filePath));
props.load(in);
in.close();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
//读取Properties里面的的属性值
publicStringgetValueByKey(Stringkey){
Stringvalue=props.getProperty(key);
returnvalue;
}
//初始化一些常用
publicvoidinitConfig(){
SysConfig.DB_DRIVER_NAME=getValueByKey("DB_DRIVER_NAME");
logger.info("DB_DRIVER_NAME:
"+SysConfig.DB_DRIVER_NAME);
SysConfig.CONNECTION_URL=getValueByKey("CONNECTION_URL");
logger.info("CONNECTION_URL:
"+SysConfig.CONNECTION_URL);
SysConfig.DB_PASS=getValueByKey("DB_PASS");
logger.info("DB_PASS:
"+SysConfig.DB_PASS);
SysConfig.DB_USER=getValueByKey("DB_USER");
logger.info("DB_USER:
"+SysConfig.DB_USER);
SysConfig.VASPID=getValueByKey("VASPID");
logger.info("VASPID:
"+SysConfig.VASPID);
}
/*
//读取properties的全部信息
publicstaticvoidreadProperties(StringfilePath){
Propertiesprops=newProperties();
try{
InputStreamin=newBufferedInputStream(newFileInputStream(
filePath));
props.load(in);
Enumerationen=props.propertyNames();
while(en.hasMoreElements()){
Stringkey=(String)en.nextElement();
Stringproperty=props.getProperty(key);
System.out.println(key+":
"+property);
}
in.close();
}catch(Exceptione){
e.printStackTrace();
}
}
*/
}
2.SysConfig.JAVA类,用于保存配置文件里面的一些信息。
packagecom.conf;
/**
*应用参数配置类完成彩信业务配置参数的配置和出始化,供业务逻辑实现过程中调用
*
*@authoryan
*
*/
publicclassSysConfig{
publicSysConfig(){}
publicstaticStringVASID="04220";
publicstaticStringVASPID="818020";
publicstaticStringSERVICE_CODE="01456";
publicstaticStringPROVISION_CMD="dgtp";
publicstaticStringWEB_ROOT_PATH="";//网站的绝对路径
publicstaticStringOP_CODE="00001";
publicstaticStringMM7_CONFIG_PATH="";
publicstaticStringCONN_CONFIG_PATH="";
publicstaticStringRESOURCE_PATH="";
publicstaticStringSAVERES_PATH;
publicstaticStringSEPARATE=",";//分隔符号
publicstaticlongSENDSLEEP=50;//睡眠时间
publicstaticStringDB_DRIVER_NAME="";
publicstaticStringCONNECTION_URL="jdbc:
oracle:
thin:
@192.168.20.3:
1521:
tw";
publicstaticStringDB_USER="mms";
publicstaticStringDB_PASS="mms";
}
3.1.5项目初始化启动方法
1.有一些类,必须在项目启动的时候,最先启动。
例如,读取项目的配置文件类。
那么我们就把需要自动启动的类,写在一个初始化的类里面。
在WEB工程里面,最简单的自动启动就是用SERVLET实现了。
我们新建类:
InitServlet.java
packagecom.imti.servlet;
importjava.util.Timer;
importjavax.servlet.ServletContext;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importorg.apache.log4j.Logger;
importcom.conf.MmsConfigLoad;
importcom.conf.SysConfig;
importcom.imti.service.SendMmsServices;
/**
*
*@authoryan
*
*/
publicclassInitServletextendsHttpServlet{
privatestaticfinalStringCONTENT_TYPE="text/html;charset=GBK";
privatestaticfinalLoggerlogger=Logger.getLogger(InitServlet.class);
publicvoidinit()throwsServletException{
ServletContextcontext=this.getServletConfig().getServletContext();
Stringpath=context.getRealPath("/");
path=path.replaceAll("\\\\","/");//把路径都改成“/”
logger.info("path:
"+path);
//String
//path="D:
/apache-tomcat-5.5.20/apache-tomcat-5.5.20/webapps/mmsIntac/";
//初始化彩信的路径
Stringmm7ConfigPath=path+"WEB-INF/mm7Config.xml";
StringconnConfigPath=path+"WEB-INF/ConnConfig.xml";
newMmsConfigLoad(path+"WEB-INF/config.properties").initConfig();//读取项目配置文件
SysConfig.WEB_ROOT_PATH=path;//项目的初始化路径
logger.info("mm7ConfigPath:
"+mm7ConfigPath);
logger.info("connConfigPath:
"+connConfigPath);
SysConfig.MM7_CONFIG_PATH=mm7ConfigPath;
SysConfig.CONN_CONFIG_PATH=connConfigPath;
/*SysConfig.RESOURCE_PATH=path+"";
ConfigBundlecf=newConfigBundle();
SysConfig.DB_DRIVER_NAME=cf.getString("DB_DRIVER_NAME");
SysConfig.CONNECTION_URL=cf.getString("CONNECTION_URL");
SysConfig.DB_USER=cf.getString("DB_USER");
SysConfig.DB_PASS=cf.getString("DB_PASS");*/
//logger.info("数据库配置初始化成功!
!
!
!
!
"+DbUtil.getConn());
Timertimer=newTimer();
timer.schedule(newSendMmsServices(),10*1000,5*1000);//在10秒后执行此任务,每次间隔5秒.
//newReceiverService().init();
logger.info("所有初始化完成,发送彩信线程启动");
}
publicvoiddestory(){
}
}
2.在WEB.XML里面进行配置自动启动
com.imti.servlet.InitServlet
3.2彩信制作模块
3.2.1制作平台的简单功能图
同学们可以参考截图,到网络上面搜索一些资源,做一个类似的界面功能树形结构.
3.2.2新增彩信模块
3.2.2.1创建addMMS.jsp,用于方便用户制作彩信,把用户上传的图片,文本制作为一个简单的彩信,此界面只提供一帧彩信制作功能,请同学们实现可以制作多帧彩信的功能。
AddMMS.JSP代码如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%>
--
@importurl("../css/im.css");
body{
margin-left:
0px;
margin-top:
0px;
margin-right:
0px;
margin-bottom:
0px;
}
.style1{
color:
#FF0000
}
-->
functionshowPicture()
{
varfile=document.getElementById("file0").value;
vard=/\.[^\.]+$/.exec(file);//取文件扩展名
varflag=0;
switch(d[0].toLowerCase())
{
case".gif":
case".bmp":
case".jpg":
case".png":
flag=1;
break;
}
if(flag==0)
{
alert("只能上传bmp,gif,jpg,png图片文件!
");
return;
}
document.getElementById("img1").src=file;
}
functionadd(){
form1.submit();
}
enctype="multipart/form-data"name="form1"> 彩信标题 业务名称 湖南晨报 点播业务 < 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1
冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。