web服务器监控(一)
程序截图

原理
定时任务,通过与监控URL建立连接来判断web服务器状态,如果异常,发送邮件通知,如果是139邮箱,同时可接收到手机短信.最终发布时使用fatjar打包,通过one-jar可以将lib打包到一个jar文件中.
?
源码
ServerMonitor
?
?AboutDialog
?
package com.gary.ui;/** * 关于 * @author gary */public class AboutDialog extends javax.swing.JDialog {private static final long serialVersionUID = 1L;public AboutDialog(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); } private void initComponents() { closeButton = new javax.swing.JButton(); titleLabel = new javax.swing.JLabel(); qqContentLabel = new javax.swing.JLabel(); qqlabel = new javax.swing.JLabel(); blogLabel = new javax.swing.JLabel(); authorContentLabel = new javax.swing.JLabel(); emailLabel = new javax.swing.JLabel(); blogContentLabel = new javax.swing.JLabel(); authorLabel = new javax.swing.JLabel(); emailContentLabel = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Server Monitor"); closeButton.setText("close"); closeButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { closeButtonActionPerformed(evt); } }); titleLabel.setText("Server Monitor V1.0"); qqContentLabel.setText("408036296"); qqlabel.setFont(new java.awt.Font("宋体", 1, 12)); qqlabel.setText("QQ:"); blogLabel.setFont(new java.awt.Font("宋体", 1, 12)); blogLabel.setText("Blog:"); authorContentLabel.setText("gary"); emailLabel.setFont(new java.awt.Font("宋体", 1, 12)); emailLabel.setText("E-mail:"); blogContentLabel.setText("http://gary0416.iteye.com/"); authorLabel.setFont(new java.awt.Font("宋体", 1, 12)); authorLabel.setText("Author:"); emailContentLabel.setText("408036296@163.com"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(50, 50, 50) .addComponent(titleLabel)) .addGroup(layout.createSequentialGroup() .addGap(10, 10, 10) .addComponent(authorLabel) .addGap(11, 11, 11) .addComponent(authorContentLabel)) .addGroup(layout.createSequentialGroup() .addGap(10, 10, 10) .addComponent(blogLabel) .addGap(25, 25, 25) .addComponent(blogContentLabel)) .addGroup(layout.createSequentialGroup() .addGap(10, 10, 10) .addComponent(emailLabel) .addGap(11, 11, 11) .addComponent(emailContentLabel)) .addGroup(layout.createSequentialGroup() .addGap(10, 10, 10) .addComponent(qqlabel) .addGap(39, 39, 39) .addComponent(qqContentLabel)) .addGroup(layout.createSequentialGroup() .addGap(80, 80, 80) .addComponent(closeButton))) .addContainerGap(14, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(10, 10, 10) .addComponent(titleLabel) .addGap(15, 15, 15) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(authorLabel) .addComponent(authorContentLabel)) .addGap(15, 15, 15) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(blogLabel) .addComponent(blogContentLabel)) .addGap(15, 15, 15) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(emailLabel) .addComponent(emailContentLabel)) .addGap(15, 15, 15) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(qqlabel) .addComponent(qqContentLabel)) .addGap(25, 25, 25) .addComponent(closeButton) .addContainerGap(16, Short.MAX_VALUE)) ); pack(); } private void closeButtonActionPerformed(java.awt.event.ActionEvent evt) { this.setVisible(false); } private javax.swing.JLabel authorContentLabel; private javax.swing.JLabel authorLabel; private javax.swing.JLabel blogContentLabel; private javax.swing.JLabel blogLabel; private javax.swing.JButton closeButton; private javax.swing.JLabel emailContentLabel; private javax.swing.JLabel emailLabel; private javax.swing.JLabel qqContentLabel; private javax.swing.JLabel qqlabel; private javax.swing.JLabel titleLabel;}