to find out the class files associated with html page generated by web server
I have webapplication which is running in my machine(written in java) and i need to find out the class files associated wi开发者_开发问答th html page generated by this web server.How to findout this?.
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.
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.
精彩评论