0

这是我的场景...我的主页链接是

local/proj/admin-home

当我浏览另一个链接时

local/proj/registration/organization-registry

但是在那个页面上,当我将鼠标悬停在另一个链接中时,链接给了我

local/proj/registration/list

但是这个链接必须是

local/proj/list

所以我注意到,当我浏览到链接 local/proj/registration/organization-registry 时,该页面中的所有链接也以 local/proj/registration/ 开头,但它必须是 /local/proj/...

这是我的 xml 文件

<servlet>
<servlet-name>admin-home</servlet-name>
<servlet-class>web.HomeServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>admin-home</servlet-name>
<url-pattern>/admin-home</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>list</servlet-name>
<servlet-class>ViewRegisteredServlet.RegisteredOrganizationServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>list</servlet-name>
<url-pattern>/list</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>organization-registry</servlet-name>
<servlet-class>web_registration.OrganizationServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>organization-registry</servlet-name>
<url-pattern>/registration/organization-registry</url-pattern>
</servlet-mapping>
4

1 回答 1

2

您显然使用的是相对链接。相对链接是不以方案开头的链接(例如http://),也不是以正斜杠开头的链接,/它会将您带到域根目录。

<a href="list">list</a>

这样的链接是相对于当前 URL 的(正如您在浏览器的地址栏中看到的那样)。所以它基本上指向同一个文件夹中的资源。

您实际上需要向上一个文件夹:

<a href="../list">list</a>

或者,更好的是,使其与域相关,这样您在移动资源时就不需要弄乱链接。

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

这一切都与您的 servlet 映射无关。这只是一个基本的 Web 开发概念。

也可以看看:

于 2013-02-03T01:13:50.967 回答