| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Все через один сервлет "/*" |
| Автор: Klio 7.2.2013, 11:46 | ||
| Здравствуйте господа программисты! У меня такая загвоздка... --- Есть servlet - Index.java ---- @WebServlet({"/*"}) а значит все запросы идут через него... (Знаю что изобретаю свой велосипед типа FrontController, но всёже) И здесь два вопроса: 1) запрос к ресурсам типа рисунки, стили, скрипты из соответствующих папок (/images/*,/style/*.css и /js/*.js) воспринимаются как запросы ( к примеру "/images/logo.jpg") к этому же сервлету, что можно сделать чтобы данные запросы шли на прямую,а не через сервлет, или же шли но возвращали при этом, указанный в запросе, ресурс? 2) после обработки запроса используется:
На этой процедуре он зацикливается... так как обращение идёт на этот же сервлет с новым параметром который естевственно неправильный при его разборе, и приводит к вызову страницы error.jsp Что нужно исправить? Заранее спасибо... |
| Автор: mbasil 7.2.2013, 16:50 | ||
| В Struts для этого используется суффикс. Строка, начинающаяся с префикса *. и последующим суффиксом используется для отображения в данный сервлет любого URL, содержащего указанный суффикс. Например, если <servlet-mapping> будет описан так:
то URL http://localhost:8089/u61/ka-ka.do, отпраит на контроллер, а без суффикса по другому адресу. |
| Автор: Pawl 7.2.2013, 19:54 | ||||||
Несколько противоречит желанию автора - он же дал понять, что хочет сделать фронт-контроллер. По сабжу. 1) Попробуйте (я так делал для css) сделать такой маппинг по дефолту в web.xml:
а на нужной странице в заголовок (head) добавить код:
2) на error.jsp я направлял из сервлета запросы так:
при этом error.jsp у меня находилась не в WEB-INF, a в корневой папке приложения |