2013-11-12 1 views
0

Мне нужно просто вызвать сервлет с html-страницы, но когда я нажимаю кнопку на странице html, мое имя приложения удаляется из URL-адреса.Имя приложения удаляется из URL-адреса при нажатии кнопки, чтобы открыть сервлет

Я проверил web.xml, мне кажется, все в порядке. Я также проверил Servlet, непосредственно предоставляя целевой URL в браузере

HTML код:

<body> 
    <form action="/bomb" method="get"> 
     <button type="submit">Send</button> 
    </form> 
</body> 

web.xml

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

Servlet просто записывает строку в качестве ответа.

URL, прежде чем кнопку, нажав

http://localhost:8080/XYZ/ 

URL после нажатия кнопки

http://localhost:8080/bomb? 

Но правильный URL должен быть

http://localhost:8080/XYZ/bomb 

ответ

3

Удалить / от формы действия. Он пропускает contextpathservlet.

<body> 
<form action="bomb" method="get"> 
    <button type="submit">Send</button> 
</form> 
</body> 
+0

Взрыв на. Если я понял, это значит, что когда я писал '/ bomb', я рассказывал ROOT-поиск карты сервлетов с ROOT/bomb. Это было так. К ROOT i означает ROOT сервера – guptakvgaurav