views:

30

answers:

2

Hi

I have webapplication which is running in my machine(written in java) and i need to find out the class files associated with html page generated by this web server.How to findout this?.

+1  A: 

If it is only for debugging purposes, put the following in JSP:

<% Thread.dumpStack(); %>

You can find the compiled JSP classes in the /work folder of the appserver in question.

If it is for business purposes, then you really need to elaborate more about the problem / functional requirement for which you think that this is the solution. Then we may come up with -much- better solutions. To the point, you need to pass this information from the business layer to the view layer yourself anyway.

BalusC
+1  A: 

I have had some use of the following snippets when trying to figure out from what parts of a page is built, struts-tiles in particular can be a hassle.

In the web.xml file of your webapp (at the very bottom), add the following:

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <include-coda>/WEB-INF/myurl.jspf</include-coda>
    </jsp-property-group>
</jsp-config>

And in the WEB-INF folder add a file called myurl.jspf with the following content:

<%=request.getServletPath()%><br>
<%
String name = this.getClass().getName();
String INF = "INF";
int pos = name.indexOf("INF");
if(pos  > -1){
    name = name.substring(pos + INF.length());
    name = name.replaceAll("\\.", "/");
    name = name.replaceAll("\\_", ".");
}
out.println(name);    
%>

I know this is hack and the page name will not be exactly the printed, but it will give you a hint of where to look.

When you have the page name (part) it is a lot easier to look in configuration files for Spring, Struts or similar frameworks for the class/controller.

Kennet