无法从JSP调用servlet

无法从JSP调用servlet,jsp,servlets,error-handling,Jsp,Servlets,Error Handling,我试图从JSP页面调用Servlet index.jsp: <a href="VisitServlet">Visit</a> Web Page --> Pages --> HomePage --> index.jsp Source Packages --> servlets.a.b.VisitServlet.java <servlet> <servlet-name>VisitServlet</servlet

我试图从JSP页面调用Servlet

index.jsp:

<a href="VisitServlet">Visit</a>
Web Page --> Pages --> HomePage --> index.jsp
Source Packages --> servlets.a.b.VisitServlet.java
<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
web.xml:

<a href="VisitServlet">Visit</a>
Web Page --> Pages --> HomePage --> index.jsp
Source Packages --> servlets.a.b.VisitServlet.java
<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
尝试使用:

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


尝试添加web上下文,例如myApp/VisitServlet@ScaryWombat如何使用web上下文调用servlet?将构造具有相对路径的链接。从目录结构来看,我假设index.jsp可以作为http://://HomePage/index.jsp访问,因此链接看起来像“http://://HomePage/VisitServlet”。尝试使用以绝对路径构建URL。当您单击“访问”链接时,浏览器将调用什么URL?您能否解释一下
$
,为什么我们使用大括号
{}
pageContext
?JSP只不过是一个servlet,因此当使用${}时,您正在访问pageContext对象中可用的JSP变量,此pageContext对象是运行时API中预定义的JSP可用变量之一,因此,当您呈现页面时,您的定位标记必须在访问servlet时指向web应用程序的完整路径,否则它将解析为不同的URL。我仍然收到相同的错误。。请查看我的帖子以了解错误详细信息。你能做一件事吗?将它放在JSP:${pageContext.request.contextPath}上,并将结果字符串放在这里?您还可以发布Servlet类代码吗?