方法一:
在丘北等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供網(wǎng)站建設(shè)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需搭建網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)營(yíng)銷(xiāo)推廣,外貿(mào)網(wǎng)站制作,丘北網(wǎng)站建設(shè)費(fèi)用合理。
1.web.xml中配置listener
listener
listener-class
cn.com.jxlife.shs.web.action.csinquiry.surrender.MyListener
/listener-class
/listener
2.創(chuàng)建listener
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyListener implements ServletContextListener {
private Timer timer = null;
@Override
public void contextInitialized(ServletContextEvent sce) {
timer = new Timer(true);
//設(shè)置任務(wù)計(jì)劃,啟動(dòng)和間隔時(shí)間
timer.schedule(new MyTask(), 0, 3*60*1000);
//3分鐘
//timer.schedule(new MyTask(), 0, 3*60*1000);
//在1秒后執(zhí)行此任務(wù),每次間隔2秒
//timer.schedule(new MyTask(), 1000, 2000);
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
timer.cancel();
}
}
3.創(chuàng)建啟動(dòng)的類(lèi)MyTask
import java.util.Date;
import java.util.TimerTask;
public class MyTask extends TimerTask {
@Override
public void run() {
System.out.println("call at " + (new Date()));
}
}
方法二:
spring 下實(shí)現(xiàn)定時(shí)工作的調(diào)度框架quartz
· 1。從下載quartz的開(kāi)源包
quartz-1.7.3.tar.gz
3.07M
· 2。從quartz-1.7.3.tar.gz 找到quartz-1.7.3.jar,放到項(xiàng)目的classpath下
(放到webroot/WEB-INF/lib)下
· 3。定義一個(gè)需要時(shí)間調(diào)度的程序
package com.machome.quartz;
public class CustomJob1 {
public void onTimeWork() {
System.out.println("數(shù)據(jù)備份任務(wù)啟動(dòng)");
System.out.println("...");
System.out.println("數(shù)據(jù)備份任務(wù)完成");
}
}
· 4。剩余的工作就都在spring xml文件里完成了
!-- 被調(diào)度的bean --
bean id="job1" class="com.machome.quartz.CustomJob1"/bean
!-- 定義任務(wù)對(duì)象 --
bean id="jobtask1"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
!-- 被調(diào)度的bean --
property name="targetObject"
ref bean="job1" /
/property
!-- 被調(diào)度的bean中的被調(diào)度的方法 --
property name="targetMethod"
valueonTimeWork/value
/property
/bean
!-- 定義觸發(fā)對(duì)象 --
bean id="trigger1"
class="org.springframework.scheduling.quartz.CronTriggerBean"
!-- 任務(wù)對(duì)象 --
property name="jobDetail"
ref bean="jobtask1" /
/property
!-- cron表達(dá)式 --
property name="cronExpression"
value10,15,20,25,30,35,40,45,50,55 * * * * ?/value
/property
/bean
!-- 調(diào)度對(duì)象 --
!-- 如果將lazy-init='false'那么容器啟動(dòng)就會(huì)執(zhí)行調(diào)度程序 --
bean id="scheduler" lazy-init="false"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean"
!-- 觸發(fā)對(duì)象 --
property name="triggers"
list
ref bean="trigger1" /
/list
/property
/bean
· 5。 將spring 項(xiàng)目部署到TOMCAT或JBOSS服務(wù)器上
deploy項(xiàng)目
重啟TOMCAT server
· 6??唇Y(jié)果:
cron表達(dá)式參考:Quartz的cron表達(dá)式
那你要做的就是向這個(gè)URL發(fā)送數(shù)據(jù)就好,給個(gè)例子:
public???class??Httptest1??{
8??
9???????public???static???void??main(String[]?args)??{
10??
11?????????URL?url??=???null?;
12?????????HttpURLConnection?conn??=???null?;
13?????????OutputStream?outStream??=???null?;
14?????????InputStream?inStream??=???null?;
15?????????
16???????????try???{
17?????????????url??=???new??URL(?"??"?);
18?????????????conn??=??(HttpURLConnection)?url.openConnection();
19?????????????conn.setDoOutput(?true?);
20?????????????conn.setDoInput(?true?);
21??
22?????????????String?sendXml??=???"??xml?version=\?"?1.0?\?"??encoding=\?"?UTF?-?16?\?"??!DOCTYPE?SigMailCommand?SYSTEM?\?"?SigMail.dtd\?"?"?;??//?XML數(shù)據(jù)?????
23??????????????sendXml??+=???"?SigMailCommand?Name=\?"?checkuser\?"?Param?Name=\?"?domainname\?"?test.com.cn/Param?"?;
24?????????????sendXml??+=???"?Param?Name=\?"?username\?"?admin/Param/SigMailCommand?"?;
25??
26?????????????outStream??=??conn.getOutputStream();
27??
28??????????????//?準(zhǔn)備通過(guò)CONN對(duì)象寫(xiě)入XML數(shù)據(jù)?
29??????????????BufferedWriter?bw??=???new??BufferedWriter(?new??java.io.OutputStreamWriter(outStream,
30??????????????"?UTF-16?"?));
31?????????????bw.write(sendXml);
32?????????????bw.flush();
33?????????????bw.close();
34?????????????
35??????????????//?DataOutputStream?dataOutStream?=?new?DataOutputStream(outStream);
36??????????????//?dataOutStream.writeChars(xml);
37??????????????//?dataOutStream.flush();
38??????????????//?dataOutStream.close();
39?????????????
40??
41??????????????//?準(zhǔn)備通過(guò)CONN對(duì)象讀取返回的XML數(shù)據(jù)?
42??
43?????????????inStream??=??conn.getInputStream();
44?????????????StringBuffer?returnXml??=???new??StringBuffer(?""?);
45?????????????BufferedReader?rd??=???new??BufferedReader(?new??InputStreamReader(inStream,
46??????????????????????"?UTF-16?"?));
47???????????????for??(String?line??=???null?;?(line??=??rd.readLine())??!=???null?;)??{
48?????????????????returnXml.append(line);
49?????????????}?
50?????????????System.out.println(returnXml.toString());
51?????????????rd.close();
52??????????}???catch??(IOException?ex)??{
53?????????????ex.printStackTrace();
54??????????}?finally?{
55???????????????try???{
56??????????????????if??(outStream??!=???null?)
57?????????????????????outStream.close();
58??????????????????if??(inStream??!=???null?)
59?????????????????????inStream.close();
60??????????????????if??(conn??!=???null?)
61?????????????????????conn.disconnect();
62??????????????}???catch??(IOException?e)??{
63??????????????????//??TODO?自動(dòng)生成?catch?塊?
64??????????????????e.printStackTrace();
65?????????????}?
66?????????}?
67??
68?????}?
69??
70?}
Java實(shí)現(xiàn)短信自動(dòng)發(fā)送功能主要是用httpclient實(shí)現(xiàn)的,要有發(fā)短信的端口。
1、硬件設(shè)備是一個(gè)3G網(wǎng)卡;
2、軟件方面需要sun提過(guò)的java底層通信common包;
3、此外還需要第三方庫(kù)SMSLib,這個(gè)是開(kāi)源項(xiàng)目,主要用于實(shí)現(xiàn)java發(fā)短信的功能;
主要代碼如下:
HttpClient?client?=?new?HttpClient();
PostMethod?post?=?new?PostMethod(
"");
post.addRequestHeader("Content-Type",
"application/x-www-form-urlencoded;charset=utf-8");//?在頭文件中設(shè)置轉(zhuǎn)碼
NameValuePair[]?data?=?{?new?NameValuePair("sname",?"*****"),
new?NameValuePair("spwd",?"*****"),
new?NameValuePair("scorpid",?"*****"),
new?NameValuePair("sprdid",?"*****"),
new?NameValuePair("sdst",?"*****"),
new?NameValuePair("smsg",?"*****")?};
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("utf-8"));
System.out.println(result);
post.releaseConnection();
Java源程序(.java文件)——java字節(jié)碼文件(.class文件)——由解釋執(zhí)行器(java.exe)將字節(jié)碼文件加載到j(luò)ava虛擬機(jī)(jvm)——字節(jié)碼文件(.class)就會(huì)在java虛擬機(jī)中執(zhí)行。
Java是一門(mén)面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以?xún)?yōu)雅的思維方式進(jìn)行復(fù)雜的編程? ?。
Java具有簡(jiǎn)單性、面向?qū)ο?、分布式、健壯性、安全性、平臺(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn)? 。Java可以編寫(xiě)桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等
你不用去移動(dòng)單獨(dú)買(mǎi)短信網(wǎng)關(guān)接口了,找紅明國(guó)際啊,他們與中國(guó)移動(dòng)、中國(guó)聯(lián)通、中國(guó)電信服務(wù)商合作,是他們的運(yùn)營(yíng)商,并且能隨便幫你解決你說(shuō)的代碼問(wèn)題。我復(fù)制粘貼一段他們網(wǎng)站上的介紹給你:
電商平臺(tái)優(yōu)勢(shì)
(1)運(yùn)營(yíng)商直屬
本端口為運(yùn)營(yíng)商直屬,能確保穩(wěn)定性,不像非運(yùn)營(yíng)商直屬端口,容易被查封。
(2)106全網(wǎng)通道
中國(guó)移動(dòng)通道,全網(wǎng)短信通道,三大運(yùn)營(yíng)商互通,到達(dá)率最高,非常便捷迅速。
(3)獨(dú)立端口號(hào)
能給客戶(hù)開(kāi)106XXXXX的獨(dú)立端口號(hào),進(jìn)行短信發(fā)送,還可在短信上加上企業(yè)簽名,有助于企業(yè)品牌推廣,且保密性好。
(4)可深度嵌入到客戶(hù)網(wǎng)站。
能給客戶(hù)官方網(wǎng)站嵌入短信程序包,相當(dāng)于為客戶(hù)網(wǎng)站建設(shè)了短信平臺(tái),實(shí)現(xiàn)客戶(hù)網(wǎng)站自動(dòng)收發(fā)短信。即用戶(hù)手機(jī)可直接發(fā)送短信到網(wǎng)站,網(wǎng)站也可以直接發(fā)送短信到用戶(hù)。
(5)獨(dú)立的移動(dòng)商務(wù)管理平臺(tái)。
提供獨(dú)立的移動(dòng)商務(wù)客戶(hù)端管理平臺(tái),客戶(hù)可以自行管理自己短信發(fā)送,并可以在平臺(tái)上開(kāi)展短信促銷(xiāo)、活動(dòng)通知、禮品贈(zèng)送等移動(dòng)商務(wù)營(yíng)銷(xiāo)業(yè)務(wù)。
增值應(yīng)用服務(wù)舉例:
(1)會(huì)員注冊(cè)時(shí)候,短信驗(yàn)證。
(2)購(gòu)物驗(yàn)證,購(gòu)物時(shí)用短信下單,購(gòu)物時(shí)候短信驗(yàn)證,短信確認(rèn)購(gòu)物訂單。
(3)商品服務(wù)評(píng)價(jià),售后服務(wù)短信評(píng)價(jià)。
(4)購(gòu)物卡、禮品卡,提供短信購(gòu)物優(yōu)惠憑證、短信禮品領(lǐng)取。
(5)活動(dòng)通知,通過(guò)短信發(fā)布短信促銷(xiāo)活動(dòng)。
(6)投票活動(dòng),通知短信搞投票,舉辦網(wǎng)絡(luò)選秀等。
(7)短信回復(fù)網(wǎng)站,以上服務(wù)均提供上行通道用于短信回復(fù)網(wǎng)站。
你可以直接在百度上搜索紅明國(guó)際,或者紅明國(guó)際營(yíng)銷(xiāo)。
package examples;
import java.util.Scanner;
public class Entry {
public static void main(String args []) {
Scanner sc=new Scanner(System.in);
String pno,msg;
System.out.print("請(qǐng)輸入短信內(nèi)容:");
msg=sc.nextLine();
System.out.println("請(qǐng)輸入目標(biāo)手機(jī)號(hào)碼:");
pno=sc.nextLine();
ShortMesg newmsg=new ShortMesg();
newmsg.setPhoneNO(pno);
newmsg.setMessage(msg);
SendMesg send=new SendMesg(newmsg);
send.send();
}
}
class ShortMesg {
public ShortMesg() {
}
private String pno,msg;
public void setPhoneNO(String pno) {
this.pno=pno;
}
public String getPhoneNO() {
return this.pno;
}
public void setMessage( String msg) {
this.msg=msg;
}
public String getMessage() {
return this.msg;
}
}
class SendMesg {
private ShortMesg mms;
public SendMesg(ShortMesg mms) {
this.mms=mms;
}
public void send() {
System.out.println("短信內(nèi)容: "+mms.getMessage());
System.out.println("目標(biāo)手機(jī): "+mms.getPhoneNO()+"\n");
}
}
圖形界面效果圖
參考代碼
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
//窗口繼承JFrame,?實(shí)現(xiàn)了ActionListener接口
public?class?MsgFrame?extends?JFrame?implements?ActionListener?{
private?JTextField?tf;
private?JTextArea?ta;
private?JButton?jbSend;
private?static?final?String?TIPS="短信內(nèi)容不能為空";
public?MsgFrame()?{
ta?=?new?JTextArea();
ta.setText(TIPS);
ta.setEditable(false);
add(ta);
tf?=?new?JTextField(20);
JLabel?jl?=?new?JLabel("短信編輯");
jbSend?=?new?JButton("發(fā)送");
jbSend.addActionListener(this);
JPanel?jps=new?JPanel();
jps.add(jl);
jps.add(tf);
jps.add(jbSend);
add(jps,BorderLayout.SOUTH);
setSize(386,?280);//大小
setLocationRelativeTo(null);//居中
setTitle("發(fā)送短信窗口");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public?static?void?main(String[]?args)?{
SwingUtilities.invokeLater(new?Runnable()?{
public?void?run()?{
new?MsgFrame().setVisible(true);//創(chuàng)建窗口并設(shè)置可見(jiàn)
}
});
}
@Override
public?void?actionPerformed(ActionEvent?e)?{
JButton?jb=(JButton)?e.getSource();
if(jbSend==jb){//當(dāng)發(fā)送按鈕被點(diǎn)擊時(shí),進(jìn)行處理
String?text=tf.getText().trim();
if(text.isEmpty()){
JOptionPane.showMessageDialog(this,?TIPS);//如果內(nèi)容為空,那么提示
}else{
ta.append("\r\n"+text);//如果內(nèi)容不為空,那么添加到文本域
tf.setText("");//發(fā)送完成,清空文本框的內(nèi)容
}
}
}
}
當(dāng)前文章:短信訂單詳情java代碼,java生成訂單編號(hào)
轉(zhuǎn)載來(lái)源:http://muchs.cn/article6/hcjiig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、品牌網(wǎng)站建設(shè)、App開(kāi)發(fā)、軟件開(kāi)發(fā)、品牌網(wǎng)站制作、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)