2012-05-17 1 views
1

У меня есть проблема и не могу найти информацию.Как перейти к сервлету из jsp, который включен в папку

Я запустил свое веб-приложение с jsp-страницы, которые находятся в папке в «web». И попробуйте пойти в сервлет Smth как этого

<form action="MyServlet" method="post"> 
      <input type="submit" name="command" /> 
</form> 

В web.xml следующего

<servlet> 
     <servlet-name>MyServlet</servlet-name> 
     <servlet-class>mypackage.MyServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>MyServlet</servlet-name> 
     <url-pattern>/MyServlet</url-pattern> 
</servlet-mapping> 

Я подумал, что это должно работать, но когда я запускаю мое приложение я вижу следующий URL для кнопки example

Но моя цель получить URL локальный: 8080/TomcatApp/MyServlet

Я пытаюсь сделать это с помощью GlassFish и APAC он Томкат 7. Не знаю. Вы можете мне помочь?

ответ

2

Действие формы относительно пути к текущей странице. Поэтому, если ваш JSP находится на /TomcatApp/folder/some-page.jsp, просто установка действия на MyServlet совпадает с /TomcatApp/folder/MyServlet, потому что он автоматически использует текущий путь в качестве базы. Чтобы получить только /TomcatApp/MyServlet, вам необходимо установить действие своей формы либо ../MyServlet, либо ${request.contextPath}/MyServlet.