![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Atum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 3.10.2008 Репутация: нет Всего: нет |
Добрый день !
подскажите как можно решить следующую задачу : Имеется сайт написанный на jsp . структура - множество папок и множество включений страниц в страницы (как во время компиляции так и с помощью ajax ) Чего хочется - найти инструмент который бы отображал структуры сайта графически в виде графа ... как это делают в базах данных программы DbVisualizer и им подобные. Хочется визуально понять какая связь между файлами в проекте . (грубо говоря - я передаю программе ссылку на папку проекта, а она мне выводит схемку графическую в которой нарисовано что файл index включает в себя - то-то и то-то...) Это сообщение отредактировал(а) Atum - 1.6.2012, 17:09 |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
Мало перспективное занятие - большинство приложений пишется по шаблону MVC и страница ничего не дает в этом случае. А делать сайт именно на JSP (подобно сайтам на PHP) - дурной тон. Так что предлагаю не делать такое вообще.
|
|||
|
||||
IDVsbruck |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: нет Всего: 22 |
Ну, возможно человек имеет в виду не карту вьюшек на сервере, а что-то типа "карта сайта", только в автоматическом режиме. Так сказать, не инфа с сервера, а внешняя.
Я недавно задавался такой целью - для демонстрашки работы сайта нужен был граф сайта - какие связи, что куда пережидит и т.д. Чисто как графическое решение не нашел, но вот Визио может по заданному адресу сайта сделать дерево (точнее, граф, так как много циклических связей). Правда, реализация мне не понравилась и не подошла. Но для документирования, дамаю, самое оно. |
|||
|
||||
Atum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 3.10.2008 Репутация: нет Всего: нет |
Да именно граф, но изнутри по страницам фактически обходим все папки и ищем вхождение файлов и строим граф . Код - как идея !
по данным строим граф. т.е. каждая страница (на примере index.jsp ) function.jsp ( набор глобальных переменных и функции, все либы что требуются) header.jsp ( заголовки и начало тело html ) index.jsp ( ссылки на другие страницы ) footer.jsp ( конец html документа.) |
||||
|
|||||
AntonSaburov |
|
||||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
Сделайте рекурсивный обход нужной директории - пример ниже. Но я бы все-таки не шел по такому пути - НЕ НАДО ДЕЛАТЬ JSP картой сайта. Плохая это идея
|
||||
|
|||||
Atum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 3.10.2008 Репутация: нет Всего: нет |
Почему это плохо? |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
Потому что JSP-страница по правильному шаблону НЕ СОДЕРЖИТ логику получения данных - она их только отображает. Т.е. если пойти на страницу прямо по ссылке, то скоре всего она не отобразит данные, которые для нее требуются - их там просто не будет. Чтобы нагляднее -обычно делается так:
1. С браузера приходит URL 2. Web-Server (например Tomcat) вызывает соответствующий сервлет 3. Сервлет ходит по всяким истоникам данных (базы данных, файлы, другие системы и т.д. и т.п.) 4. Сервлет собирает все в один набор данных и вызывает JSP-страницу, которой передает уже сформированный пакет данных. 5. JSP отображает переданный ей пакет данных. А Вы хотите все шаги уместить в JSP. Да, она конечно может тоже собрать данные. Но это будет стратегически неверный вариант построения системы. Будет каша в виде одной страницы, внутри которой вся логика. Что потом крайне плохо развивается - например захотите Вы сделать мобильный вариант сайта. Если исходить из MVC - то достаточно просто добавить еще одно отображение (та же JSP). Но вся логика получения данных уже есть. В случае если все на JSP - придется делать копию страницы или как-то вызывать через include, что делает код настолько нечитаемым, что поддержка будет ужасным трудом. |
|||
|
||||
Atum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 3.10.2008 Репутация: нет Всего: нет |
я кажется понимаю о чем вы ! Но у меня немного другая задача: Мне как раз и надо построить и отобразить графически все эти зависимости логики получения данных мне не надо - нужен сам факт включения той или иной страницы -без отображения какой либо логики! и желательно в виде графической схемы. просто когда мы создаем проект в IDE - среда понимает его и отображает его в виде дерева - папочки и файлы ... я хочу иметь аналогичное отображение но в виде включения одних jsp в другие . как то так . UPD Это как в netbeans - когда вы создаете десктоп приложение - есть возможность визуально его проектировать - размещать кнопки контролы итд ... я хочу так же видеть как одна jsp включает в себя ссылку на другую jsp... Это сообщение отредактировал(а) Atum - 8.6.2012, 11:21 |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
Так надо не файловую систему отобразить, а именно варианты include ? Если так, то тут увы тупое считывание JSP-страниц (в виде файлов) и поиск в них директив включения других страниц. И построение структуры типа дерева. Нудненькая работа - хотя может поискать в Инете - вдруг кто такой уже занимался.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |