2014-10-01 2 views
0

Я пытаюсь вызвать сервлет с страницы JSP.Не удается вызвать сервлет из JSP

index.jsp:

<a href="VisitServlet">Visit</a> 

Структура каталога:

Web Page --> Pages --> HomePage --> index.jsp 
Source Packages --> servlets.a.b.VisitServlet.java 

web.xml:

<servlet> 
    <servlet-name>VisitServlet</servlet-name> 
    <servlet-class>servlets.a.b.VisitServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>VisitServlet</servlet-name> 
    <url-pattern>/VisitServlet</url-pattern> 
</servlet-mapping> 

Я получаю эта ошибка:

HTTP Status 404 - Not Found 
+0

попробуйте добавить веб-контекст, например, myApp/VisitServlet –

+0

@ScaryWombat как вызвать сервлет с использованием веб-контекста? –

+0

Вы ошибаетесь, если у вас есть? –

ответ

2

Попробуйте использовать:

<a href="${pageContext.request.contextPath}/VisitServlet">Visit</a> 
+0

Можете ли вы объяснить '$', почему мы используем фигурные скобки '{}' и 'pageContext'? –

+0

JSP - это не что иное, как сервлет, поэтому при использовании $ {} вы получаете доступ к переменной JSP, доступной в объекте pageContext, этот объект pageContext является одним из предопределенных доступных JSP-ресурсов из Runtime API, поэтому, когда вы предоставляете свои страница вашего якорного тега должна указывать на полный путь вашего веб-приложения при доступе к сервлету, иначе он будет разрешен для другого URL-адреса. – guilhebl

+0

Я все еще получаю такую ​​же ошибку. Пожалуйста, проверьте мое сообщение для получения информации об ошибке. –

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