java物流项目功能介绍_JAVAEE——BOS物流项目13:Quartz概述、创建定时任务、使用JavaMail发送邮件、HighCharts概述、实现区域分区分布图...

本文介绍了如何在Java物流项目中使用Quartz创建定时任务,包括Quartz的基本概念、入门案例及在BOS项目中的应用。同时讲解了使用JavaMail发送邮件的步骤,以及HighCharts的概述,特别是如何利用HighCharts实现区域分区分布图的展示。
摘要由CSDN通过智能技术生成

1 学习计划

1、Quartz概述

n Quartz介绍和下载

n 入门案例

n Quartz执行流程

n cron表达式

2、在BOS项目中使用Quartz创建定时任务

3、在BOS项目中使用JavaMail发送邮件

4、HighCharts概述

n HighCharts介绍

n 在线演示

5、基于HighCharts实现区域分区分布图

2 Quartz概述

2.1 quartz介绍和下载

官网:http://www.quartz-scheduler.org/

5d0af6ee69fcdebf6cc62660a5f75571.png

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或EJBs。Quartz的最新版本为Quartz 2.2.3。

下载压缩包:

60c51341482302a384df113eb884d9b9.png

解压压缩包:

49bce8ca3433d6571d5764115caf05ee.png

2.2 入门案例

第一步:创建maven工程,导入spring和quartz相关依赖

15ef74cb6cfabebfae493bd28bee117b.png

第二步:创建任务类

eb507f4414d4cd3b9e6eedd28db65a2c.png

第三步:在spring配置文件中配置任务类

5a9a5b944310e10d690ab9d6ab5ff33e.png

第四步:在spring配置文件中配置JobDetail

ef0eda1711841fefa372ad2ecc9c98a3.png

第五步:在spring配置文件中配置触发器

37eec9667bf829b9530cd37fc6a9ebdc.png

第六步:在spring配置文件中配置scheduler

8e602b2b87879b8a9bfd57fa29857052.png

第七步:加载spring配置文件,创建spring工厂

4a975ada85a43865cc7b021f1d86013a.png

3 在BOS项目中引入quartz

第一步:在pom.xml中引入quartz和JavaMail的依赖

b87f6f80ffc5d8887bb8b079a34ddd62.png

第二步:提供一个作业类,用于为系统管理员发送邮件

public classMailJob {

@ResourceprivateIWorkbillDao workbillDao;private String username;//发件人的邮箱账号

private String password;//密码

private String smtpServer;//服务器

publicString getUsername() {returnusername;

}public voidsetUsername(String username) {this.username =username;

}publicString getPassword() {returnpassword;

}public voidsetPassword(String password) {this.password =password;

}public voidexecute() {

System.out.println("要发邮件了。。。" + newDate());try{//查询工单类型为新单的所有工单

List list =workbillDao.findAll();if(null != list && list.size() > 0){final Properties mailProps = newProperties();

mailProps.put("mail.smtp.host", this.getSmtpServer());

mailProps.put("mail.smtp.auth", "true");

mailProps.put("mail.username", this.getUsername());

mailProps.put("mail.password", this.getPassword());//构建授权信息,用于进行SMTP进行身份验证

Authenticator authenticator = newAuthenticator() {protectedPasswordAuthentication getPasswordAuthentication() {//用户名、密码

String userName = mailProps.getProperty("mail.username");

String password= mailProps.getProperty("mail.password");return newPasswordAuthentication(userName, password);

}

};//使用环境属性和授权信息,创建邮件会话

Session mailSession =Session.getInstance(mailProps, authenticator);for(Workbill workbill : list){//创建邮件消息

MimeMessage message = newMimeMessage(mailSession);//设置发件人

InternetAddress from = new InternetAddress(mailProps.getProperty("mail.username"));

message.setFrom(from);//设置收件人

InternetAddress to = new InternetAddress("test@itcast.cn");

message.setRecipient(RecipientType.TO, to);//设置邮件标题

message.setSubject("系统邮件:新单通知");//设置邮件的内容体

message.setContent(workbill.toString(), "text/html;charset=UTF-8");//发送邮件

Transport.send(message);

}

}

}catch(Exception ex) {

ex.printStackTrace();

}

}publicString getSmtpServer() {returnsmtpServer;

}public voidsetSmtpServer(String smtpServer) {this.smtpServer =smtpServer;

}

}

第三步:在spring配置文件中配置

0/5 * * * * ?

4 Highcharts

4.1 Highcharts简介

Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。HighCharts支持的图表类型有曲线图、区域图、柱状图、饼状图、散状点图和综合图表。

基于jQuery开发一个图形报表工具插件

官网:http://www.hcharts.cn/

下载zip开发文档:

5fae100be883515ba1735b390b8daf1d.png

解压zip文件:

f20c31570d7858c74f2cf88b45310a75.png

429c1e8965d3234236e7b63a2968ab70.png

4.2 入门案例

第一步:将Highcharts相关资源文件复制到项目中

70c7331e01af9573d034fe6897d7037d.png

第二步:在页面中引入相关js文件

第三步:在页面中提供一个div,并指定id属性

be2200e0af6dd2fa1052a4171821c623.png

第四步:调用Highcharts提供的方法,动态创建图表

4111b1a2b5083c50a7a874fa93b748dc.png

5 在BOS项目中展示区域分区分布图

第一步:在subarea.jsp页面中引入Highcharts资源文件

第二步:在jsp页面中提供按钮,并提供div窗口,在这个窗口中展示图表

bcce6081ee3ec775b1bdab61b4736684.png

3352aa3df392a2b1bdb8dc2518d70164.png

第三步:定义function

functiondoShowHighcharts(){

$("#showSubareaWindow").window("open");//页面加载完成后,动态创建图表

$.post("subareaAction_findSubareasGroupByProvince.action",function(data){

$("#test").highcharts({

title: {

text:'区域分区分布图'},

series: [{

type:'pie',

name:'区域分区分布图',

data: data

}]

});

});

}

第四步:在服务端Action中提供方法

a791b38d887385d7335ee2eb1ba429ab.png

Dao代码:

@Repositorypublic class SubareaDaoImpl extends BaseDaoImpl implementsISubareaDao {public ListfindSubareasGroupByProvince() {

String hql= "SELECT r.province ,count(*) FROM Subarea s LEFT OUTER JOIN s.region r Group BY r.province";return (List) this.getHibernateTemplate().find(hql);

}

}

4457d34aa847a15cbd0542025dde4bea.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值