java发送通知代码 java 通知

用java写一个邮件发送代码public boolean mainto()
{
boolean flag = true;
//建立邮件会话
Properties pro = new Properties();
pro.put("mail.smtp.host","smtp.qq.com");//存储发送邮件的服务器
pro.put("mail.smtp.auth","true");//通过服务器验证
Session s =Session.getInstance(pro); //根据属性新建一个邮件会话
//s.setDebug(true);
//由邮件会话新建一个消息对象
MimeMessage message = new MimeMessage(s);
//设置邮件
InternetAddress fromAddr = null;
InternetAddress toAddr = null;
try
{
fromAddr = new InternetAddress(451144426 "@qq.com");//邮件发送地址
message.setFrom(fromAddr);//设置发送地址
toAddr = new InternetAddress("12345367@qq.com");//邮件接收地址
message.setRecipient(Message.RecipientType.TO, toAddr);//设置接收地址
message.setSubject(title);//设置邮件标题
message.setText(content);//设置邮件正文
message.setSentDate(new Date()); //设置邮件日期
message.saveChanges();//保存邮件更改信息
Transport transport = s.getTransport("smtp");
transport.connect("smtp.qq.com", "451144426", "密码"); //服务器地址,邮箱账号,邮箱密码
transport.sendMessage(message, message.getAllRecipients());//发送邮件
transport.close();//关闭
}
catch (Exception e)
{
e.printStackTrace();
flag = false;//发送失败
}
return flag;
}
这是一个javaMail的邮件发送代码 , 需要一个mail.jar
如何用Java实现短信自动发送功能?Java实现短信自动发送功能主要是用httpclient实现的,要有发短信的端口 。
1、硬件设备是一个3G网卡;
2、软件方面需要sun提过的java底层通信common包;
3、此外还需要第三方库SMSLib,这个是开源项目 , 主要用于实现java发短信的功能;
主要代码如下:
HttpClient client = new HttpClient();
PostMethod post = new PostMethod(
"");
post.addRequestHeader("Content-Type",
"application/x-www-form-urlencoded;charset=utf-8");// 在头文件中设置转码
NameValuePair[] data = https://www.04ip.com/post/{ 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字节码文件(.class文件)——由解释执行器(java.exe)将字节码文件加载到java虚拟机(jvm)——字节码文件(.class)就会在java虚拟机中执行 。
Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征 。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等
java怎么给全体学生发送网站公告?加一个公告列表吧,用户登录后再首页能够看到这个列表,点击列表获取公告的详情
如何用Java实现短信自动发送功能方法一:
1.web.xml中配置listener
listener
listener-class
cn.com.jxlife.shs.web.action.csinquiry.surrender.MyListener
/listener-class
/listener
2.创建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秒后执行此任务,每次间隔2秒
//timer.schedule(new MyTask(), 1000, 2000);
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
timer.cancel();
}
}
3.创建启动的类MyTask
【java发送通知代码 java 通知】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 下实现定时工作的调度框架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 。定义一个需要时间调度的程序
package com.machome.quartz;
public class CustomJob1 {
public void onTimeWork() {
System.out.println("数据备份任务启动");
System.out.println("...");
System.out.println("数据备份任务完成");
}
}
· 4 。剩余的工作就都在spring xml文件里完成了
!-- 被调度的bean --
bean id="job1" class="com.machome.quartz.CustomJob1"/bean
!-- 定义任务对象 --
bean id="jobtask1"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
!-- 被调度的bean --
property name="targetObject"
ref bean="job1" /
/property
!-- 被调度的bean中的被调度的方法 --
property name="targetMethod"
valueonTimeWork/value
/property
/bean
!-- 定义触发对象 --
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
!-- 调度对象 --
!-- 如果将lazy-init='false'那么容器启动就会执行调度程序 --
bean id="scheduler" lazy-init="false"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean"
!-- 触发对象 --
property name="triggers"
list
ref bean="trigger1" /
/list
/property
/bean
· 5 。将spring 项目部署到TOMCAT或JBOSS服务器上
deploy项目
重启TOMCAT server
· 6 。看结果:
cron表达式参考:Quartz的cron表达式
java通知服务器,按照一定规律间隔时间向某端口发通知提供给你一个思路,可能不是最优解决方案 。使用quartz,设置时间段,比如早上7:00-12:00每2min执行一次,建立一个任务详情表(或者在你的业务表中扩展一个字段也可以),包含字段:日期,通知阶段 。任务执行逻辑:
查询当天是否有任务执行记录 , 如果没有则插入,表示当天第一次执行 。如果有,则查询当前的执行阶段是多少,比如是2min,10min等等 。。然后把当前系统时间与执行阶段做比较,如果没有到达下一个应该执行任务的阶段就直接return,不执行 。
-------------------另外quartz可以设置线程是否单例,如果上一个线程正在执行任务,那么等上一个线程关闭才会执行下一个任务 。这样就不会new很多线程出来了 。具体的可以参见quartz手册
关于java发送通知代码和java 通知的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读