找出与web服务器生成的html页面关联的类文件

时间:2009-11-13 10:35:15

标签: java web-applications tomcat

我的webapplication在我的机器上运行(用java编写),我需要找出与这个web服务器生成的html页面相关的类文件。如何找到它?。

2 个答案:

答案 0 :(得分:1)

如果用于调试目的,请在JSP中添加以下内容:

<% Thread.dumpStack(); %>

您可以在相关应用服务器的/work文件夹中找到已编译的JSP类。

如果是出于商业目的,那么您真的需要详细说明您认为这是解决方案的问题/功能要求。然后我们可以提出更好的解决方案。至此,您需要自己将此信息从业务层传递到视图层。

答案 1 :(得分:1)

在尝试弄清楚页面的哪些部分构建时,我已经使用了以下代码段,特别是struts-tiles可能很麻烦。

在您的webapp的web.xml文件中(位于最底部),添加以下内容:

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

在WEB-INF文件夹中添加名为myurl.jspf的文件,其中包含以下内容:

<%=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);    
%>

我知道这是黑客攻击,页面名称不完全是打印的,但它会给你一个在哪里看的暗示。

当你有页面名称(部分)时,查看Spring,Struts或类/控制器的类似框架的配置文件要容易得多。