powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / как замапить сервлет на contextpath
7 сообщений из 7, страница 1 из 1
как замапить сервлет на contextpath
    #38034538
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@WebServlet(urlPatterns="/helloworld")
public class ......

и так далее/
Если contextPath = "sample"
то доступ к сервлету можно получить по /sample/helloworld. то есть во всех сервлетах я должен указывать urlpappng типа
urlPattern="/sample/serveltPattern" если вдруг contextPath изменится то мне нужно найти все сервлеты и поменять в urlPattern contextPath.

Есть способ автоматизировать это ?

т.е. сервлет с
@WebServlet(urlPattern="/login")
всегда будет доступен по /contextPath/login без явного указания contextPath
...
Рейтинг: 0 / 0
как замапить сервлет на contextpath
    #38034546
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это настраивается в деплоймент-дескрипторе под конкретный сервер.
context.xml в Tomcat.
кажется jboss-web.xml в JBoss
geronimo-web.xml угадайте где.
и т.п.
...
Рейтинг: 0 / 0
как замапить сервлет на contextpath
    #38034577
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming@WebServlet(urlPatterns="/helloworld")
public class ......

и так далее/
Если contextPath = "sample"
то доступ к сервлету можно получить по /sample/helloworld. то есть во всех сервлетах я должен указывать urlpappng типа
urlPattern="/sample/serveltPattern" если вдруг contextPath изменится то мне нужно найти все сервлеты и поменять в urlPattern contextPath.

Есть способ автоматизировать это ?

т.е. сервлет с
@WebServlet(urlPattern="/login")
всегда будет доступен по /contextPath/login без явного указания contextPath

Не надо автоматизировать, @WebServlet(urlPattern="/login") всегда будет доступен по /contextPath/login без явного указания contextPath.
...
Рейтинг: 0 / 0
как замапить сервлет на contextpath
    #38034657
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0FD,

Ага. Я поковырялся и ктому же мнению пришел только вот во вьюшках на jsp в формах надо не забывать указывать правильный url в action
и не дай бог contextPath поменяется надо будет все jsp смотреть и менять
...
Рейтинг: 0 / 0
как замапить сервлет на contextpath
    #38034684
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingАга. Я поковырялся и ктому же мнению пришел только вот во вьюшках на jsp в формах надо не забывать указывать правильный url в action
и не дай бог contextPath поменяется надо будет все jsp смотреть и менять
1) Если использовать относительные URL, то проблему можно свести к минимуму.
2) Никто не запрещает деплоить в ROOT, да и Production скорее всего будет доступен с корневого контекста.
3) contextPath всегда можно получить в JSP минимальным EL-выражением.
4) Кстати, возможна ситуация, когда сервер будет задеплоен в какой-то конкретный путь, но фронт-энд HTTP сервер будет его показывать как корневой. Ту-то всё и поломается. Поэтому лучше изначально делать так чтобы View не зависит от context path вообще.
...
Рейтинг: 0 / 0
как замапить сервлет на contextpath
    #38034889
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczllemingАга. Я поковырялся и ктому же мнению пришел только вот во вьюшках на jsp в формах надо не забывать указывать правильный url в action
и не дай бог contextPath поменяется надо будет все jsp смотреть и менять
1) Если использовать относительные URL, то проблему можно свести к минимуму.
2) Никто не запрещает деплоить в ROOT, да и Production скорее всего будет доступен с корневого контекста.
3) contextPath всегда можно получить в JSP минимальным EL-выражением.
4) Кстати, возможна ситуация, когда сервер будет задеплоен в какой-то конкретный путь, но фронт-энд HTTP сервер будет его показывать как корневой. Ту-то всё и поломается. Поэтому лучше изначально делать так чтобы View не зависит от context path вообще.

4й вариант это чтото вроде если статику отдать на апаче и она доступна по корню "/" а сервлеты по "/servlets/*" и jsp "/jsp/*" то если в jsp есть ссылки на чтото вроде /css/style.css то можно "потерять" стили и Js ?


я вот попробовал на "/" повесить RootServlet который уже отдает index.jsp который в подпапке view, и это jsp не может найти стилей и js а вот стоит только RootServlety повесить на "/что нибудь" то все работает нормуль.

Любопытно.
...
Рейтинг: 0 / 0
как замапить сервлет на contextpath
    #38034912
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingЛюбопытно.
Потому что относительные пути тоже бывают разные. Одни относильно адреса сайта. Другие относительно пути к текущей странице.
Соответственно, если используется контекст, то вариант относительно адреса не подходит. Лучше делать относительно страницы. Но тогда проблема с friendly-url. Палка о двух концах, в общем.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / как замапить сервлет на contextpath
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]