Как искать файлы Банки с помощью Windows Search?

Когда вы щелкаете ссылку в своем браузере с привязкой load-books , ваш браузер отправляет ее на сервер и ждет результата, который приводит к перезагрузке вашей страницы. Как только запрос к конечной точке load-book достиг сервера, Spring MVC обрабатывает это и начинает поиск подходящего контроллера с его методом. В твоем случае он находит public void loadBooks(Model model). Когда Spring MVC вызывает метод, он ожидает получить имя представления для разрешения и возврата обратно в браузер.
Поскольку вы не указали View или String в качестве возвращаемого типа, Spring MVC использовал путь конечной точки в качестве имени представления (я не вижу вашей константы Mappings.LOAD_BOOKS, но она должна быть . ] загрузки книг ). Если вы не собираетесь возвращать какое-либо представление обратно в браузер, вы можете аннотировать метод следующим образом:

@GetMapping(Mappings.LOAD_BOOKS)
@ResponseBody
public void loadBooks(Model model) {

, который говорит Spring, чтобы он воспринимал void как тело ответа. Но это не мешает обновлению страницы, вы просто увидите пустую страницу после нажатия на ссылку. Чтобы это исправить, вы можете перенаправить пользователя на другую страницу, возвращая следующую строку (без аннотации ResponseBody о методе)

return "redirect:/path-to-redirect";

Когда Spring MVC видит этот префикс, он перенаправляет вас на другой контроллер, но пользователь собираюсь заметить это тоже.

Если вы действительно не хотите на мгновение видеть пустую страницу, вам придется использовать некоторый JavaScript для выполнения AJAX-запроса к серверу при нажатии кнопки.

На самом деле кажется, что вы хотите предварительно загрузить некоторые файлы в сервис по заданному пути. Если это все, что вы хотите сделать, вы можете использовать бегуны Spring следующим образом:

@Component
class Preloader implements ApplicationRunner {

    private final BookCatalogService bookService;

    @Autowired
    public Preloader(BookCatalogService service) {
        this.bookService = service;
    }

    @Override
    public void run(ApplicationArguments args) throws Exception {
        bookService.loadBooksFromDirectory(BookCatalogController.bookDirectory);
    }
}

Spring автоматически вызывает всех зарегистрированных бегунов, когда приложение готово, поэтому ваш код будет выполнен без посещения пользователем [119 ] load-books конечная точка.

14
задан Michael Myers 18 May 2009 в 18:25
поделиться

6 ответов

Добавьте это в текстовый файл, сохраните файл, измените расширение на .reg, дважды щелкните, чтобы добавить в реестр, и все будет в порядке ... вы можете искать по имени файла или содержимому и он должен отображать jar-файлы с именами классов

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.jar\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"

Единственное, что осталось, - это выйти из системы и снова войти в Windows, и это должно работать нормально для вас, см. http://support.microsoft.com/kb/309173 подробнее

14
ответ дан 1 December 2019 в 09:33
поделиться

Я бы также порекомендовал total commander . Это отличный инструмент для управления файлами с отличными функциями поиска, который позволяет легко просматривать файлы jar.

5
ответ дан 1 December 2019 в 09:33
поделиться

Согласно этой статье MSDN Channel 9 , добавление соответствующего IFilter сделает это. Поскольку файлы .jar аналогичны файлам .zip, может работать один из четырех ZIP файлов IFilters (если только они не основаны на расширениях).

1
ответ дан 1 December 2019 в 09:33
поделиться

Если он был удален, скорее всего, это произошло из-за спора между Sun и Microsoft по Java, который велся примерно во время разработки XP. Маловероятно, что у него будет способ повторно включить его.

Вместо этого вы можете найти это полезным: http://jarbrowser.sourceforge.net/

2
ответ дан 1 December 2019 в 09:33
поделиться

Из Блог Брендена Ансти :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.jar]
"Content Type"="application/x-zip-compressed"
"PerceivedType"="compressed"
@="CompressedFolder"

[HKEY_CLASSES_ROOT\.jar\CompressedFolder]

[HKEY_CLASSES_ROOT\.jar\CompressedFolder\ShellNew]
"Data"=hex:50,4b,05,06,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[HKEY_CLASSES_ROOT\.jar\OpenWithProgids]
"CompressedFolder"=""

[HKEY_CLASSES_ROOT\.jar\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"

[HKEY_CLASSES_ROOT\.war]
"Content Type"="application/x-zip-compressed"
"PerceivedType"="compressed"
@="CompressedFolder"

[HKEY_CLASSES_ROOT\.war\CompressedFolder]

[HKEY_CLASSES_ROOT\.war\CompressedFolder\ShellNew]
"Data"=hex:50,4b,05,06,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[HKEY_CLASSES_ROOT\.war\OpenWithProgids]
"CompressedFolder"=""

[HKEY_CLASSES_ROOT\.war\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"

[HKEY_CLASSES_ROOT\.ear]
"Content Type"="application/x-zip-compressed"
"PerceivedType"="compressed"
@="CompressedFolder"

[HKEY_CLASSES_ROOT\.ear\CompressedFolder]

[HKEY_CLASSES_ROOT\.ear\CompressedFolder\ShellNew]
"Data"=hex:50,4b,05,06,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

[HKEY_CLASSES_ROOT\.ear\OpenWithProgids]
"CompressedFolder"=""

[HKEY_CLASSES_ROOT\.ear\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"
1
ответ дан 1 December 2019 в 09:33
поделиться

Я знаю, что это не Windows Search, но я давно использовал для этого Agent Ransack : он очень быстрый и выполняет поиск во всех различных форматах архивов Java (jar, war, ear), а также zip.

Мне особенно нравится и часто использую функцию сохранения результатов поиска: вы можете сохранить критерии (чтобы вы могли легко повторить этот поиск) или результаты. Поэтому, когда я работаю над проектом, я часто хотите найти файл (или файл в jar / zip) в дереве каталогов проекта. Я выполняю поиск один раз и сохраняю критерии в виде файла .srf, который я могу быстро открыть, чтобы впоследствии выполнить аналогичный поиск.

1
ответ дан 1 December 2019 в 09:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: