• ⚡️ Последний шанс: Вебинар по пентесту стартует через 30 минут!

    Друзья, ровно через 30 минут (8 июля в 19:00) начинается наш практический вебинар по пентесту и поиску уязвимостей!

    Если вы хотите:
    🕵️‍♀️ Узнать, как находить и эксплуатировать уязвимости в веб-приложениях.
    💡 Получить ценные инсайты от настоящего эксперта.
    🚀 Сделать решительный шаг в мир кибербезопасности.
    То этот вебинар для вас!

    Ведущий вебинара – Александр Медведев – эксперт с более чем 10-летним опытом в сфере информационной безопасности, пятикратный победитель Standoff и обладатель престижных сертификаций: OSWE, OSCP, PNPT, CEH, CWAPT.

    Успейте присоединиться! Зарегистрироваться сейчас

    Возникли сложности с регистрацией? Пишите нам: @Codeby_Academy
    Будем вас ждать!

Как вызвать(передать управление) в сервлет Action не из корневой стран

  • Автор темы Автор темы sonix
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
S

sonix

Допустим есть приложение с контекстом mytest и дискриптором web.xml:

<servlet>
<servlet-name>action</servlet-name>
<servlet-class>Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/parse</url-pattern>
</servlet-mapping>

И дерево каталогов

Mytest
- html/pages/
- page1.html
….
- pageN.html
- jsp/pages/
- page1.jsp
….
- pageN.jsp
……
-WEB-INF
-classes/Servlet.class
-web.xml
Вопрос:

Как вызвать(передать управление) в сервлет action из НЕ КОРНЕВОЙ html и jsp страниц с помощью линка <a href="..?...">Pass control to servlet</a>

Из корвевой работает нормально <a href="parse?param1=value1">, но со вложенной (например html/pages/) директории линк получается такого вида <a href="host:port/Mytest/html/pages/parse?param1=value1"> а не и путь к сервлету получается не корректный.

Сенкс.
 
А какая разница куда слаживать жсп хтмл и тд? В web.xml прописан урл к сервлету, вот по нему и обращаешься (<url-pattern>/parse</url-pattern>).
 
Если я правильно понял и вот такой код <a href="parse?param1=value1"> прописывается в jsp, то это немного неверно, я бы писал <a href="<%=request.getContextPath()%>/parse?param1=value1">

Есть подозрение, что <a href="parse?param1=value1"> при генерации на вложенной стронице добавляет путь это вложенной страницы, т.е. html/pages/, что при вызове сервлета совсем не надо
 
Надо использовать <c:url> из тегов JSTL и не мучаться с request.getContextPath().
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab