один метод в getRequestDispatcher () в интерфейсах ServletRequest и ServletContext - PullRequest
0 голосов
/ 15 февраля 2010

HI Мне нравится знать, что есть один метод, называемый getRequestDispatcher () в интерфейсах ServletRequest и ServletContext. В чем разница?

Ответы [ 2 ]

2 голосов
/ 15 февраля 2010

Как указано в Javadocs API сервлетов ,

Разница между этим методом [ServletRequest] и ServletContext.getRequestDispatcher (java.lang.String) заключается в том, что этот метод может использовать относительный путь.

0 голосов
/ 16 февраля 2010

Вы можете передать относительный путь к getRequestDispatcher () ServletRequest, но не можете получить getRequestDispatcher () ServletContext.

Пример:

Мой текущий запрос обслуживается со страницы - webapp / view / core / bar.jsp и запрашиваемая страница - webapp / view / util / foo.jsp

request.getRequestDispatcher ("../ util / foo.jsp") действителен и будет оцениваться по пути относительно текущего запроса.

servletContext.getRequestDispatcher ("/ view / util / foo.jsp") действителен и будет оцениваться из корневого контекста.

Это потому, что ServletContext не будет знать о текущем пути запроса. Если вы решите использовать «/» root для доступа к вашим ресурсам, тогда оба пути одинаковы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...