⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mibvalue.jsp

📁 用JAVA实现的MIB浏览器
💻 JSP
字号:
<%@ page import="com.av.*,com.dwipal.*,javax.swing.JTree,java.util.HashMap,javax.swing.tree.*,org.snmp4j.*,org.snmp4j.event.*,org.snmp4j.transport.*,org.snmp4j.smi.*,org.snmp4j.mp.*" %>
<%@ page contentType="text/xml" %>
<root>
<%
    if(session.getAttribute("user").equals("user")){
      out.println("<err>Only admin can get/set value</err>");
    }else{
      DwSnmpMibTreeGUI tree1 = (DwSnmpMibTreeGUI)application.getAttribute("snmpMibTree");
      DwSnmpMibBrowserFunctions snmp = tree1.getSnmpObject();
      String ip = session.getAttribute("ip") == null?"127.0.0.1":session.getAttribute("ip").toString();
      int port = session.getAttribute("port") == null?161:Integer.parseInt(session.getAttribute("port").toString());
      String oid = request.getParameter("oid");
      
      if(request.getParameter("cSet")!=null){
        session.setAttribute("cSet", request.getParameter("cSet"));
      }
      if(request.getParameter("cGet")!=null){
        session.setAttribute("cGet", request.getParameter("cGet"));
      }
      
      if(session.getAttribute("cSet")==null){
        session.setAttribute("cSet", "public");
      }
      if(session.getAttribute("cGet")==null){
        session.setAttribute("cGet", "public");
      }
      
      snmp.setIP(ip);
      snmp.setPort(port);
  
      SnmpLib snmpLib = new SnmpLib();
      snmpLib.setHost(ip);
      snmpLib.setPort(port);
      snmpLib.setCommunity(session.getAttribute("cGet").toString(), session.getAttribute("cSet").toString());
  
      if (oid.endsWith("0")) {
        oid = oid.substring(0, oid.lastIndexOf("."));
      } else if (oid.endsWith("*")) {
        oid = oid.substring(0, oid.lastIndexOf("*") - 1);
      } else if (oid.endsWith(")")) {
        oid = oid.substring(0, oid.indexOf("(") - 1);
      } else {
      }
      boolean processGet = true;
      if(request.getParameter("set") != null){
        JTree myTree = tree1.getTree();    
        myTree.setSelectionRow(Integer.parseInt(request.getParameter("row")));
        DefaultMutableTreeNode node = (DefaultMutableTreeNode) myTree.getLastSelectedPathComponent();
        DwSnmpMibRecord nodeTree = tree1.getSelectedTreeNode();
        
        String setValue = request.getParameter("value");
        if(setValue!=null && nodeTree.checkValidValue(setValue)) {
          try{
            snmpLib.snmpSetValue(request.getParameter("oid"), nodeTree.getSyntaxID(), setValue);
          }catch(Exception e){
            out.println("<err>Error in set Value</err>");
            processGet = false;
          }
        }else{
          out.println("<err>Value is not valid</err>");
          processGet = false;
        }
      }
      if(processGet){
        MySnmpResponseHandler hnd = new MySnmpResponseHandler();
        snmpLib.setSnmpResponseHandler(hnd);    
        snmpLib.snmpWalk(oid);
        long start = System.currentTimeMillis();
        do{
          long end = System.currentTimeMillis();  
          if((end-start)>5000){
            out.println("<err>Timeout</err>");
            start = -1;
            hnd.done = true;
          }
        }while(!hnd.done);
        if(start != -1){
          out.println("<val><![CDATA["+hnd.value+"]]></val>");
        }
      }
    }
%>
</root>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -