2014-11-13 3 views
3

Что между этими двумя строками кода и чем мы должны использовать каждый из них?RequestDispatcher из servletcontext по запросу

1.

RequestDispatcher view = request.getRequestDispatcher(“result.jsp”); 

2.

RequestDispatcher view = getServletContext().getRequestDispatcher(“/result.jsp”); 
+0

Что такое «ВС» в этом контексте? Я полагаю, не Visual Studio. –

ответ

4

1) RequestDispatcher view = request.getRequestDispatcher(“result.jsp”);

Здесь

  • мнение относительно текущего запроса. вам необходимо передать относительный путь jsp/html
  • для соединения двух сервлетов в одном и том же веб-приложении.

java doc говорит,

Имя пути может быть указано относительное, хотя он не может распространяться за пределы текущего контекста сервлета. Если путь начинается с «/», он интерпретируется как относительно текущего корня контекста. Этот метод возвращает null, если контейнер сервлета не может вернуть RequestDispatcher.

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

2) RequestDispatcher view = getServletContext(). GetRequestDispatcher ("/ result.jsp");

Здесь

  • мнение относительно корня контекста сервлета, вы должны пройти полный путь Jsp/html
  • для построения цепочки два веб-приложения с в одних и тех же/различных серверах.

java doc говорит,

Путь должен начинаться с «/» и интерпретируется как относительно текущий контекст корневого каталога. Используйте getContext для получения RequestDispatcher для ресурсов во внешних контекстах. Этот метод возвращает значение null, если ServletContext не может вернуть RequestDispatcher.

 Смежные вопросы

  • Нет связанных вопросов^_^