относительная и абсолютная разница URL - PullRequest
1 голос
/ 28 августа 2010

В чем разница между относительным и абсолютным URL в контейнере сервлета.например, если в папке webinf есть jsp с именем forum.jsp.Когда я хочу отправить текущий запрос в JSP из текущего файла JSP, который находится в той же папке webinf, следующий правильный путь

/ forum.jsp

относительный URL означает относительноПапка web-inf или в папку jsp.

Ответы [ 2 ]

2 голосов
/ 28 августа 2010

Абсолютный URL : /3947373/otnositelnaya-i-absolytnaya-raznitsa-url

и относительный URL : /questions/3591899/relative-url-and-absolute-url-difference

Также, относительный URL может быть просто: ../questions/3591899/relative-url-and-absolute-url-difference в зависимости от того, где находится страница ссылок ...

или ./3591899/relative-url-and-absolute-url-difference, если страница ссылок расположена напапка questions

Я предлагаю всегда использовать Относительный URL ... и это сложно, продолжайте пытаться использовать их ...


Один вопрос, почему ваши JSP находятся в папке WEB-INF/?

У вас нет доступа к JSP в папке WEB-INF, если вы попытаетесь получить к нему доступ, сервер выдаст 404 error.J2EE ищет только классы и библиотеки в этой папке.

1 голос
/ 29 августа 2010

Абсолютный URL - это URL, который включает схему (например, http:).Относительный URL-адрес не включает схему и, следовательно, зависит от текущего контекста.

Как интерпретировать относительный URL-адрес немного сложнее.Это полностью зависит от контекста, в котором используется URL.Например, в веб-браузере, или в сервлете, или даже в локальной файловой системе диска (java.io.File и т. Д.).

При разговоре в контексте сервлета, когда относительный URL-адрес начинается с /, он будет относиться к корню контекста (т. Е. Корню папки веб-контента, где находится папка /WEB-INF и гдевсе файлы JSP размещены).

Поэтому, если вы хотите перенаправить запрос на /WEB-INF/forums.jsp, вы просто указываете это так:

request.getRequestDispatcher("/WEB-INF/forums.jsp").forward(request, response);

Но когда относительный URL не 't начинать с /, тогда оно будет относительно текущего URL-адреса запроса.Поэтому, когда URL-адрес запроса, например, http://example.com/context/servlets/servletname и вы используете относительный URL-адрес forums.jsp, следующий

request.getRequestDispatcher("forums.jsp").forward(request, response);

фактически будет указывать на http://example.com/context/servlets/forums.jsp

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