1 8 13 14 package org.webjmx.servlet; 15 16 import java.lang.reflect.*; 17 import java.io.*; 18 import java.util.*; 19 import javax.management.*; 20 import javax.servlet.*; 21 import javax.servlet.http.*; 22 23 import org.webjmx.api.*; 24 import org.webjmx.tags.*; 25 26 34 35 public class JMXAction extends HttpServlet implements JMXTaglibConstants 36 { 37 42 public void init(ServletConfig config) throws ServletException 43 { 44 super.init(config); 45 } 46 47 49 public void destroy() 50 { } 51 52 58 protected void processRequest(HttpServletRequest request, HttpServletResponse response) 59 throws ServletException, IOException 60 { 61 try 62 { 63 JMXProcessor.handleRequest(request.getParameterMap()); 64 }catch(ReflectionException re) 65 { 66 re.getTargetException().printStackTrace(); 67 handleError(getServletContext(), request, response, re); 68 return; 69 }catch(Exception ex) 70 { 71 ex.printStackTrace(); 72 handleError(getServletContext(), request, response, ex); 73 return; 74 } 75 76 Object o = request.getSession().getAttribute(TAGLIB_FORWARD); 78 if(Boolean.getBoolean(DEBUG_PROP)) log("forward: " +o); 79 if(o != null) 80 { 81 response.sendRedirect((String )o); 82 return; 83 } 84 85 response.setContentType("text/html"); 87 java.io.PrintWriter out = response.getWriter(); 88 out.println("<html>"); 89 out.println("<head>"); 90 out.println("<title>Servlet</title>"); 91 out.println("</head>"); 92 out.println("<body><H1>MBean Updated!<br>No forwarding URL was given.<H1>"); 93 out.println("</body>"); 94 out.println("</html>"); 95 out.close(); 96 } 97 98 private static void handleError(ServletContext context, HttpServletRequest request, 99 HttpServletResponse response, Exception ex) 100 { 101 try 102 { 103 Object o = request.getSession().getAttribute(TAGLIB_ERROR); 104 if(o != null) 105 response.sendRedirect((String )o); 106 107 response.sendError(response.SC_INTERNAL_SERVER_ERROR, ex.getMessage()); 108 }catch(Exception ee) 109 { 110 context.log("Exception caught while processing error condition: " +ex.getMessage(), ee); 111 } 112 } 113 114 119 protected void doGet(HttpServletRequest request, HttpServletResponse response) 120 throws ServletException, java.io.IOException 121 { 122 processRequest(request, response); 123 } 124 125 130 protected void doPost(HttpServletRequest request, HttpServletResponse response) 131 throws ServletException, java.io.IOException 132 { 133 processRequest(request, response); 134 } 135 136 138 public String getServletInfo() 139 { 140 return "JMX taglib action servlet"; 141 } 142 } 143 | Popular Tags |