您需要在链接URL之前添加一个域相对路径,包括获取的上下文路径HttpServletRequest#getContextPath().我不做Scala,所以我不能给出一个Scala目标的答案,但这是你在JSP中如何做到这一点,以便图片是合理的:
<a href="${pageContext.request.contextPath}/servlet">link</a>
Run Code Online (Sandbox Code Playgroud)
当前上下文路径是/foo,那么上面将以HTML格式结束
<a href="/foo/servlet">link</a>
Run Code Online (Sandbox Code Playgroud)
或者,如果您在servlet类中使用Java以编程方式生成HTML(这实际上是一种不好的做法,但除此之外):
out.println("<a href=\"" + request.getContextPath() + "/servlet\">link</a>");
Run Code Online (Sandbox Code Playgroud)
另一种方法是<base>在HTML中设置标签,以便所有相对链接都与它相关,另请参阅此答案以获取更多详细信息:在调用转发给Servlet的Servlet时,浏览器无法访问/查找CSS,图像和链接等相关资源JSP