выяснить файлы классов, связанные с HTML-страницей, созданной веб-сервером - PullRequest
0 голосов
/ 13 ноября 2009

У меня есть веб-приложение, которое работает на моем компьютере (написано на Java), и мне нужно узнать файлы классов, связанные с HTML-страницей, сгенерированной этим веб-сервером.

Ответы [ 2 ]

1 голос
/ 13 ноября 2009

Я несколько раз использовал следующие фрагменты, пытаясь выяснить, из каких частей страницы построена, в частности, могут быть проблемы с плитами Struts.

В файле 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 или аналогичных инфраструктур для класса / контроллера.

1 голос
/ 13 ноября 2009

Если это только для целей отладки, укажите в JSP следующее:

<% Thread.dumpStack(); %>

Вы можете найти скомпилированные классы JSP в папке /work рассматриваемого сервера приложений.

Если это для деловых целей, то вам действительно нужно подробнее разобраться с проблемой / функциональными требованиями, для которых вы считаете, что это решение. Тогда мы можем придумать гораздо лучшие решения. Кстати, вам все равно нужно самостоятельно передать эту информацию с бизнес-уровня на уровень представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...