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

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

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

т.е. сервлет с
@WebServlet(urlPattern="/login")
всегда будет доступен по /contextPath/login без явного указания contextPath
...
Рейтинг: 0 / 0
12.11.2012, 13:32:59
    #38034546
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как замапить сервлет на contextpath
Это настраивается в деплоймент-дескрипторе под конкретный сервер.
context.xml в Tomcat.
кажется jboss-web.xml в JBoss
geronimo-web.xml угадайте где.
и т.п.
...
Рейтинг: 0 / 0
12.11.2012, 13:45:32
    #38034577
0FD
0FD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как замапить сервлет на contextpath
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
12.11.2012, 14:18:35
    #38034657
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как замапить сервлет на contextpath
0FD,

Ага. Я поковырялся и ктому же мнению пришел только вот во вьюшках на jsp в формах надо не забывать указывать правильный url в action
и не дай бог contextPath поменяется надо будет все jsp смотреть и менять
...
Рейтинг: 0 / 0
12.11.2012, 14:28:05
    #38034684
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как замапить сервлет на contextpath
llemingАга. Я поковырялся и ктому же мнению пришел только вот во вьюшках на jsp в формах надо не забывать указывать правильный url в action
и не дай бог contextPath поменяется надо будет все jsp смотреть и менять
1) Если использовать относительные URL, то проблему можно свести к минимуму.
2) Никто не запрещает деплоить в ROOT, да и Production скорее всего будет доступен с корневого контекста.
3) contextPath всегда можно получить в JSP минимальным EL-выражением.
4) Кстати, возможна ситуация, когда сервер будет задеплоен в какой-то конкретный путь, но фронт-энд HTTP сервер будет его показывать как корневой. Ту-то всё и поломается. Поэтому лучше изначально делать так чтобы View не зависит от context path вообще.
...
Рейтинг: 0 / 0
12.11.2012, 16:02:07
    #38034889
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как замапить сервлет на contextpath
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
12.11.2012, 16:16:31
    #38034912
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как замапить сервлет на contextpath
llemingЛюбопытно.
Потому что относительные пути тоже бывают разные. Одни относильно адреса сайта. Другие относительно пути к текущей странице.
Соответственно, если используется контекст, то вариант относительно адреса не подходит. Лучше делать относительно страницы. Но тогда проблема с friendly-url. Палка о двух концах, в общем.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / как замапить сервлет на contextpath / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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