方法一:

在丘北等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網(wǎng)站建設、做網(wǎng)站 網(wǎng)站設計制作按需搭建網(wǎng)站,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站制作,丘北網(wǎng)站建設費用合理。
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);
//設置任務計劃,啟動和間隔時間
timer.schedule(new MyTask(), 0, 3*60*1000);
//3分鐘
//timer.schedule(new MyTask(), 0, 3*60*1000);
//在1秒后執(zhí)行此任務,每次間隔2秒
//timer.schedule(new MyTask(), 1000, 2000);
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
timer.cancel();
}
}
3.創(chuàng)建啟動的類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 下實現(xiàn)定時工作的調(diào)度框架quartz
· 1。從下載quartz的開源包
quartz-1.7.3.tar.gz
3.07M
· 2。從quartz-1.7.3.tar.gz 找到quartz-1.7.3.jar,放到項目的classpath下
(放到webroot/WEB-INF/lib)下
· 3。定義一個需要時間調(diào)度的程序
package com.machome.quartz;
public class CustomJob1 {
public void onTimeWork() {
System.out.println("數(shù)據(jù)備份任務啟動");
System.out.println("...");
System.out.println("數(shù)據(jù)備份任務完成");
}
}
· 4。剩余的工作就都在spring xml文件里完成了
!-- 被調(diào)度的bean --
bean id="job1" class="com.machome.quartz.CustomJob1"/bean
!-- 定義任務對象 --
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ā)對象 --
bean id="trigger1"
class="org.springframework.scheduling.quartz.CronTriggerBean"
!-- 任務對象 --
property name="jobDetail"
ref bean="jobtask1" /
/property
!-- cron表達式 --
property name="cronExpression"
value10,15,20,25,30,35,40,45,50,55 * * * * ?/value
/property
/bean
!-- 調(diào)度對象 --
!-- 如果將lazy-init='false'那么容器啟動就會執(zhí)行調(diào)度程序 --
bean id="scheduler" lazy-init="false"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean"
!-- 觸發(fā)對象 --
property name="triggers"
list
ref bean="trigger1" /
/list
/property
/bean
· 5。 將spring 項目部署到TOMCAT或JBOSS服務器上
deploy項目
重啟TOMCAT server
· 6。看結(jié)果:
cron表達式參考:Quartz的cron表達式
那你要做的就是向這個URL發(fā)送數(shù)據(jù)就好,給個例子:
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??????????????//?準備通過CONN對象寫入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??????????????//?準備通過CONN對象讀取返回的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?自動生成?catch?塊?
64??????????????????e.printStackTrace();
65?????????????}?
66?????????}?
67??
68?????}?
69??
70?}
Java實現(xiàn)短信自動發(fā)送功能主要是用httpclient實現(xiàn)的,要有發(fā)短信的端口。
1、硬件設備是一個3G網(wǎng)卡;
2、軟件方面需要sun提過的java底層通信common包;
3、此外還需要第三方庫SMSLib,這個是開源項目,主要用于實現(xiàn)java發(fā)短信的功能;
主要代碼如下:
HttpClient?client?=?new?HttpClient();
PostMethod?post?=?new?PostMethod(
"");
post.addRequestHeader("Content-Type",
"application/x-www-form-urlencoded;charset=utf-8");//?在頭文件中設置轉(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é)碼文件加載到java虛擬機(jvm)——字節(jié)碼文件(.class)就會在java虛擬機中執(zhí)行。
Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進行復雜的編程? ?。
Java具有簡單性、面向?qū)ο蟆⒎植际健⒔研浴踩浴⑵脚_獨立與可移植性、多線程、動態(tài)性等特點? 。Java可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序等
你不用去移動單獨買短信網(wǎng)關接口了,找紅明國際啊,他們與中國移動、中國聯(lián)通、中國電信服務商合作,是他們的運營商,并且能隨便幫你解決你說的代碼問題。我復制粘貼一段他們網(wǎng)站上的介紹給你:
電商平臺優(yōu)勢
(1)運營商直屬
本端口為運營商直屬,能確保穩(wěn)定性,不像非運營商直屬端口,容易被查封。
(2)106全網(wǎng)通道
中國移動通道,全網(wǎng)短信通道,三大運營商互通,到達率最高,非常便捷迅速。
(3)獨立端口號
能給客戶開106XXXXX的獨立端口號,進行短信發(fā)送,還可在短信上加上企業(yè)簽名,有助于企業(yè)品牌推廣,且保密性好。
(4)可深度嵌入到客戶網(wǎng)站。
能給客戶官方網(wǎng)站嵌入短信程序包,相當于為客戶網(wǎng)站建設了短信平臺,實現(xiàn)客戶網(wǎng)站自動收發(fā)短信。即用戶手機可直接發(fā)送短信到網(wǎng)站,網(wǎng)站也可以直接發(fā)送短信到用戶。
(5)獨立的移動商務管理平臺。
提供獨立的移動商務客戶端管理平臺,客戶可以自行管理自己短信發(fā)送,并可以在平臺上開展短信促銷、活動通知、禮品贈送等移動商務營銷業(yè)務。
增值應用服務舉例:
(1)會員注冊時候,短信驗證。
(2)購物驗證,購物時用短信下單,購物時候短信驗證,短信確認購物訂單。
(3)商品服務評價,售后服務短信評價。
(4)購物卡、禮品卡,提供短信購物優(yōu)惠憑證、短信禮品領取。
(5)活動通知,通過短信發(fā)布短信促銷活動。
(6)投票活動,通知短信搞投票,舉辦網(wǎng)絡選秀等。
(7)短信回復網(wǎng)站,以上服務均提供上行通道用于短信回復網(wǎng)站。
你可以直接在百度上搜索紅明國際,或者紅明國際營銷。
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("請輸入短信內(nèi)容:");
msg=sc.nextLine();
System.out.println("請輸入目標手機號碼:");
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("目標手機: "+mms.getPhoneNO()+"\n");
}
}
圖形界面效果圖
參考代碼
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
//窗口繼承JFrame,?實現(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)建窗口并設置可見
}
});
}
@Override
public?void?actionPerformed(ActionEvent?e)?{
JButton?jb=(JButton)?e.getSource();
if(jbSend==jb){//當發(fā)送按鈕被點擊時,進行處理
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)容
}
}
}
}
當前文章:短信訂單詳情java代碼,java生成訂單編號
轉(zhuǎn)載來源:http://chinadenli.net/article6/hcjiig.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、品牌網(wǎng)站建設、App開發(fā)、軟件開發(fā)、品牌網(wǎng)站制作、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)