`

在WEB应用中获取系统信息

阅读更多
1.import java.io.IOException;   
2.import java.io.PrintWriter;   
3.  
4.import javax.servlet.ServletException;   
5.import javax.servlet.http.HttpServlet;   
6.import javax.servlet.http.HttpServletRequest;   
7.import javax.servlet.http.HttpServletResponse;   
8.  
9.import org.hyperic.sigar.Cpu;   
10.import org.hyperic.sigar.CpuPerc;   
11.import org.hyperic.sigar.Mem;   
12.import org.hyperic.sigar.Sigar;   
13.import org.hyperic.sigar.Swap;   
14.  
15.public class SigarServlet extends HttpServlet {   
16.  
17.    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   
18.           
19.        try {   
20.            Sigar sigar = new Sigar();   
21.            CpuPerc perc = sigar.getCpuPerc();   
22.            Mem mem = sigar.getMem();   
23.            Swap swap = sigar.getSwap();   
24.               
25.            int cpuUsage = (int)perc.getCombined();   
26.            int memFree = (int)(mem.getFree()/(1024l*1024l));   
27.            int memTotal = (int)(mem.getTotal()/(1024l*1024l));   
28.               
29.            int pageFileFree = (int)(swap.getPageOut()/(1024l*1024l));   
30.            int pageFileTotal = (int)(swap.getPageIn()/(1024l*1024l));   
31.            int swapFree = (int)(swap.getFree()/(1024l*1024l));   
32.            int swapTotal = (int)(swap.getTotal()/(1024l*1024l));   
33.               
34.               
35.            response.setContentType("text/html;charset=GB2312");   
36.            PrintWriter out = response.getWriter();   
37.  
38.            Cpu cpu = sigar.getCpu();   
39.               
40.            out.println("CPU Usage:"+perc.getCombined());   
41.            out.println("<br/>");   
42.            out.println("Memory Free:"+memFree);   
43.            out.println("<br/>");   
44.            out.println("Memory Total:"+memTotal);   
45.            out.println("<br/>");   
46.            out.println("Swap Free:"+swapFree);   
47.            out.println("<br/>");   
48.            out.println("Swap Total:"+swapTotal);   
49.            out.println("<br/>");   
50.            out.println("Page Free:"+pageFileFree);   
51.            out.println("<br/>");   
52.            out.println("Page Total:"+pageFileTotal);   
53.  
54.            out.close();   
55.  
56.        } catch (Exception e) {   
57.               
58.        }   
59.    }   
60.  
61.}  

 

配置:

1.<?xml version="1.0" encoding="UTF-8"?>  
2.<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
3.    <display-name>sigar</display-name>  
4.    <servlet>  
5.       <servlet-name>sigarServlet</servlet-name>  
6.       <servlet-class>sigar.SigarServlet</servlet-class>  
7.    </servlet>  
8.       
9.    <servlet-mapping>  
10.        <servlet-name>sigarServlet</servlet-name>  
11.        <url-pattern>/sigar</url-pattern>  
12.    </servlet-mapping>  
13.       
14.    <welcome-file-list>  
15.        <welcome-file>index.html</welcome-file>  
16.        <welcome-file>index.htm</welcome-file>  
17.        <welcome-file>index.jsp</welcome-file>  
18.        <welcome-file>default.html</welcome-file>  
19.        <welcome-file>default.htm</welcome-file>  
20.        <welcome-file>default.jsp</welcome-file>  
21.    </welcome-file-list>  
22.</web-app>  

 

需要的jar:
.sigar_shellrc
pdh.dll
sigar-1.5.0.1.jar
sigar-x86-winnt.dll
sigar-x86-winnt.lib

测试结果:

访问http://127.0.0.1:8080/sigar/sigar

CPU Usage:0.22815533980582525
Memory Free:863
Memory Total:2046
Swap Free:2048
Swap Total:4330
Page Free:0
Page Total:0


测试系统:windows Vista

 

注意其他系统需要引入sigar相关的库文件,具体看看sigar的网站:http://hyperic-hq.sourceforge.net/

分享到:
评论

相关推荐

    Web技术在PLC控制系统中的应用.pdf

    Web技术在PLC(可编程逻辑控制器)控制系统中的应用是一个融合了工业控制与现代网络技术的前沿领域。PLC是自动化控制的核心设备,广泛应用于制造业、过程控制、楼宇自动化等众多领域,而Web技术,尤其是HTML、CSS、...

    Web应用系统的缓存技术浅谈

    缓存技术是一种优化性能的关键手段,尤其在Web应用系统中扮演着重要角色。本文将探讨缓存的基本概念、其在Web应用系统中的作用以及各种类型的缓存技术。 缓存,也称作Cache,是高速缓冲存储器,其主要目的是为了...

    数据库应用-学生信息管理系统-WEB

    在这个学生信息管理系统中,数据库通常会包含如学生姓名、学号、性别、出生日期、专业、成绩等关键信息。常见的数据库管理系统如MySQL、Oracle或SQL Server可以用来创建这样的数据库结构。 接下来,Web部分是指利用...

    Web应用安全开发规范.doc

    Web应用安全开发规范是针对当前互联网环境中Web应用面临的安全威胁而制定的一套详细的指导原则。随着Web技术的快速发展,黑客攻击手段不断升级,Web安全问题变得尤为重要。许多开发者由于缺乏安全意识,导致开发出的...

    明御WEB应用防火墙-用户操作手册V3.0.4.3.3.doc

    "明御WEB应用防火墙用户操作手册V3.0.4.3.3" 知识点: ...随着 WEB 应用的普及和信息安全威胁的增加,WEB应用防火墙的需求也在增加,未来 WEB 应用防火墙将继续发展和完善,提供更好的安全保护解决方案。

    Web开发实训——学生信息管理系统(JSP+Servlet+Ajax+MySQL)

    在本系统中,Ajax被用来提高用户体验,例如,当用户在界面上进行操作时,如查询学生信息,可以异步地发送请求,获取数据并在页面上动态更新,无需等待整个页面重新加载。 MySQL是一种广泛使用的开源关系型数据库...

    Web应用IPv6升级改造的主要工作.docx

    "Web应用IPv6升级改造的主要工作" 在 Web 应用 IPv6 升级改造中,主要涉及以下几个方面的工作: 1. 升级网络设备:基于 IPv4 标准协议设计、生产的网络设备需要报废,更换新设备,以支持 IPv6 协议。 2. 升级基础...

    PHP Web应用开发-学生管理系统.doc

    在本系统中,数据库表结构包括三张表:user、score、student。user 表存储用户信息,score 表存储学生成绩信息,student 表存储学生信息。数据库设计是系统开发的基础部分,合理的数据库设计能够提高系统的性能和可...

    AJAX在Web系统中的应用实践

    ### AJAX在Web系统中的应用实践 #### 引言:AJAX——革新Web应用体验的关键技术 随着互联网技术的不断进步,用户体验成为了评价Web应用的重要标准之一。传统的Web应用基于同步交互模式,用户发起请求后必须等待...

    Web信息处理与应用

    随着Web的普及,信息量急剧增加,用户开始面临如何在海量信息中快速定位所需内容的问题。最早的Web搜索引擎如Archie和Gopher出现在1990年代初,它们主要依赖于人工分类目录。然而,随着Web内容的爆炸性增长,这种...

    ServletContext读取web应用中的资源文件.doc

    在 Web 应用程序中,我们经常需要读取某些资源文件,如配置文件、图片等等。为了实现这一点,ServletContext 接口提供了一些方法来读取 web 应用中的资源文件,这些方法是依靠 Servlet 容器来实现的。Servlet 容器...

    WEB应用系统安全规范文档.doc

    WEB应用系统安全规范文档是指在WEB应用系统中,为了确保系统的安全性和可靠性,所制定的规范和标准。本文档的主要内容包括WEB应用系统安全的目标、适用范围、体系结构和安全编码规则。 WEB应用系统安全的目标是保护...

    Web信息系统及其应用.docx

    Web 信息系统是指基于 Web 的信息系统,它是分布式应用系统的主流形式之一,在公众计算、企业计算和行业信息化中发挥着日益重要的作用。Web 信息系统具有科学精神、科学方法和国际国内标准化组织等特点。 一、 Web ...

    基于WEB的应用系统安全方案

    在信息化时代,WEB应用系统的安全成为了不可或缺的关注点。本文主要探讨了系统安全的需求分析,以及如何构建一个全面的安全解决方案,涵盖了WEB安全、系统安全、数字证书和网上交易安全等多个关键领域。 首先,我们...

    web课程设计-基于Java web的学生信息管理系统(源码+数据库).zip

    "web课程设计-基于Java web的学生信息管理系统(源码+数据库)"这一标题揭示了这是一个关于Web开发的课程项目,主要聚焦在使用Java Web技术来构建一个学生信息管理系统。Java Web是一种广泛使用的后端开发平台,它...

    WEB应用渗透测试的步骤

    5. **测试WEB应用指纹**:获取WEB应用的指纹(如服务器类型、版本等)可以帮助测试者确定已知的安全漏洞和相应的攻击策略。常用的工具包括Httprint和Netcraft。 6. **应用发现**:通过DNS查询工具、端口扫描器、...

Global site tag (gtag.js) - Google Analytics