<%@ page import="javax.naming.*" %> <%@ page import="javax.naming.directory.*" %> <%@ page import="java.util.*" %> <%@ page import="java.beans.*" %> <%@ page import="java.lang.reflect.*" %> <%! public String getJndiContent(Context ctx, String name) { StringBuffer buffer = new StringBuffer(); buffer.append(""); buffer.append(""); try { NamingEnumeration enum = ctx.listBindings(name); while (enum.hasMoreElements()) { Binding currentElement = (Binding)enum.next(); Object currentObject = currentElement.getObject(); buffer.append(""); } } catch (Exception e) { buffer.append(""); } buffer.append("
"); buffer.append(name); buffer.append("
 "); if (currentObject instanceof Context) { String subName; if (name.endsWith(":")) { subName = name+currentElement.getName(); } else { subName = name+"/"+currentElement.getName(); } buffer.append(getJndiContent(ctx, subName)); } else { buffer.append(getJndiElementContent(currentElement, currentObject)); } buffer.append("
"); buffer.append(e); buffer.append("
"); return buffer.toString(); }%> <%! public String getJndiElementContent(Binding element, Object object) { StringBuffer buffer = new StringBuffer(); buffer.append(""); buffer.append(""); try { BeanInfo beanInfo = Introspector.getBeanInfo(object.getClass()); PropertyDescriptor[] propertyDescriptor = beanInfo.getPropertyDescriptors(); for (int i=0;i"); } } catch (Exception e) { } buffer.append("
"); buffer.append(element.getName()); buffer.append("
"); buffer.append(propertyDescriptor[i].getName()); buffer.append(""); buffer.append(getter.invoke(object, null)); buffer.append("
"); return buffer.toString(); }%> System properties :
java.naming.factory.initial : <%=System.getProperty("java.naming.factory.initial")%>
java.naming.provider.url : <%=System.getProperty("java.naming.provider.url")%>

JNDI Context :

<% try { InitialContext ctx = new InitialContext(); %> <%=getJndiContent(ctx, "java:")%> <% } catch (Exception e) { %> Error getting initial context : <%=e%> <% } %>