- 浏览: 335197 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lvyuan1234:
lvyuan1234 写道lvyuan1234 写道lvyua ...
java解析mp3工具 -
lvyuan1234:
lvyuan1234 写道lvyuan1234 写道怎么一直报 ...
java解析mp3工具 -
lvyuan1234:
lvyuan1234 写道怎么一直报找不到文件?找到原因了,e ...
java解析mp3工具 -
lvyuan1234:
怎么一直报找不到文件?
java解析mp3工具 -
Cy0941:
...
org.apache.catalina.connector.RequestFacade cannot be cast to org.springframewor
程序截图
原理
定时任务,通过与监控URL建立连接来判断web服务器状态,如果异常,发送邮件通知,如果是139邮箱,同时可接收到手机短信.最终发布时使用fatjar打包,通过one-jar可以将lib打包到一个jar文件中.
源码
ServerMonitor
package com.gary.ui; /** * 主程序 * @author gary */ public class ServerMonitor { public static void main(String[] args){ MainApp frame = new MainApp(); frame.setVisible(true); } }
MainApp
package com.gary.ui; import com.gary.util.ConsoleUtil; import com.gary.util.MailUtil; import com.gary.util.StringUtil; import com.gary.util.SwingUtil; import com.gary.util.TimeUtil; import com.gary.util.URLUtil; import java.awt.AWTException; import java.awt.Dimension; import java.awt.Frame; import java.awt.SystemTray; import java.awt.Toolkit; import java.awt.TrayIcon; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; import java.io.IOException; import java.net.ConnectException; import java.net.MalformedURLException; import java.util.Timer; import java.util.TimerTask; import javax.imageio.ImageIO; /** * 主界面 * @author gary */ public class MainApp extends javax.swing.JFrame { private static final long serialVersionUID = 1L; //在IDE中调试为false,发布jar包设置为true private boolean isPublish = false; public MainApp() { initComponents(); if(isPublish){ ICO = "/computer.png"; }else{ ICO = "computer.png"; } //系统托盘图标 systemTray = SystemTray.getSystemTray(); try { if(isPublish){ trayIcon = new TrayIcon(ImageIO.read(getClass().getResource(ICO))); }else{ trayIcon = new TrayIcon(ImageIO.read(new File(ICO))); } systemTray.add(trayIcon); } catch (IOException e1) { writeToConsole(e1.getMessage()); } catch (AWTException e2) { writeToConsole(e2.getMessage()); } addWindowListener(new WindowAdapter() { @Override public void windowIconified(WindowEvent e) { // 窗口最小化时dispose该窗口 dispose(); } }); trayIcon.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { // 单击托盘窗口再现 if (e.getClickCount() == 1) setExtendedState(Frame.NORMAL); setVisible(true); } }); try { if(isPublish){ setIconImage(ImageIO.read(getClass().getResource(ICO))); }else{ setIconImage(ImageIO.read(new java.io.File(ICO))); } } catch (IOException e) { writeToConsole(e.getMessage()); } //获取屏幕尺寸对象 Dimension screen=Toolkit.getDefaultToolkit().getScreenSize(); //水平位置 int w = (screen.width - width) / 2; //垂直位置 int h = (screen.height - height) / 2; setLocation(w,h); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Service Monitor"); setSize(width, height); writeToConsole("初始化成功"); } /** * 输出到控制台 */ private void writeToConsole(String str){ ConsoleUtil.write(str); consoleText.setText(ConsoleUtil.get()); } /** * 初始化 */ private void initComponents() { jPanel1 = new javax.swing.JPanel(); userNameLabel = new javax.swing.JLabel(); smtpText = new javax.swing.JTextField(); smtpLabel = new javax.swing.JLabel(); userNameText = new javax.swing.JTextField(); passwordLabel = new javax.swing.JLabel(); passwordText = new javax.swing.JPasswordField(); senderLabel = new javax.swing.JLabel(); receiverLabel = new javax.swing.JLabel(); senderText = new javax.swing.JTextField(); mondayText = new javax.swing.JTextField(); mailSubjectLabel = new javax.swing.JLabel(); mailContextLabel = new javax.swing.JLabel(); mailSubjectText = new javax.swing.JTextField(); mailContextPane1 = new javax.swing.JScrollPane(); mailContentText = new javax.swing.JTextArea(); urlText = new javax.swing.JTextField(); urlLabel = new javax.swing.JLabel(); controlButton = new javax.swing.JButton(); intervalText = new javax.swing.JTextField(); intervalLabel = new javax.swing.JLabel(); unitLabel = new javax.swing.JLabel(); consolePane = new javax.swing.JScrollPane(); consoleText = new javax.swing.JTextArea(); clearConsoleButton = new javax.swing.JButton(); mondayLabel = new javax.swing.JLabel(); tuesdayLabel = new javax.swing.JLabel(); wednesdayLabel = new javax.swing.JLabel(); thursdayLabel = new javax.swing.JLabel(); fridayLabel = new javax.swing.JLabel(); saturdayLabel = new javax.swing.JLabel(); sundayLabel = new javax.swing.JLabel(); tuesdayText = new javax.swing.JTextField(); wednesdayText = new javax.swing.JTextField(); thursdayText = new javax.swing.JTextField(); fridayText = new javax.swing.JTextField(); saturdayText = new javax.swing.JTextField(); sundayText = new javax.swing.JTextField(); menuBar1 = new javax.swing.JMenuBar(); fileMenu = new javax.swing.JMenu(); sendTestMenuItem = new javax.swing.JMenuItem(); exitMenuItem = new javax.swing.JMenuItem(); helpMenu = new javax.swing.JMenu(); aboutMenuItem = new javax.swing.JMenuItem(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); userNameLabel.setFont(new java.awt.Font("宋体", 0, 12)); userNameLabel.setText("用户名"); jPanel1.add(userNameLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 40, -1, -1)); smtpText.setFont(new java.awt.Font("宋体", 0, 12)); smtpText.setText("mail.nou.com.cn"); jPanel1.add(smtpText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 10, 150, -1)); smtpLabel.setFont(new java.awt.Font("宋体", 0, 12)); smtpLabel.setText("SMTP服务器"); jPanel1.add(smtpLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, -1, -1)); userNameText.setFont(new java.awt.Font("宋体", 0, 12)); userNameText.setText(""); jPanel1.add(userNameText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 40, 150, -1)); passwordLabel.setFont(new java.awt.Font("宋体", 0, 12)); passwordLabel.setText("密码"); jPanel1.add(passwordLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 70, -1, -1)); passwordText.setFont(new java.awt.Font("宋体", 0, 12)); passwordText.setText(""); jPanel1.add(passwordText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 70, 150, -1)); senderLabel.setFont(new java.awt.Font("宋体", 0, 12)); senderLabel.setText("发件人"); jPanel1.add(senderLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 100, -1, -1)); receiverLabel.setFont(new java.awt.Font("宋体", 0, 12)); receiverLabel.setText("收件人"); jPanel1.add(receiverLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 130, -1, -1)); senderText.setFont(new java.awt.Font("宋体", 0, 12)); senderText.setText("zhangtongbo08@nou.com.cn"); jPanel1.add(senderText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 100, 150, -1)); mondayText.setFont(new java.awt.Font("宋体", 0, 12)); mondayText.setText("15842634428@139.com"); mondayText.setToolTipText("多个收件人用;间隔"); jPanel1.add(mondayText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 160, 150, -1)); mailSubjectLabel.setFont(new java.awt.Font("宋体", 0, 12)); mailSubjectLabel.setText("邮件主题"); jPanel1.add(mailSubjectLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 440, -1, -1)); mailContextLabel.setFont(new java.awt.Font("宋体", 0, 12)); mailContextLabel.setText("邮件内容"); jPanel1.add(mailContextLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 470, -1, -1)); mailSubjectText.setFont(new java.awt.Font("宋体", 0, 12)); mailSubjectText.setText("服务器已关闭"); jPanel1.add(mailSubjectText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 440, 150, -1)); mailContentText.setColumns(20); mailContentText.setFont(new java.awt.Font("宋体", 0, 12)); mailContentText.setRows(5); mailContentText.setText("目标服务器已关闭"); mailContextPane1.setViewportView(mailContentText); jPanel1.add(mailContextPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 470, 250, 100)); urlText.setFont(new java.awt.Font("宋体", 0, 12)); urlText.setText("http://www.baidu.com/"); jPanel1.add(urlText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 380, 150, -1)); urlLabel.setFont(new java.awt.Font("宋体", 0, 12)); urlLabel.setText("监控URL"); jPanel1.add(urlLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 380, -1, -1)); controlButton.setFont(new java.awt.Font("宋体", 0, 12)); controlButton.setText("开始监控"); controlButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { controlButtonActionPerformed(evt); } }); jPanel1.add(controlButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 580, -1, -1)); intervalText.setFont(new java.awt.Font("宋体", 0, 12)); intervalText.setText("10"); jPanel1.add(intervalText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 410, 70, -1)); intervalLabel.setFont(new java.awt.Font("宋体", 0, 12)); intervalLabel.setText("监控间隔"); jPanel1.add(intervalLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 410, -1, -1)); unitLabel.setFont(new java.awt.Font("宋体", 0, 12)); unitLabel.setText("分钟"); jPanel1.add(unitLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 410, -1, -1)); consoleText.setColumns(20); consoleText.setFont(new java.awt.Font("宋体", 0, 12)); consoleText.setRows(5); consolePane.setViewportView(consoleText); jPanel1.add(consolePane, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 10, 240, 560)); clearConsoleButton.setFont(new java.awt.Font("宋体", 0, 12)); clearConsoleButton.setText("清空日志"); clearConsoleButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { clearConsoleButtonActionPerformed(evt); } }); jPanel1.add(clearConsoleButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(560, 580, -1, -1)); mondayLabel.setFont(new java.awt.Font("宋体", 0, 12)); mondayLabel.setText("星期一"); jPanel1.add(mondayLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 160, -1, -1)); tuesdayLabel.setFont(new java.awt.Font("宋体", 0, 12)); tuesdayLabel.setText("星期二"); jPanel1.add(tuesdayLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 190, -1, -1)); wednesdayLabel.setFont(new java.awt.Font("宋体", 0, 12)); wednesdayLabel.setText("星期三"); jPanel1.add(wednesdayLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 220, -1, -1)); thursdayLabel.setFont(new java.awt.Font("宋体", 0, 12)); thursdayLabel.setText("星期四"); jPanel1.add(thursdayLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 250, -1, -1)); fridayLabel.setFont(new java.awt.Font("宋体", 0, 12)); fridayLabel.setText("星期五"); jPanel1.add(fridayLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 280, -1, -1)); saturdayLabel.setFont(new java.awt.Font("宋体", 0, 12)); saturdayLabel.setText("星期六"); jPanel1.add(saturdayLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 310, -1, -1)); sundayLabel.setFont(new java.awt.Font("宋体", 0, 12)); sundayLabel.setText("星期日"); jPanel1.add(sundayLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 340, -1, -1)); tuesdayText.setFont(new java.awt.Font("宋体", 0, 12)); tuesdayText.setText("15842634428@139.com"); jPanel1.add(tuesdayText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 190, 150, -1)); wednesdayText.setFont(new java.awt.Font("宋体", 0, 12)); wednesdayText.setText("15842634428@139.com"); jPanel1.add(wednesdayText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 220, 150, -1)); thursdayText.setFont(new java.awt.Font("宋体", 0, 12)); thursdayText.setText("15842634428@139.com"); jPanel1.add(thursdayText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 250, 150, -1)); fridayText.setFont(new java.awt.Font("宋体", 0, 12)); fridayText.setText("15842634428@139.com"); jPanel1.add(fridayText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 280, 150, -1)); saturdayText.setFont(new java.awt.Font("宋体", 0, 12)); saturdayText.setText("15842634428@139.com"); jPanel1.add(saturdayText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 310, 150, -1)); sundayText.setFont(new java.awt.Font("宋体", 0, 12)); sundayText.setText("15842634428@139.com"); jPanel1.add(sundayText, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 340, 150, -1)); getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 650, 610)); fileMenu.setText("文件"); fileMenu.setFont(new java.awt.Font("宋体", 0, 12)); sendTestMenuItem.setFont(new java.awt.Font("宋体", 0, 12)); sendTestMenuItem.setText("发送测试邮件"); sendTestMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendTestMenuItemActionPerformed(evt); } }); fileMenu.add(sendTestMenuItem); exitMenuItem.setFont(new java.awt.Font("宋体", 0, 12)); exitMenuItem.setText("退出"); exitMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { exitMenuItemActionPerformed(evt); } }); fileMenu.add(exitMenuItem); menuBar1.add(fileMenu); helpMenu.setText("帮助"); helpMenu.setFont(new java.awt.Font("宋体", 0, 12)); aboutMenuItem.setFont(new java.awt.Font("宋体", 0, 12)); aboutMenuItem.setText("关于"); aboutMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { aboutMenuItemActionPerformed(evt); } }); helpMenu.add(aboutMenuItem); menuBar1.add(helpMenu); setJMenuBar(menuBar1); pack(); } private void aboutMenuItemActionPerformed(java.awt.event.ActionEvent evt) { SwingUtil.show(new AboutDialog(this, false)); } private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); } private void sendTestMenuItemActionPerformed(java.awt.event.ActionEvent evt) { try { new MailUtil(smtpText.getText(), userNameText.getText(), getPassword()) .sendSimpleMail(senderText.getText(), getReceiver(), mailSubjectText.getText(), mailContentText.getText()); writeToConsole("测试邮件发送成功"); }catch(Exception e){ writeToConsole("发送邮件失败," + e.getMessage()); } } private void controlButtonActionPerformed(java.awt.event.ActionEvent evt) { if(verifyParam()){ start(); } } private void clearConsoleButtonActionPerformed(java.awt.event.ActionEvent evt) { ConsoleUtil.clear(); consoleText.setText(ConsoleUtil.get()); } public String[] getReceiver(){ int dayOfWeek = TimeUtil.getDayOfWeek(); switch(dayOfWeek){ case 1: return sundayText.getText().split(";"); case 2: return mondayText.getText().split(";"); case 3: return tuesdayText.getText().split(";"); case 4: return wednesdayText.getText().split(";"); case 5: return thursdayText.getText().split(";"); case 6: return fridayText.getText().split(";"); case 7: return saturdayText.getText().split(";"); } return null; } /** * 开始 */ public void start(){ Double intervalDouble = Double.parseDouble(intervalText.getText()); intervalDouble = intervalDouble * 60 * 1000; long interval = (long)intervalDouble.longValue(); Timer timer = new Timer(); //在0秒后执行此任务,每次间隔interval秒 //如果传递一个Data参数,就可以在某个固定的时间执行这个任务. timer.schedule(new MyTask(), 0, interval); } /** * 检查参数 * @return */ private boolean verifyParam(){ if(StringUtil.isBlank(smtpText.getText())){ writeToConsole("SMTP服务器不能为空"); return false; } if(StringUtil.isBlank(userNameText.getText())){ writeToConsole("用户名不能为空"); return false; } if(StringUtil.isBlank(getPassword())){ writeToConsole("密码不能为空"); return false; } if(StringUtil.isBlank(senderText.getText())){ writeToConsole("发件人错误"); return false; } if(StringUtil.isBlank(mondayText.getText())){ writeToConsole("收件不能为空"); return false; } if(StringUtil.isBlank(urlText.getText())){ writeToConsole("URL不能为空"); return false; } if(StringUtil.isBlank(intervalText.getText())){ writeToConsole("监控间隔不能为空"); return false; }else{ char[] charArray = intervalText.getText().toCharArray(); for(int i = 0 ; i < charArray.length ; i++){ if(Character.isDigit(charArray[i]) || charArray[i] == '.'){ }else{ writeToConsole("监控间隔必须为数字"); return false; } } } if(StringUtil.isBlank(mailSubjectText.getText())){ writeToConsole("邮件主题不能为空"); return false; } if(StringUtil.isBlank(mailContentText.getText())){ writeToConsole("邮件内容不能为空"); return false; } return true; } /** * 获取密码 * @return */ private String getPassword(){ StringBuilder password = new StringBuilder(); char[] pass = passwordText.getPassword(); for(int i = 0 ; i < pass.length ; i++){ password.append(pass[i]); } return password.toString(); } /** * 监控 */ private class MyTask extends TimerTask{ @Override public void run() { try { new URLUtil().connect(urlText.getText()); writeToConsole("服务器状态正常"); } catch (MalformedURLException ex) { writeToConsole("URL填写错误"); } catch (ConnectException e){ writeToConsole("服务器已关闭"); try { new MailUtil(smtpText.getText(), userNameText.getText(), getPassword()) .sendSimpleMail(senderText.getText(), getReceiver(), mailSubjectText.getText(), mailContentText.getText()); } catch (Exception ex) { writeToConsole("发送邮件失败," + ex.getMessage()); } } catch (IOException ex) { writeToConsole("连接错误"); } } } private SystemTray systemTray; private TrayIcon trayIcon; private static final int width = 672; private static final int height = 667; private static String ICO = null; private javax.swing.JMenuItem aboutMenuItem; private javax.swing.JButton clearConsoleButton; private javax.swing.JScrollPane consolePane; private javax.swing.JTextArea consoleText; private javax.swing.JButton controlButton; private javax.swing.JMenuItem exitMenuItem; private javax.swing.JMenu fileMenu; private javax.swing.JLabel fridayLabel; private javax.swing.JTextField fridayText; private javax.swing.JMenu helpMenu; private javax.swing.JLabel intervalLabel; private javax.swing.JTextField intervalText; private javax.swing.JPanel jPanel1; private javax.swing.JTextArea mailContentText; private javax.swing.JLabel mailContextLabel; private javax.swing.JScrollPane mailContextPane1; private javax.swing.JLabel mailSubjectLabel; private javax.swing.JTextField mailSubjectText; private javax.swing.JMenuBar menuBar1; private javax.swing.JLabel mondayLabel; private javax.swing.JTextField mondayText; private javax.swing.JLabel passwordLabel; private javax.swing.JPasswordField passwordText; private javax.swing.JLabel receiverLabel; private javax.swing.JLabel saturdayLabel; private javax.swing.JTextField saturdayText; private javax.swing.JMenuItem sendTestMenuItem; private javax.swing.JLabel senderLabel; private javax.swing.JTextField senderText; private javax.swing.JLabel smtpLabel; private javax.swing.JTextField smtpText; private javax.swing.JLabel sundayLabel; private javax.swing.JTextField sundayText; private javax.swing.JLabel thursdayLabel; private javax.swing.JTextField thursdayText; private javax.swing.JLabel tuesdayLabel; private javax.swing.JTextField tuesdayText; private javax.swing.JLabel unitLabel; private javax.swing.JLabel urlLabel; private javax.swing.JTextField urlText; private javax.swing.JLabel userNameLabel; private javax.swing.JTextField userNameText; private javax.swing.JLabel wednesdayLabel; private javax.swing.JTextField wednesdayText; }
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; }
- ServerMonitor.jar (422.6 KB)
- 下载次数: 19
- ServerMonitor_myeclipse.rar (814.4 KB)
- 下载次数: 36
- ServerMonitor_netbeans.rar (402.9 KB)
- 下载次数: 26
发表评论
-
文件夹备份工具
2011-12-29 13:53 1476package com.gary.file; im ... -
按目录递归清理文件每行开头结尾的空白
2011-07-17 21:52 1675package com.gary.util; im ... -
web服务器监控(二)
2011-06-11 15:10 2453接上文,工具类源码 ConsoleUtil p ... -
固定长度队列的实现
2011-06-10 06:44 7853package com.gary.util; impor ... -
生成随机颜色代码
2011-04-13 08:37 2127package com.gary.util; im ... -
显示本机IP(GUI版)
2011-02-02 16:19 1552IPUtil.java package com.gar ... -
java解析mp3工具
2010-12-29 21:23 6259需要的jar包为jid3lib.jar,sf上的http:// ... -
获取指定月份的工作日天数
2010-12-25 08:58 1894package com.gary.util; impor ... -
判断数组内有无重复元素
2010-12-24 09:03 1995/** * 判断数组内有无重复元素 * @par ... -
日语学习小工具(GUI版)(二)
2010-12-23 22:12 1335RandomWord.java package co ... -
日语学习小工具(GUI版)(一)
2010-12-23 22:06 1886使用的jar包为jxl.jar,单词数据文件words.xls ...
相关推荐
搜藏了很久的web服务器监控程序,设定每隔一段时间访问一下网站,如果访问不到,就会发出报警。网站管理很有用的
一、服务器监控的重要性 1. 预防故障:通过持续监控,能及时发现服务器潜在的性能瓶颈,避免因资源耗尽而导致的服务中断。 2. 性能优化:实时查看服务器负载,可以调整系统配置,提高服务器处理能力,提升用户体验...
"Web服务器监控器"是一款专为管理和维护网络服务器设计的重要工具。它提供了实时监控、预警以及远程重启等关键功能,确保服务器的稳定运行并及时处理可能出现的问题。在现代的IT环境中,服务器监控对于企业的运营至...
Falcon是一款基于inotify-tools开发的Web服务器文件监控平台,能够实时监控Web目录文件变化(新增,修改,删除),判断文件内容是否包含恶意代码,自动隔离常见Webshell,保证Web目录文件安全。 Falcon 0.1.1 更新...
【WEB服务器运行状况监控V1.6】是一款专为管理员设计的高效且免费的Web服务器监控软件,旨在确保Web服务的稳定性和安全性。这款工具具备防止病毒篡改主页以及自动恢复主页的功能,对于IIS(Internet Information ...
JavaMelody是一款强大的JAVA Web项目服务器性能监控工具,它能够实时、全面地监控应用程序的运行状态,帮助开发者和运维人员了解系统性能瓶颈,及时发现并解决问题。通过在Java Web应用中简单集成,JavaMelody就能...
在IT行业中,实时服务器监控是运维工作的重要环节,它能够帮助我们及时发现并解决系统问题,确保服务的稳定运行。为了满足公司的需求,构建一个基于Web的监控系统是非常必要的。这个系统应该具备实时数据采集、可视...
基于嵌入式Web服务器的远程视频监控系统,希望对家加有所帮助
Falcon是一款基于inotify-tools开发的Web服务器文件监控平台,能够实时监控Web目录文件变化(新增,修改,删除),判断文件内容是否包含恶意代码,自动隔离常见Webshell,保证Web目录文件安全。 Falcon 0.1.1 ...
一、服务器监控的重要性 1. 故障预防:通过实时监控,可以预警潜在的硬件故障、资源瓶颈或系统异常,提前采取措施避免服务中断。 2. 性能优化:监控数据有助于分析服务器性能,找出性能瓶颈,进而优化资源配置,提升...
文章首先介绍了守护进程和Shell的基本概念及其特性,然后针对Linux集群下如何有效管理多台服务器,以监控Web服务器为例,设计了一种Shell脚本守护程序,并对其进行了验证测试。结果表明,该Shell脚本监控Web服务器是...
在Linux环境下,使用C语言编写一个简易的Web服务器是一项具有挑战性的任务,它涉及到网络编程、HTTP协议理解和操作系统层面的知识。下面将详细讲解这个项目所涵盖的关键知识点。 首先,我们来了解一下C语言在网络...
基于嵌入式Linux和Web服务器的网络视频监控系统.pdf 标题:“基于嵌入式Linux和Web服务器的网络视频监控系统” 描述:“基于嵌入式Linux和Web服务器的网络视频监控系统” 标签:“Linux操作系统、系统开发、参考...
在当今互联网安全日益受到重视的背景下,Web服务器作为信息发布和...随着技术的不断进步和网络环境的不断变化,Web服务器安全将是一个持续的、动态的过程,需要不断地监控、评估和更新安全措施,以应对新的安全威胁。
一、Web服务器概述 Web服务器是一种软件,其主要功能是接收来自客户端(通常是Web浏览器)的HTTP请求,并返回相应的HTTP响应,这些响应可能包含HTML文件、图片、视频等网络资源。常见的Web服务器软件有Apache、Nginx...