Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jsp页面中调用Java类_Java_Jsp - Fatal编程技术网

在jsp页面中调用Java类

在jsp页面中调用Java类,java,jsp,Java,Jsp,我需要你们的帮助,伙计们,我有一个JAVA类,它允许监控来自中央处理器(CPU)的数据,我需要调用或显示JAVA类的输出到JSP或SERVLET网页中 package cpudata; import java.math.BigInteger; import java.util.Random; import org.hyperic.sigar.CpuInfo; import org.hyperic.sigar.Cpu

我需要你们的帮助,伙计们,我有一个JAVA类,它允许监控来自中央处理器(CPU)的数据,我需要调用或显示JAVA类的输出到JSP或SERVLET网页中

        package cpudata;

        import java.math.BigInteger;
        import java.util.Random;
        import org.hyperic.sigar.CpuInfo;
        import org.hyperic.sigar.CpuPerc;
        import org.hyperic.sigar.ProcCpu;
        import org.hyperic.sigar.Sigar;
        import org.hyperic.sigar.SigarException;

        /**
            *
            * @author alsadig
            */
        public class CpuData {

            private static Sigar sigar;

            public CpuData(Sigar s) throws SigarException {
                sigar = s;
                System.out.println(cpuInfo());
            }

            public static void main(String[] args) throws InterruptedException, SigarException {
                new CpuData(new Sigar());
                CpuData.startMetricTest();
            }
            private static void startMetricTest() throws InterruptedException, SigarException {
                new Thread() {
                    public void run() {
                        while(true) 
                        BigInteger.probablePrime(MAX_PRIORITY, new Random());
                    };
                }.start();
                while(true) {
                    String pid = ""+sigar.getPid();
                    System.out.print(getMetric(pid));
                    for(Double d:getMetric()){
                        System.out.print("\t"+d);
                    }
                    System.out.println();
                    Thread.sleep(1000);
                }       
            }

            public String cpuInfo() throws SigarException {
                CpuInfo[] infos = sigar.getCpuInfoList();
                CpuInfo info = infos[0];

                String infoString = info.toString();
                if ((info.getTotalCores() != info.getTotalSockets())
                        || (info.getCoresPerSocket() > info.getTotalCores())) {
                    infoString+=" Physical CPUs: " + info.getTotalSockets();
                    infoString+=" Cores per CPU: " + info.getCoresPerSocket();
                }

                long cacheSize = info.getCacheSize();
                if (cacheSize != Sigar.FIELD_NOTIMPL) {
                    infoString+="Cache size...." + cacheSize;
                }
                return infoString;
            }

            public static Double[] getMetric() throws SigarException {
                CpuPerc cpu = sigar.getCpuPerc();
                double system = cpu.getSys();
                double user = cpu.getUser();
                double idle = cpu.getIdle();
                return new Double[] {system, user, idle};
            }

            public static double getMetric(String pid) throws SigarException {
                ProcCpu cpu = sigar.getProcCpu(pid);
                return cpu.getPercent();
            }

        }

从JSP调用Java代码的方法有很多:

首先:从Scriptlet调用方法(不是好方法):

在yourJSP.jsp中:

${yourData}
Third:使用page指令在JSP上导入类,并实例化它并调用方法,如下所示:

<%@page import="com.example.MyUtility"%>
<%
   MyUtility obj = new MyUtility ();
   obj.methodToCall();
%>

您可以创建对象并调用此类的适当方法。
${yourData}
<%@page import="com.example.MyUtility"%>
<%
   MyUtility obj = new MyUtility ();
   obj.methodToCall();
%>